From cf79a124355bbf9c6a367ca03540d4854be055e0 Mon Sep 17 00:00:00 2001 From: Andrew Morton Date: Mon, 29 Dec 2003 05:50:16 -0800 Subject: [PATCH] [PATCH] Add more paranoid checking in x86-64 prefetch checker From: Andi Kleen Make sure we never access anything in kernel mapping while doing the prefetch workaround checks on x86-64. Originally suggested by Jamie Lockier. --- arch/x86_64/mm/fault.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/x86_64/mm/fault.c b/arch/x86_64/mm/fault.c index 48676d0e17b6f..ba3227b343607 100644 --- a/arch/x86_64/mm/fault.c +++ b/arch/x86_64/mm/fault.c @@ -73,6 +73,9 @@ static int is_prefetch(struct pt_regs *regs, unsigned long addr) if (regs->cs & (1<<2)) return 0; + if ((regs->cs & 3) != 0 && regs->rip >= TASK_SIZE) + return 0; + while (scan_more && instr < max_instr) { unsigned char opcode; unsigned char instr_hi; -- 2.53.0