From: Viresh Kumar <viresh.kumar@linaro.org>
To: Juri Lelli <juri.lelli@arm.com>
Cc: Rafael Wysocki <rjw@rjwysocki.net>,
linaro-kernel@lists.linaro.org, linux-pm@vger.kernel.org,
"# v4 . 2+" <stable@vger.kernel.org>,
open list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] cpufreq: Fix NULL reference crash while accessing policy->governor_data
Date: Wed, 27 Jan 2016 08:40:03 +0530 [thread overview]
Message-ID: <20160127031003.GH3322@vireshk> (raw)
In-Reply-To: <20160126095751.GJ10898@e106622-lin>
On 26-01-16, 09:57, Juri Lelli wrote:
> This patch fixes the crash I was seeing.
>
> Tested-by: Juri Lelli <juri.lelli@arm.com>
Thanks.
> However, it exposes another problem (running the concurrent lockdep test
It exposes? How can this patch expose the below crash. AFAIR, you
reported that you are getting below crash on plain mainline on TC2,
i.e. for drivers with policy-per-governor set.
The reason is obvious, as the governor's sysfs directory is present
cpus/cpuX/cpufreq/ instead of cpus/cpufreq/, which used to be the case
without the flag. And this forces the show()/store() present in
cpufreq.c to be called which also take policy->rwsem.
> that you merged in your tests). After the test is finished there is
> always at least one task spinning. Do you think it might be related to
> the race we are already discussing in the thread related to my cleanups
> patches? This is what I see:
So this is what you reported earlier, right?
> [ 38.843648] other info that might help us debug this:
> [ 38.843648]
> [ 38.867627] Chain exists of:
> s_active#41 --> &policy->rwsem --> od_dbs_cdata.mutex
>
> [ 38.891693] Possible unsafe locking scenario:
> [ 38.891693]
Will elaborate it a bit here..
- CPU0 is calling governor's EXIT()
- CPU1 is reading a governor file from sysfs
> [ 38.909419] CPU0 CPU1
> [ 38.922978] ---- ----
Following needs to be added here..
EXIT-governor read/write governor file
lock(s_active#41);
> [ 38.936535] lock(od_dbs_cdata.mutex);
> [ 38.948146] lock(&policy->rwsem);
> [ 38.966168] lock(od_dbs_cdata.mutex);
> [ 38.985219] lock(s_active#41);
> [ 38.994923]
> [ 38.994923] *** DEADLOCK ***
> Now, you already pointed me at a possible fix. I'm going to test that
> (even if I have questions about that patch :)) and see if it makes this
> go away.
@Rafael: Juri is talking about this patch:
http://www.linux-arm.org/git?p=linux-jl.git;a=commit;h=d3eb02ed23732de2c8671377316a190c38b8fe93
Juri, I thought it will fix it earlier (when I wrote it), but it never
did on x86 (while I dropped the rwsem-drop-code around EXIT as well).
And I never came back to it and so never sent it upstream.
--
viresh
next prev parent reply other threads:[~2016-01-27 3:10 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-25 17:03 [PATCH] cpufreq: Fix NULL reference crash while accessing policy->governor_data Viresh Kumar
2016-01-26 9:57 ` Juri Lelli
2016-01-26 18:01 ` Juri Lelli
2016-01-26 22:49 ` Rafael J. Wysocki
2016-01-27 10:22 ` Juri Lelli
2016-01-27 3:12 ` Viresh Kumar
2016-01-27 3:10 ` Viresh Kumar [this message]
2016-01-27 10:18 ` Juri Lelli
2016-01-27 22:54 ` Rafael J. Wysocki
2016-01-28 2:15 ` Viresh Kumar
2016-01-28 10:44 ` Juri Lelli
2016-01-29 3:33 ` Rafael J. Wysocki
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=20160127031003.GH3322@vireshk \
--to=viresh.kumar@linaro.org \
--cc=juri.lelli@arm.com \
--cc=linaro-kernel@lists.linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=rjw@rjwysocki.net \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).