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]
Message-ID: <alpine.LFD.2.01.0906081128410.6847@localhost.localdomain>
Date:	Mon, 8 Jun 2009 11:35:12 -0700 (PDT)
From:	Linus Torvalds <torvalds@...ux-foundation.org>
To:	Harald Welte <HaraldWelte@...tech.com>
cc:	"Michael S. Zick" <lkml@...ethan.org>,
	Duane Griffin <duaneg@...da.com>,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
	Dave Jones <davej@...hat.com>
Subject: Re: [PATCH 1/2] CPUFREQ: Enable acpi-cpufreq driver for VIA/Centaur
 CPUs



On Mon, 8 Jun 2009, Harald Welte wrote:
>
> The VIA/Centaur C7, C7-M and Nano CPU's all support ACPI based cpu p-states
> using a MSR interface.  The Linux driver just never made use of it, since in
> addition to the check for the EST flag it also checked if the vendor is Intel.
> 
> Signed-off-by: Harald Welte <HaraldWelte@...tech.com>
> ---
>  arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c b/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c
> index 208ecf6..ee03585 100644
> --- a/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c
> +++ b/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c
> @@ -90,7 +90,8 @@ static int check_est_cpu(unsigned int cpuid)
>  {
>  	struct cpuinfo_x86 *cpu = &cpu_data(cpuid);
>  
> -	if (cpu->x86_vendor != X86_VENDOR_INTEL ||
> +	if ((cpu->x86_vendor != X86_VENDOR_INTEL &&
> +	     cpu->x86_vendor != X86_VENDOR_CENTAUR) ||
>  	    !cpu_has(cpu, X86_FEATURE_EST))

Hmm. This all really should be just

	static int check_est_cpu(unsigned int cpuid)
	{
		struct cpuinfo_x86 *cpu = &cpu_data(cpuid);
		return cpu_has(cpu, X86_FEATURE_EST);
	}

I suspect, with no vendor tests. That's the whole _point_ of CPU features, 
after all.

If some vendor claims EST but doesn't actually support the EST interfaces, 
we should just have fixups to clear the bit in the per-vendor cpuinfo 
code, not in some random driver.

The only thing that makes me nervous about this is how close to 2.6.30 we 
are. I'd be happier if this was resolved by doing this as a patch 
post-2.6.30, and then adding 'stable@...nel.org' as a Cc: tag, and 
backporting it to 2.6.30.1 if no problems appear. 

It's not like this is a regression, I think.

Does that sound like a reasonable plan?

		Linus
--
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