Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'pm-7.0-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull power management fixes from Rafael Wysocki:
"These fix a potential NULL pointer dereference in the energy model
netlink interface and a potential double free in an error path in
the common cpufreq governor management code:

- Fix a NULL pointer dereference in the energy model netlink
interface that may occur if a given perf domain ID is not
recognized (Changwoo Min)

- Avoid double free in the cpufreq_dbs_governor_init() error
path when kobject_init_and_add() fails (Guangshuo Li)"

* tag 'pm-7.0-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
cpufreq: governor: fix double free in cpufreq_dbs_governor_init() error path
PM: EM: Fix NULL pointer dereference when perf domain ID is not found

+5 -3
+3 -3
drivers/cpufreq/cpufreq_governor.c
··· 468 468 /* Failure, so roll back. */ 469 469 pr_err("initialization failed (dbs_data kobject init error %d)\n", ret); 470 470 471 - kobject_put(&dbs_data->attr_set.kobj); 472 - 473 471 policy->governor_data = NULL; 474 472 475 473 if (!have_governor_per_policy()) 476 474 gov->gdbs_data = NULL; 477 - gov->exit(dbs_data); 475 + 476 + kobject_put(&dbs_data->attr_set.kobj); 477 + goto free_policy_dbs_info; 478 478 479 479 free_dbs_data: 480 480 kfree(dbs_data);
+2
kernel/power/em_netlink.c
··· 109 109 110 110 id = nla_get_u32(info->attrs[DEV_ENERGYMODEL_A_PERF_DOMAIN_PERF_DOMAIN_ID]); 111 111 pd = em_perf_domain_get_by_id(id); 112 + if (!pd) 113 + return -EINVAL; 112 114 113 115 __em_nl_get_pd_size(pd, &msg_sz); 114 116 msg = genlmsg_new(msg_sz, GFP_KERNEL);