Messages in this thread Patch in this message | | | From | Borislav Petkov <> | Subject | [PATCH 3/5] x86/MTRR: Remove wrong address check in __mtrr_type_lookup() | Date | Mon, 11 May 2015 10:15:52 +0200 |
| |
From: Toshi Kani <toshi.kani@hp.com>
__mtrr_type_lookup() checks MTRR fixed ranges when mtrr_state.have_fixed is set and start is less than 0x100000. However, the 'else if (start < 0x1000000)' in the code checks with a wrong address as it has an extra-zero in the address. The code still runs correctly as this check is meaningless, though.
This patch replaces the wrong address check with 'else' with no condition.
Signed-off-by: Toshi Kani <toshi.kani@hp.com> Cc: linux-mm <linux-mm@kvack.org> Cc: x86-ml <x86@kernel.org> Cc: dave.hansen@intel.com Cc: Elliott@hp.com Cc: pebolle@tiscali.nl Cc: Andrew Morton <akpm@linux-foundation.org> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: mingo@redhat.com Link: http://lkml.kernel.org/r/1427234921-19737-4-git-send-email-toshi.kani@hp.com Signed-off-by: Borislav Petkov <bp@suse.de> --- arch/x86/kernel/cpu/mtrr/generic.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/kernel/cpu/mtrr/generic.c b/arch/x86/kernel/cpu/mtrr/generic.c index 7d74f7b3c6ba..5b239679cfc9 100644 --- a/arch/x86/kernel/cpu/mtrr/generic.c +++ b/arch/x86/kernel/cpu/mtrr/generic.c @@ -137,7 +137,7 @@ static u8 __mtrr_type_lookup(u64 start, u64 end, u64 *partial_end, int *repeat) idx = 1 * 8; idx += ((start - 0x80000) >> 14); return mtrr_state.fixed_ranges[idx]; - } else if (start < 0x1000000) { + } else { idx = 3 * 8; idx += ((start - 0xC0000) >> 12); return mtrr_state.fixed_ranges[idx]; -- 2.3.5
| |