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 PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 18 Jan 2008 23:56:14 -0800 From: Yinghai Lu <Yinghai.Lu@....COM> To: Ingo Molnar <mingo@...e.hu> Cc: Dave Jones <davej@...hat.com>, venkatesh.pallipadi@...el.com, LKML <linux-kernel@...r.kernel.org> Subject: [PATCH] X86: disable X86_PAT really [PATCH] X86: disable X86_PAT really when X86_PAT is not selected, we don't need to do anything in reserve_mattr and free_mattr also need to bail out if cpu not support PAT. Signed-off-by: Yinghai Lu <yinghai.lu@....com> diff --git a/arch/x86/mm/pat.c b/arch/x86/mm/pat.c index 1036134..b3cdee1 100644 --- a/arch/x86/mm/pat.c +++ b/arch/x86/mm/pat.c @@ -57,12 +57,9 @@ static int pat_known_cpu(void) void pat_init(void) { +#ifdef CONFIG_X86_PAT u64 pat; -#ifndef CONFIG_X86_PAT - nopat(NULL); -#endif - if (!smp_processor_id() && !pat_known_cpu()) return; @@ -90,6 +87,7 @@ void pat_init(void) wrmsrl(MSR_IA32_CR_PAT, pat); printk(KERN_INFO "x86 PAT enabled: cpu %d, old 0x%Lx, new 0x%Lx\n", smp_processor_id(), boot_pat_state, pat); +#endif } #undef PAT @@ -135,9 +133,13 @@ static DEFINE_SPINLOCK(mattr_lock); /* protects memattr list */ int reserve_mattr(u64 start, u64 end, unsigned long attr, unsigned long *fattr) { +#ifdef CONFIG_X86_PAT struct memattr *ma = NULL, *ml; int err = 0; + if (!pat_wc_enabled) + return 0; + if (fattr) *fattr = attr; @@ -191,13 +193,20 @@ int reserve_mattr(u64 start, u64 end, unsigned long attr, unsigned long *fattr) spin_unlock(&mattr_lock); return err; +#else + return 0; +#endif } int free_mattr(u64 start, u64 end, unsigned long attr) { +#ifdef CONFIG_X86_PAT struct memattr *ml; int err = attr ? -EBUSY : 0; + if (!pat_wc_enabled) + return 0; + if (is_memory_any_valid(start, end)) return 0; @@ -221,6 +230,9 @@ int free_mattr(u64 start, u64 end, unsigned long attr) current->comm, current->pid, start, end, cattr_name(attr)); return err; +#else + return 0; +#endif } /* /dev/mem interface. Use the previous mapping */ -- 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