--- linux/arch/i386/kernel/process.c 2004-04-14 09:41:14.000000000 +0400 +++ linux/arch/i386/kernel/process.c 2004-05-07 14:54:13.000000000 +0400 @@ -292,8 +292,12 @@ /* The process may have allocated an io port bitmap... nuke it. */ if (unlikely(NULL != tsk->thread.io_bitmap_ptr)) { + int cpu = get_cpu(); + struct tss_struct *tss = init_tss + cpu; kfree(tsk->thread.io_bitmap_ptr); tsk->thread.io_bitmap_ptr = NULL; + tss->io_bitmap_base = INVALID_IO_BITMAP_OFFSET; + put_cpu(); } }