From: Shuah Khan <shuah.kh@samsung.com>
To: "Rafael J. Wysocki" <rjw@rjwysocki.net>,
anton@enomsg.org, dwmw2@infradead.org
Cc: len.brown@intel.com, pavel@ucw.cz, gregkh@linuxfoundation.org,
linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org,
shuahkhan@gmail.com, stable@vger.kernel.org,
Shuah Khan <shuah.kh@samsung.com>
Subject: Re: [PATCH] power: Change device_wakeup_enable() to check for null dev_name(dev)
Date: Mon, 18 Nov 2013 10:45:23 -0700 [thread overview]
Message-ID: <528A5233.4040306@samsung.com> (raw)
In-Reply-To: <3366600.jMpqPVojcG@vostro.rjw.lan>
On 11/15/2013 05:32 PM, Rafael J. Wysocki wrote:
> On Friday, November 15, 2013 05:16:31 PM Shuah Khan wrote:
>> On 11/15/2013 05:21 PM, Rafael J. Wysocki wrote:
>>> On Friday, November 15, 2013 05:03:57 PM Shuah Khan wrote:
>>>> device_wakeup_enable() uses dev_name(dev) as the wakeup source name.
>>>> When it gets called with a device with its name not yet set, ws structure
>>>> with ws->name = NULL gets created.
>>>>
>>>> When kernel is booted with wakeup_source_activate enabled, it will panic
>>>> when the trace point code tries to derefernces ws->name.
>>>>
>>>> Change device_wakeup_enable() to check for dev_name(dev) null condition
>>>> and return -EINVAL to avoid panics when device_wakeup_enable() gets called
>>>> before device is fully initialized with its name.
>> return -EINVAL;
>>>
>>> Can you please use WARN_ON(!dev_name(dev)) here? While I agree that it is a
>>> bad idea to crash the kernel because dev has no name, that indicates a driver
>>> bug that shouldn't be too easy to ignore.
>>>
>>> Thanks!
>>>
>>
>> Right. ok I will re-cut the patch with WARN_ON and send it. fyi I did
>> send fix for the driver (power_supply) as well.
>>
>> http://www.kernelhub.org/?msg=362354&p=2
>
> That's OK (thanks for taking care of this), but there may be more brilliant
> stuff like that in the future and people should see right away that something's
> wrong in those cases.
>
Rafael/Anton/David,
I added WARN_ON and testing the patch. We have two instance of
device_wakeup_enable() calls with null dev_name during boot. Both are
from power_supply_register(). One when AC Adapter [ADP1] is added and
the second when device: 'BAT1' gets added.
[ 4.412959] device_wakeup_enable() called with null device nme
[ 4.412967] device: 'ADP1': device_add
[ 4.460190] device_wakeup_enable() called with null device nme
[ 4.460197] device: 'BAT1': device_add
I think adding WARN_ON to device_wakeup_enable() and fix to
power_supply_register() should go in as a dependent patch series, to
avoid panics during boot. As soon as the device_wakeup_enable() WARN_ON
goes in, I suspect most laptops will panic during boot, similar to what
I am seeing in my testing. Thoughts?
I will send these fixes, maybe these two can be funneled through PM tree
with power_supply maintainers ACK for the power_supply_register() fix.
thanks,
-- Shuah
--
Shuah Khan
Senior Linux Kernel Developer - Open Source Group
Samsung Research America(Silicon Valley)
shuah.kh@samsung.com | (970) 672-0658
prev parent reply other threads:[~2013-11-18 17:45 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-16 0:03 [PATCH] power: Change device_wakeup_enable() to check for null dev_name(dev) Shuah Khan
2013-11-16 0:21 ` Rafael J. Wysocki
2013-11-16 0:16 ` Shuah Khan
2013-11-16 0:25 ` Greg KH
2013-11-16 15:28 ` Shuah Khan
2013-11-16 0:32 ` Rafael J. Wysocki
2013-11-18 17:45 ` Shuah Khan [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=528A5233.4040306@samsung.com \
--to=shuah.kh@samsung.com \
--cc=anton@enomsg.org \
--cc=dwmw2@infradead.org \
--cc=gregkh@linuxfoundation.org \
--cc=len.brown@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=pavel@ucw.cz \
--cc=rjw@rjwysocki.net \
--cc=shuahkhan@gmail.com \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.