lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 25 Nov 2016 16:55:00 +0100
From:   "Rafael J. Wysocki" <rafael@...nel.org>
To:     Viresh Kumar <viresh.kumar@...aro.org>
Cc:     Rafael Wysocki <rjw@...ysocki.net>, jy0922.shim@...sung.com,
        Viresh Kumar <vireshk@...nel.org>, Nishanth Menon <nm@...com>,
        Stephen Boyd <sboyd@...eaurora.org>,
        Lists linaro-kernel <linaro-kernel@...ts.linaro.org>,
        Linux PM <linux-pm@...r.kernel.org>,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        Stable <stable@...r.kernel.org>
Subject: Re: [PATCH] PM / OPP: Allow inactive opp_device to be present in dev list

On Fri, Nov 25, 2016 at 7:55 AM, Viresh Kumar <viresh.kumar@...aro.org> wrote:
> On 25-11-16, 12:23, Viresh Kumar wrote:
>> Joonyoung Shim reported an interesting problem on his ARM octa-core
>> Odoroid-XU3 platform. During system suspend, dev_pm_opp_put_regulator()
>> was failing for a struct device for which dev_pm_opp_set_regulator() is
>> called earlier.
>>
>> This happened because an earlier call to
>> dev_pm_opp_of_cpumask_remove_table() function (from cpufreq-dt.c file)
>> removed all the entries from opp_table->dev_list apart from the last CPU
>> device in the cpumask of CPUs sharing the OPP.
>>
>> But both dev_pm_opp_set_regulator() and dev_pm_opp_put_regulator()
>> routines get CPU device for the first CPU in the cpumask. And so the OPP
>> core failed to find the OPP table for the struct device.
>>
>> This patch attempts to fix this problem by adding another field in the
>> struct opp_device: inactive.
>>
>> Instead of removing the entries from the list during
>> dev_pm_opp_of_cpumask_remove_table() function call, we mark them as
>> inactive. Such inactive devices will not be used by the core in most of
>> the cases, like before, but will be used only at special places which
>> need to take inactive devices into account.
>>
>> All the devices are removed from the list together now and that happens
>> only when the opp_table gets destroyed.
>>
>> This patch is tested on Dual A15, Exynos5250 platform by compiling the
>> cpufreq-dt driver as a module. The module is inserted/removed multiple
>> times with combinations of CPU offline/online steps.
>>
>> Signed-off-by: Viresh Kumar <viresh.kumar@...aro.org>
>
> @Rafael: Can you please add following while applying the patch ?
>
> Cc: <stable@...r.kernel.org> # v4.4+

Yes, I can, but I need an ACK for this from Stephen too.

Thanks,
Rafael

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ