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]
Message-Id: <200901301210.48352.rusty@rustcorp.com.au>
Date:	Fri, 30 Jan 2009 12:10:47 +1030
From:	Rusty Russell <rusty@...tcorp.com.au>
To:	Yinghai Lu <yinghai@...nel.org>
Cc:	Ingo Molnar <mingo@...e.hu>, Thomas Gleixner <tglx@...utronix.de>,
	"H. Peter Anvin" <hpa@...or.com>,
	Andrew Morton <akpm@...ux-foundation.org>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	"Dave Jones" <davej@...hat.com>,
	"Langsdorf, Mark" <mark.langsdorf@....com>,
	Mike Travis <travis@....com>
Subject: Re: [PATCH] x86/powernow: fix cpus_allowed brokage when acpi=off

On Thursday 29 January 2009 15:26:28 Yinghai Lu wrote:
> 
> Impact: fix current->cpus_allowed overwriting.
...
> caused by
> | commit 2fdf66b491ac706657946442789ec644cc317e1a
> | Author: Rusty Russell <rusty@...tcorp.com.au>
> | Date:   Wed Dec 31 18:08:47 2008 -0800
> |
> |    cpumask: convert shared_cpu_map in acpi_processor* structs to cpumask_var_t

Hi Yinghai!

   Indeed; Mike, that contained a bad conversion of 
arch/x86/kernel/cpu/cpufreq/powernow-k8.c.

   This patch reverts the bad change (this code should still be converted
to work_on_cpu of course, but that's a bigger change).

   Yinghai, as far as I can tell your other fixes are independent (and
were a problem before this commit, yes?).  Can you re-submit them on top
of this patch (which is for Ingo, but against latest Linus).

Subject: cpumask: fix powernow-k8: partial revert of 2fdf66b491ac706657946442789ec644cc317e1a

Impact: fix powernow-k8 when acpi=off (or other error).

There was a spurious change introduced into powernow-k8 in this patch:
the cause if that we try to "restore" the cpus_allowed we never saved.

See lkml "[PATCH] x86/powernow: fix cpus_allowed brokage when
acpi=off" from Yinghai for the bug report.

Cc: Mike Travis <travis@....com>
Cc: Yinghai Lu <yinghai@...nel.org>
Signed-off-by: Rusty Russell <rusty@...tcorp.com.au>

diff --git a/arch/x86/kernel/cpu/cpufreq/powernow-k8.c b/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
--- a/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
+++ b/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
@@ -1142,8 +1142,7 @@ static int __cpuinit powernowk8_cpu_init
 	data->cpu = pol->cpu;
 	data->currpstate = HW_PSTATE_INVALID;
 
-	rc = powernow_k8_cpu_init_acpi(data);
-	if (rc) {
+	if (powernow_k8_cpu_init_acpi(data)) {
 		/*
 		 * Use the PSB BIOS structure. This is only availabe on
 		 * an UP version, and is deprecated by AMD.
@@ -1161,17 +1160,20 @@ static int __cpuinit powernowk8_cpu_init
 			       "ACPI maintainers and complain to your BIOS "
 			       "vendor.\n");
 #endif
-			goto err_out;
+			kfree(data);
+			return -ENODEV;
 		}
 		if (pol->cpu != 0) {
 			printk(KERN_ERR FW_BUG PFX "No ACPI _PSS objects for "
 			       "CPU other than CPU0. Complain to your BIOS "
 			       "vendor.\n");
-			goto err_out;
+			kfree(data);
+			return -ENODEV;
 		}
 		rc = find_psb_table(data);
 		if (rc) {
-			goto err_out;
+			kfree(data);
+			return -ENODEV;
 		}
 	}
 
--
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