From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Google-Smtp-Source: ACJfBoutAk2tn2AGK05YXUe4uajdBOluUpJ7piQDHppaeHoGmlFDbhj2DwrNncEL7MQ9KJ/c9qNC ARC-Seal: i=1; a=rsa-sha256; t=1516375800; cv=none; d=google.com; s=arc-20160816; b=FkK/gxtk9bUktw4tYMCGB6Cpz0AfVRc2noCmT82qj2VYSQFaOapkoDwLsHrBkwRw1X 0KXE6MBaXV8WRbGKudPD9WcF86np8XstmiOPoiCBgS0bJUj/c+4vBQcFGGVX1W5iOfV9 cbeND0tAJtfAVQhHwdKpUSaOXp+9+93JGVn1r6xN61KCjT2G77Z4fSgy+HWGVRb1r30U FzLqyEQlMupjyyh7T3tCZ4WMX5+cTU89cNVACpmrIQ6sjine0X0LFT2VUStFLI02GB7G UHZsOfPcWdRbkUgqX2HZ6XoV50BC2STQGs/Y3fUbkVjl27geExXPadWtCRuT6CwJXABD ClVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=TdhbR2f7S7SezOxwtHJS1bqd2WYFPV8H5deaANSkiXI=; b=NWmfJESfXNrmKNoOpywKRjon7taCgv+dzI00bUg9SDKraJz4dPMDXGgpY4shkjiS1N nNyzqeDsIGC35zuN0PKCntEwUEedXHRZzwYh1nTXx9pmQxdcjXQUYgC/qYILojG+tTG6 6kwonK8cqh/XINwDqGxrLSwXHtMe5kg09GX0kVSPGZGjmRxpECiIQ/kyBwz76KJ8IBvb rqo+/VxT+rgU/XBGyScYi5zqjNWin1qYVQxV8ktRYTT+U7KrS8nBIW19ZSJ+eM2kcNmz igcWbeEHM4fgdkkWOL+XshUKfW64knrp+8sy2Sd6/N+jlfaULKFe/KLVd2YRBWc9MhEc Df5g== ARC-Authentication-Results: i=1; mx.google.com; spf=neutral (google.com: 2a02:1800:110:4::f00:19 is neither permitted nor denied by best guess record for domain of geert@linux-m68k.org) smtp.mailfrom=geert@linux-m68k.org Authentication-Results: mx.google.com; spf=neutral (google.com: 2a02:1800:110:4::f00:19 is neither permitted nor denied by best guess record for domain of geert@linux-m68k.org) smtp.mailfrom=geert@linux-m68k.org From: Geert Uytterhoeven To: Russell King Cc: Antonios Motakis , Adrian Salido , Sasha Levin , Greg Kroah-Hartman , linux-kernel@vger.kernel.org, Geert Uytterhoeven Subject: [PATCH 3/4] ARM: amba: Don't read past the end of sysfs "driver_override" buffer Date: Fri, 19 Jan 2018 16:24:09 +0100 Message-Id: <1516375450-30575-4-git-send-email-geert+renesas@glider.be> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1516375450-30575-1-git-send-email-geert+renesas@glider.be> References: <1516375450-30575-1-git-send-email-geert+renesas@glider.be> X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1590035272246232272?= X-GMAIL-MSGID: =?utf-8?q?1590035272246232272?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: When printing the driver_override parameter when it is 4095 and 4094 bytes long, the printing code would access invalid memory because we need count + 1 bytes for printing. Cfr. commits 4efe874aace57dba ("PCI: Don't read past the end of sysfs "driver_override" buffer") and bf563b01c2895a4b ("driver core: platform: Don't read past the end of "driver_override" buffer"). Fixes: 3cf385713460eb2b ("ARM: 8256/1: driver coamba: add device binding path 'driver_override'") Signed-off-by: Geert Uytterhoeven --- drivers/amba/bus.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/amba/bus.c b/drivers/amba/bus.c index 36c5653ced5742b7..4a3ac31c07d0ee49 100644 --- a/drivers/amba/bus.c +++ b/drivers/amba/bus.c @@ -84,7 +84,8 @@ static ssize_t driver_override_store(struct device *_dev, struct amba_device *dev = to_amba_device(_dev); char *driver_override, *old, *cp; - if (count > PATH_MAX) + /* We need to keep extra room for a newline */ + if (count >= (PAGE_SIZE - 1)) return -EINVAL; driver_override = kstrndup(buf, count, GFP_KERNEL); -- 2.7.4