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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Sat, 6 Jan 2007 17:59:06 +0100
From:	Mattia Dongili <malattia@...ux.it>
To:	Valdis.Kletnieks@...edu
Cc:	Andrew Morton <akpm@...l.org>,
	Venkatesh Pallipadi <venkatesh.pallipadi@...el.com>,
	linux-kernel@...r.kernel.org
Subject: Re: 2.6.20-rc3-mm1 - rewrite-lock-in-cpufreq-to-eliminate-cpufreq-hotplug-related-issues.patch

On Sat, Jan 06, 2007 at 08:44:51AM -0500, Valdis.Kletnieks@...edu wrote:
> On Thu, 04 Jan 2007 22:02:00 PST, Andrew Morton said:
> > 	ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.20-rc3/2.6.20-rc3-mm1/
> 
> One of these 3 patches:
> 
> rewrite-lock-in-cpufreq-to-eliminate-cpufreq-hotplug-related-issues.patch
> rewrite-lock-in-cpufreq-to-eliminate-cpufreq-hotplug-related-issues-fix.patch
> ondemand-governor-restructure-the-work-callback.patch
> 
> causes an oops in kref_put during early boot ("unable to handle paging
> request at 00078"). 
> 
> Dell Latitude D820 laptop, Core2 T7200 with a 64-bit kernel.
> 
> Hand-copied trace of the oops:
> 
> kobject_put+0x19/0x1b
> cpufreq_cpu_put+0xd/0x1e
> cpufreq_get+0x45/0x51
> handle_cpufreq_delayed_get+0x1e/0x41
> run_workqueue+0x9c/0x14e
> worker_thread+0x0/0x145
> worker_thread+0x10e/0x145
> default_wake_function+0x0/0xf
> worker_thread+0x0/0x145
> kthread+0x8/0x10b
> schedule_tail+0x38/0xa1
> child_rip+0xa/0x12
> kthread+0x0/0x10b
> child_rip+0x0/0x12

Does the following help?

Signed-off-by: Mattia Dongili <malattia@...ux.it>
---
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
index a7b17ab..1112f31 100644
--- a/drivers/cpufreq/cpufreq.c
+++ b/drivers/cpufreq/cpufreq.c
@@ -1113,14 +1113,15 @@ unsigned int cpufreq_get(unsigned int cpu)
 		goto out;
 
 	if (unlikely(lock_policy_rwsem_read(cpu)))
-		goto out;
+		goto out_policy;
 
 	ret_freq = __cpufreq_get(cpu);
 
 	unlock_policy_rwsem_read(cpu);
 
-out:
+out_policy:
 	cpufreq_cpu_put(policy);
+out:
 	return (ret_freq);
 }
 EXPORT_SYMBOL(cpufreq_get);
-- 
mattia
:wq!
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ