Hi,
it appears that there is exists a field io_bitmap_owner in the TSS that is
only checked, but never set to anything else but NULL.
The below patch corrects this.
Signed-off-by: Bart Oldeman <[email protected]>
--- arch/i386/kernel/traps.c.org 2005-09-17 17:20:19.000000000 +1200
+++ arch/i386/kernel/traps.c 2005-09-17 22:33:00.000000000 +1200
@@ -489,6 +489,7 @@ fastcall void __kprobes do_general_prote
tss->io_bitmap_max - thread->io_bitmap_max);
tss->io_bitmap_max = thread->io_bitmap_max;
tss->io_bitmap_base = IO_BITMAP_OFFSET;
+ tss->io_bitmap_owner = thread;
put_cpu();
return;
}