From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Google-Smtp-Source: AH8x224ckjrp/K66WSyidfp7Bn7quBuZepxJ+ukTgikcH4QWyxilKOydN4bnraFUtdI+6uacXqEr ARC-Seal: i=1; a=rsa-sha256; t=1516811087; cv=none; d=google.com; s=arc-20160816; b=UPoGHhJM6UWqdSW2wC5Q43HP2NuyrbZ/nIIf/TlOfpIk+767luI30qeacSl83pThWz VPVyALgLIbEDLMoRGDMVYmS/LSY+bj5oLBVqIp5hwnwSIOdnGi5kx8JkksWQK0tZ2AwS B2IK63/3SxIY+YprqI+WByZZFfLVDvuit14k1EaXNxUFi1tUs2q44Pdy8a0quuOTCRhD chS6xCNYPAhfOnHEUJHK8iUajXcZxshGkyrJSns9bLUKGKrZbyAgsXWoNSm++DBiXVlS E15XWMHpa5VvuHUgyzA+DOxdNpJkF9zFm/48lgExwMCXuhxfJfWRVmOhA429nARpYEbp jA3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:content-language:in-reply-to:mime-version :user-agent:date:message-id:from:references:cc:to:subject :dkim-signature:arc-authentication-results; bh=XWb5Ib+vW6saHxZBoql/CIGKueDMMQfKgwZ3ZhIZcU8=; b=q2vPdH/KLQ/bIjMFnUC1eAEEHLLi12z9aTFTXB5GBO8bwnJWwl035gs58TC6w4VtxK R/K7lHAqQpb4aEIOHbL1JvSeheX16xfHNH+BebK/4gS18kKboz7xSt5aLJhHjBobL9PP nJLxtyEkAFlOmDFU1Et8mz58YXh4tSUiKuxZFj58ibZSGIpqdT4F/xyfQEaZBARhDzVI LriNIO0OWHfwCsIq7Irrv7o1mtRG7Fp7q1k5k07gZLCWkz5w4qNsuvCifMzcHj+4T+Ep 7oQhqRWwFr6CuHEnn3e0WlcsL9tyMPkR/MLcGkeTGv38Jyqxw4owA1KO2WVYBOQ+wqiO cEsQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@lechnology.com header.s=default header.b=ugPjfnRb; spf=pass (google.com: domain of david@lechnology.com designates 206.190.152.46 as permitted sender) smtp.mailfrom=david@lechnology.com Authentication-Results: mx.google.com; dkim=pass header.i=@lechnology.com header.s=default header.b=ugPjfnRb; spf=pass (google.com: domain of david@lechnology.com designates 206.190.152.46 as permitted sender) smtp.mailfrom=david@lechnology.com Subject: Re: [PATCH 1/2] regmap: fix NULL pointer dereference in regmap_name_read_file() To: Lars-Peter Clausen , linux-kernel@vger.kernel.org Cc: Mark Brown , Greg Kroah-Hartman References: <1516748023-17235-1-git-send-email-david@lechnology.com> <1516748023-17235-2-git-send-email-david@lechnology.com> From: David Lechner Message-ID: <65bf4e98-21c3-0d52-f25b-2ad78b4d0d06@lechnology.com> Date: Wed, 24 Jan 2018 10:24:46 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - vern.gendns.com X-AntiAbuse: Original Domain - linuxfoundation.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lechnology.com X-Get-Message-Sender-Via: vern.gendns.com: authenticated_id: davidmain+lechnology.com/only user confirmed/virtual account not confirmed X-Authenticated-Sender: vern.gendns.com: davidmain@lechnology.com X-Source: X-Source-Args: X-Source-Dir: X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1590425592886901979?= X-GMAIL-MSGID: =?utf-8?q?1590491702897442570?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: On 01/24/2018 10:14 AM, Lars-Peter Clausen wrote: > On 01/23/2018 11:53 PM, David Lechner wrote: >> This fixes a possible NULL pointer dereference oops in >> regmap_name_read_file() when the regmap does not have a device >> associated with it. >> >> Signed-off-by: David Lechner >> --- >> drivers/base/regmap/regmap-debugfs.c | 6 +++++- >> 1 file changed, 5 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/base/regmap/regmap-debugfs.c b/drivers/base/regmap/regmap-debugfs.c >> index 36ce351..0df7379 100644 >> --- a/drivers/base/regmap/regmap-debugfs.c >> +++ b/drivers/base/regmap/regmap-debugfs.c >> @@ -40,6 +40,7 @@ static ssize_t regmap_name_read_file(struct file *file, >> loff_t *ppos) >> { >> struct regmap *map = file->private_data; >> + const char *name = NULL; >> int ret; >> char *buf; >> >> @@ -47,7 +48,10 @@ static ssize_t regmap_name_read_file(struct file *file, >> if (!buf) >> return -ENOMEM; >> >> - ret = snprintf(buf, PAGE_SIZE, "%s\n", map->dev->driver->name); >> + if (map->dev && map->dev->driver) >> + name = map->dev->driver->name; >> + >> + ret = snprintf(buf, PAGE_SIZE, "%s\n", name); > > Won't this print "(null)" now? Not sure if that is the best approach. > The commit adding regmap_name_read_file() just says: regmap: Expose the driver name in debugfs Add a file called 'name' containing the name of the driver. So, if a regmap doesn't have a driver, then "(null)" seems OK to me. This is just for debugging anyway.