aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/ioport_32.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/ioport_32.c')
-rw-r--r--arch/x86/kernel/ioport_32.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/x86/kernel/ioport_32.c b/arch/x86/kernel/ioport_32.c
index c281ffa18259..9295e01ff49c 100644
--- a/arch/x86/kernel/ioport_32.c
+++ b/arch/x86/kernel/ioport_32.c
@@ -100,7 +100,7 @@ asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on)
100 * beyond the 0x3ff range: to get the full 65536 ports bitmapped 100 * beyond the 0x3ff range: to get the full 65536 ports bitmapped
101 * you'd need 8kB of bitmaps/process, which is a bit excessive. 101 * you'd need 8kB of bitmaps/process, which is a bit excessive.
102 * 102 *
103 * Here we just change the eflags value on the stack: we allow 103 * Here we just change the flags value on the stack: we allow
104 * only the super-user to do it. This depends on the stack-layout 104 * only the super-user to do it. This depends on the stack-layout
105 * on system-call entry - see also fork() and the signal handling 105 * on system-call entry - see also fork() and the signal handling
106 * code. 106 * code.
@@ -109,8 +109,8 @@ asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on)
109asmlinkage long sys_iopl(unsigned long regsp) 109asmlinkage long sys_iopl(unsigned long regsp)
110{ 110{
111 volatile struct pt_regs *regs = (struct pt_regs *)&regsp; 111 volatile struct pt_regs *regs = (struct pt_regs *)&regsp;
112 unsigned int level = regs->ebx; 112 unsigned int level = regs->bx;
113 unsigned int old = (regs->eflags >> 12) & 3; 113 unsigned int old = (regs->flags >> 12) & 3;
114 struct thread_struct *t = &current->thread; 114 struct thread_struct *t = &current->thread;
115 115
116 if (level > 3) 116 if (level > 3)
@@ -122,7 +122,7 @@ asmlinkage long sys_iopl(unsigned long regsp)
122 } 122 }
123 123
124 t->iopl = level << 12; 124 t->iopl = level << 12;
125 regs->eflags = (regs->eflags & ~X86_EFLAGS_IOPL) | t->iopl; 125 regs->flags = (regs->flags & ~X86_EFLAGS_IOPL) | t->iopl;
126 set_iopl_mask(t->iopl); 126 set_iopl_mask(t->iopl);
127 127
128 return 0; 128 return 0;