[PATCH] asmlinkage tag for sys_iopl

Artem Savkov
2013-02-03T12:46:31Z

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 <artem.savkov@gmail.com>
---
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