public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org,
	Christian 'Ansuel' Marangi <ansuelsmth@gmail.com>,
	MyungJoo Ham <myungjoo.ham@samsung.com>,
	Kyungmin Park <kyungmin.park@samsung.com>,
	Chanwoo Choi <cw00.choi@samsung.com>,
	Saravana Kannan <skannan@codeaurora.org>,
	Sibi Sankar <sibis@codeaurora.org>,
	linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: lkp@intel.com, kbuild-all@lists.01.org,
	Christian 'Ansuel' Marangi <ansuelsmth@gmail.com>
Subject: Re: [PATCH 1/5] PM / devfreq: Fix cpufreq passive unregister erroring on PROBE_DEFER
Date: Fri, 10 Jun 2022 09:41:43 +0300	[thread overview]
Message-ID: <202206101102.4JCYtCjM-lkp@intel.com> (raw)
In-Reply-To: <20220606111104.14534-2-ansuelsmth@gmail.com>

Hi Christian,

url:    https://github.com/intel-lab-lkp/linux/commits/Christian-Ansuel-Marangi/PM-devfreq-Various-Fixes-to-cpufreq-based-passive-governor/20220606-191335
base:   https://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux.git devfreq-testing
config: i386-randconfig-m021 (https://download.01.org/0day-ci/archive/20220610/202206101102.4JCYtCjM-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-1) 11.3.0

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
drivers/devfreq/governor_passive.c:235 cpufreq_passive_unregister_notifier() error: dereferencing freed memory 'parent_cpu_data'

vim +/parent_cpu_data +235 drivers/devfreq/governor_passive.c

a03dacb0316f74 Saravana Kannan            2021-03-02  221  static int cpufreq_passive_unregister_notifier(struct devfreq *devfreq)
a03dacb0316f74 Saravana Kannan            2021-03-02  222  {
a03dacb0316f74 Saravana Kannan            2021-03-02  223  	struct devfreq_passive_data *p_data
a03dacb0316f74 Saravana Kannan            2021-03-02  224  			= (struct devfreq_passive_data *)devfreq->data;
a03dacb0316f74 Saravana Kannan            2021-03-02  225  	struct devfreq_cpu_data *parent_cpu_data;
2d59e1f0c418bf Christian 'Ansuel' Marangi 2022-06-06  226  	int ret;
a03dacb0316f74 Saravana Kannan            2021-03-02  227  
a03dacb0316f74 Saravana Kannan            2021-03-02  228  	if (p_data->nb.notifier_call) {
a03dacb0316f74 Saravana Kannan            2021-03-02  229  		ret = cpufreq_unregister_notifier(&p_data->nb,
a03dacb0316f74 Saravana Kannan            2021-03-02  230  					CPUFREQ_TRANSITION_NOTIFIER);
a03dacb0316f74 Saravana Kannan            2021-03-02  231  		if (ret < 0)
a03dacb0316f74 Saravana Kannan            2021-03-02  232  			return ret;
a03dacb0316f74 Saravana Kannan            2021-03-02  233  	}
a03dacb0316f74 Saravana Kannan            2021-03-02  234  
2d59e1f0c418bf Christian 'Ansuel' Marangi 2022-06-06 @235  	list_for_each_entry(parent_cpu_data, &p_data->cpu_data_list, node) {

This needs to be list_for_each_entry_safe()

26984d9d581e50 Chanwoo Choi               2022-04-27  236  		list_del(&parent_cpu_data->node);

Otherwise it will only iterate one time

2d59e1f0c418bf Christian 'Ansuel' Marangi 2022-06-06  237  
a03dacb0316f74 Saravana Kannan            2021-03-02  238  		if (parent_cpu_data->opp_table)
a03dacb0316f74 Saravana Kannan            2021-03-02  239  			dev_pm_opp_put_opp_table(parent_cpu_data->opp_table);
2d59e1f0c418bf Christian 'Ansuel' Marangi 2022-06-06  240  
a03dacb0316f74 Saravana Kannan            2021-03-02  241  		kfree(parent_cpu_data);

And it will dereference a freed pointer

a03dacb0316f74 Saravana Kannan            2021-03-02  242  	}
a03dacb0316f74 Saravana Kannan            2021-03-02  243  
2d59e1f0c418bf Christian 'Ansuel' Marangi 2022-06-06  244  	return 0;
a03dacb0316f74 Saravana Kannan            2021-03-02  245  }

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp


  reply	other threads:[~2022-06-10  6:43 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-06 11:10 [PATCH 0/5] PM / devfreq: Various Fixes to cpufreq based passive governor Christian 'Ansuel' Marangi
2022-06-06 11:11 ` [PATCH 1/5] PM / devfreq: Fix cpufreq passive unregister erroring on PROBE_DEFER Christian 'Ansuel' Marangi
2022-06-10  6:41   ` Dan Carpenter [this message]
2022-06-06 11:11 ` [PATCH 2/5] PM / devfreq: Fix kernel warning with cpufreq passive register fail Christian 'Ansuel' Marangi
2022-06-06 11:11 ` [PATCH 3/5] PM / devfreq: Fix kernel panic with cpu based scaling to passive gov Christian 'Ansuel' Marangi
2022-06-06 11:11 ` [PATCH 4/5] PM / devfreq: Rework freq_table to be local to devfreq struct Christian 'Ansuel' Marangi
2022-06-06 11:11 ` [PATCH 5/5] PM / devfreq: Mute warning on governor PROBE_DEFER Christian 'Ansuel' Marangi

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=202206101102.4JCYtCjM-lkp@intel.com \
    --to=dan.carpenter@oracle.com \
    --cc=ansuelsmth@gmail.com \
    --cc=cw00.choi@samsung.com \
    --cc=kbuild-all@lists.01.org \
    --cc=kbuild@lists.01.org \
    --cc=kyungmin.park@samsung.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=lkp@intel.com \
    --cc=myungjoo.ham@samsung.com \
    --cc=sibis@codeaurora.org \
    --cc=skannan@codeaurora.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