lkml.org 
[lkml]   [2012]   [Feb]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
SubjectRe: [PATCH 0/5 v2] [GIT PULL] x86/jump label: Paranoid checks and 2 or 5 byte nops
From
Date
On Tue, 2012-01-31 at 20:48 +0100, Ingo Molnar wrote:

> Attached. (you need to run it through make oldconfig and use the
> defaults.)

Hmm, I'm not able to reproduce it.

Could you apply this patch and run it again. I'm interested in what was
at the location when it tried to do the conversion.

Thanks!

-- Steve

diff --git a/arch/x86/kernel/jump_label.c b/arch/x86/kernel/jump_label.c
index 6173ca6..da12264 100644
--- a/arch/x86/kernel/jump_label.c
+++ b/arch/x86/kernel/jump_label.c
@@ -58,13 +58,17 @@ static void __jump_label_transform(struct jump_entry *entry,
size = JUMP_LABEL_NOP_SIZE;
code.jump = 0xe9;
code.offset = entry->target - (entry->code + size);
- } else
+ } else {
+ unsigned char *ins = ip;
/*
* The location is not a nop that we were expecting,
* something went wrong. Crash the box, as something could be
* corrupting the kernel.
*/
+ printk("Unknown op at %pS (%02x:%02x:%02x:%02x:%02x)\n",
+ ip, ins[0], ins[1], ins[2], ins[3], ins[4]);
BUG();
+ }
} else {
/*
* We are disabling this jump label. If it is not what



\
 
 \ /
  Last update: 2012-02-01 06:11    [from the cache]
©2003-2011 Jasper Spaans