Re: linux-next boot error: WARNING in corrupted

From: Dmitry Vyukov
Date: Fri Jul 05 2019 - 07:09:24 EST


On Fri, Jul 5, 2019 at 12:54 PM Viresh Kumar <viresh.kumar@xxxxxxxxxx> wrote:
>
> On 05-07-19, 16:11, Viresh Kumar wrote:
> > This fixes it for me (after faking the failure). @Rafael this needs to
> > be merged to the top commit:
> >
> > 0d4c2a013b32 cpufreq: Add QoS requests for userspace constraints
>
> @Rafael: I have sent V7 of this patch now after merging below diff
> (and improving it further). Thanks.

Please include:

Tested-by: syzbot+de771ae9390dffed7266@xxxxxxxxxxxxxxxxxxxxxxxxx

into the commit, or it will be messy to resolve this bug later.

> > diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
> > index 13c2f119cc0c..5eecd54195a9 100644
> > --- a/drivers/cpufreq/cpufreq.c
> > +++ b/drivers/cpufreq/cpufreq.c
> > @@ -1228,12 +1228,6 @@ static struct cpufreq_policy *cpufreq_policy_alloc(unsigned int cpu)
> > goto err_min_qos_notifier;
> > }
> >
> > - policy->min_freq_req = kzalloc(2 * sizeof(*policy->min_freq_req),
> > - GFP_KERNEL);
> > - if (!policy->min_freq_req)
> > - goto err_max_qos_notifier;
> > -
> > - policy->max_freq_req = policy->min_freq_req + 1;
> > INIT_LIST_HEAD(&policy->policy_list);
> > init_rwsem(&policy->rwsem);
> > spin_lock_init(&policy->transition_lock);
> > @@ -1244,9 +1238,6 @@ static struct cpufreq_policy *cpufreq_policy_alloc(unsigned int cpu)
> > policy->cpu = cpu;
> > return policy;
> >
> > -err_max_qos_notifier:
> > - dev_pm_qos_remove_notifier(dev, &policy->nb_max,
> > - DEV_PM_QOS_MAX_FREQUENCY);
> > err_min_qos_notifier:
> > dev_pm_qos_remove_notifier(dev, &policy->nb_min,
> > DEV_PM_QOS_MIN_FREQUENCY);
> > @@ -1370,6 +1361,13 @@ static int cpufreq_online(unsigned int cpu)
> > add_cpu_dev_symlink(policy, j);
> > }
> >
> > + policy->min_freq_req = kzalloc(2 * sizeof(*policy->min_freq_req),
> > + GFP_KERNEL);
> > + if (!policy->min_freq_req)
> > + goto out_destroy_policy;
> > +
> > + policy->max_freq_req = policy->min_freq_req + 1;
> > +
> > ret = dev_pm_qos_add_request(dev, policy->min_freq_req,
> > DEV_PM_QOS_MIN_FREQUENCY,
> > policy->min);
>
> --
> viresh
>
> --
> You received this message because you are subscribed to the Google Groups "syzkaller-bugs" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to syzkaller-bugs+unsubscribe@xxxxxxxxxxxxxxxxx
> To view this discussion on the web visit https://groups.google.com/d/msgid/syzkaller-bugs/20190705105442.kpvvyxakpa6mrxlu%40vireshk-i7.
> For more options, visit https://groups.google.com/d/optout.