asmlinkage tag seems to be missing from sys_iopl prototype rendering iopl syscalls unusable, i.e. every call returns -EINVAL. Most likely introduced in 9e0b2428bc6a6c6df90bb701ca843820727cadf0.
Signed-off-by: Artem Savkov <[email protected]> --- arch/x86/include/asm/syscalls.h | 2 +- arch/x86/kernel/ioport.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/include/asm/syscalls.h b/arch/x86/include/asm/syscalls.h index 13f078c..6cf0a9c 100644 --- a/arch/x86/include/asm/syscalls.h +++ b/arch/x86/include/asm/syscalls.h @@ -18,7 +18,7 @@ /* Common in X86_32 and X86_64 */ /* kernel/ioport.c */ asmlinkage long sys_ioperm(unsigned long, unsigned long, int); -long sys_iopl(unsigned int); +asmlinkage long sys_iopl(unsigned int); /* kernel/ldt.c */ asmlinkage int sys_modify_ldt(int, void __user *, unsigned long); diff --git a/arch/x86/kernel/ioport.c b/arch/x86/kernel/ioport.c index 5f98381..b1127a0 100644 --- a/arch/x86/kernel/ioport.c +++ b/arch/x86/kernel/ioport.c @@ -93,7 +93,7 @@ asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on) * on system-call entry - see also fork() and the signal handling * code. */ -long sys_iopl(unsigned int level) +asmlinkage long sys_iopl(unsigned int level) { struct pt_regs *regs = current_pt_regs(); unsigned int old = (regs->flags >> 12) & 3; -- 1.8.1.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

