Re: [PATCH] PM / Domains: Ensure genpd name is set before creating debugfs entry

From: Ulf Hansson
Date: Sat Jul 29 2017 - 04:05:01 EST


On 28 July 2017 at 20:55, Dave Gerlach <d-gerlach@xxxxxx> wrote:
> Hi,
> On 07/28/2017 01:48 PM, Dave Gerlach wrote:
>> Commit b6a1d093f96b ("PM / Domains: Extend generic power domain
>> debugfs") extends the existing generic power domain debugfs to provide
>> more information about each genpd, however it creates a debugfs
>> directory for each based on the name of the genpd. While it is a good
>> idea to populate the name field of each genpd, up until this commit it
>> was not required. However, attempting to call debugfs_create_dir with a
>> null name value causes a NULL pointer dereference panic.
>>
>> In order to keep things working as they did before the aforementioned
>> patch, check to see if name has been populated and if not, skip creating
>> the extended debugfs info path and warn that name is needed to get this
>> extended info.
>>
>> Fixes: b6a1d093f96b ("PM / Domains: Extend generic power domain debugfs")
>> Signed-off-by: Dave Gerlach <d-gerlach@xxxxxx>
>> ---
>
> As changelog describes, commit b6a1d093f96b ("PM / Domains: Extend generic power
> domain debugfs") currently causes a NULL pointer dereference panic if no name is
> assigned for a struct generic_pm_domain registered with the framework. Before
> this patch no name was required, so this patch is a first attempt to keep things
> that way and just warn the user that they can't get extended debugfs info
> without providing a genpd name.
>
> Of course a name is always a good idea, so I'm not sure if this patch is how we
> want to go about preventing this panic or perhaps just making the name mandatory
> and checking during probe, but I figured I'd kick the discussion off with a
> suggestion by sending this patch.

Instead of making it mandatory, why not assign ->name a generic name
(genpd0, genpd1, genpd2, etc ) in case it isn't set.

In that way, all debugfs prints using ->name, should at least show
something... and the bug you report should also be fixed..

Kind regards
Uffe