From: Toshi Kani <toshi.k...@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.k...@hp.com>
Cc: linux-mm <linux...@kvack.org>
Cc: x86-ml <x...@kernel.org>
Cc: dave.han...@intel.com
Cc: elli...@hp.com
Cc: pebo...@tiscali.nl
Cc: Andrew Morton <a...@linux-foundation.org>
Cc: H. Peter Anvin <h...@zytor.com>
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: mi...@redhat.com
Link: 
http://lkml.kernel.org/r/1427234921-19737-4-git-send-email-toshi.k...@hp.com
Signed-off-by: Borislav Petkov <b...@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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to