mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-12 08:00:09 +00:00
[PATCH] reset tss->io_bitmap_owner in sys_ioperm()
my patch "x86: initialise tss->io_bitmap_owner to something" (commit ID d5cd4aadd3d220afac8e3e6d922e333592551f7d) introduced a problem with a program (DOSEMU) that called ioperm after already doing some port i/o. The problem is that a process switch return causes tss->io_bitmap_base to be set to IO_BITMAP_OFFSET so that the fault (that *really* sets the io bitmap) never triggers. This fixes that regression. Signed-off-by: Bart Oldeman <bartoldeman@users.sourceforge.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
88dcb6c411
commit
f912696ab3
@ -108,8 +108,11 @@ asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on)
|
|||||||
/*
|
/*
|
||||||
* Sets the lazy trigger so that the next I/O operation will
|
* Sets the lazy trigger so that the next I/O operation will
|
||||||
* reload the correct bitmap.
|
* reload the correct bitmap.
|
||||||
|
* Reset the owner so that a process switch will not set
|
||||||
|
* tss->io_bitmap_base to IO_BITMAP_OFFSET.
|
||||||
*/
|
*/
|
||||||
tss->io_bitmap_base = INVALID_IO_BITMAP_OFFSET_LAZY;
|
tss->io_bitmap_base = INVALID_IO_BITMAP_OFFSET_LAZY;
|
||||||
|
tss->io_bitmap_owner = NULL;
|
||||||
|
|
||||||
put_cpu();
|
put_cpu();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user