Received: by 10.223.176.46 with SMTP id f43csp1146612wra; Fri, 19 Jan 2018 07:31:47 -0800 (PST) X-Google-Smtp-Source: ACJfBou0tnT2JDswwo+o9jbvT5w6/BcaZ3fqetElwc/9DUfTlp76DeRmqV85Q3PWJ1KvCUIsaFor X-Received: by 2002:a17:902:8691:: with SMTP id g17-v6mr1806125plo.446.1516375907308; Fri, 19 Jan 2018 07:31:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516375907; cv=none; d=google.com; s=arc-20160816; b=KG8LHO1Bo7aZEv5xSHyM8Q9rhtw90rU6Aif1E+O9+3ZDVYj5qdFiYyAMwVHOcODHjI cMCrRFcccJi0enpXYssE6t60PkDvv0xoB69gNItrMOluq84rophRwbssXfse2ucSnVf7 H5LyjCtlzprX2sb5QLE6/+hjaUNPYeEEkTNbeMlsJCxFoJ2s4dcHoxt1l+ZKZMF+8LTy 04M4LkfeFhl4wIFb8OoqswB8tVbQBW9n4k9Nyd9FDRjn1WLgbBlJiVzJ0EWUdtR4KPIa 98k1G6FA/wmpAcIxVwmRr7nIQWb8tKWK+usZaCzbYSVvxUsBGOn6XH/+zby2hTrik37y loUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=TdhbR2f7S7SezOxwtHJS1bqd2WYFPV8H5deaANSkiXI=; b=C0vxElho0Au+3gAOFH5Nh9U+GjIiAvEz1Kp5W1DPSA757SaEu6DKd0XIa/PbgX2MCx EJs4PVY4Ezu0OYUTdsmZsBmRjBwEktjaHK+eHLjne9ONP5zjJ8Nphf6l8Nmmj+bEFu/e 4aNZO9zfh3lBJDHIx6Wn+8uOyWfXM4bHMxEydxG7LRKtYWyXrDjRmJoFNny+5kZIpNEH H+QqEXtP0ZLoZFWLK3I6dh52olsGpRI3H5GZP/+aL0UD+HM/XIYt103PoMujRyNDhvEy bObhmTFbOZ5+VaAQegDvJMbKbA6KgNYkJmquEQW0enR5OlabTYCzIzZuwIJQnRzMjlXe sGAw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m16si8483117pgc.628.2018.01.19.07.31.33; Fri, 19 Jan 2018 07:31:47 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756120AbeASPaf (ORCPT + 99 others); Fri, 19 Jan 2018 10:30:35 -0500 Received: from laurent.telenet-ops.be ([195.130.137.89]:40660 "EHLO laurent.telenet-ops.be" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756051AbeASPaC (ORCPT ); Fri, 19 Jan 2018 10:30:02 -0500 Received: from ayla.of.borg ([84.195.106.246]) by laurent.telenet-ops.be with bizsmtp id 0FW01x00E5JzmfG01FW0P2; Fri, 19 Jan 2018 16:30:00 +0100 Received: from ramsan.of.borg ([192.168.97.29] helo=ramsan) by ayla.of.borg with esmtp (Exim 4.86_2) (envelope-from ) id 1ecYcB-0005Uj-V1; Fri, 19 Jan 2018 16:29:59 +0100 Received: from geert by ramsan with local (Exim 4.86_2) (envelope-from ) id 1ecYcB-00084z-QP; Fri, 19 Jan 2018 16:29:59 +0100 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> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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