On Sat, Mar 10, 2018 at 12:55 PM, Tautschnig, Michael <tautschn@xxxxxxxxxxxx> wrote: > All syscall arguments are passed in as types of the same byte size as > unsigned long (width of full registers). Using a smaller type without a > cast may result in losing bits of information. SYSCALL_DEFINE* introduce > adequate type casts. All definitions of syscalls in x86 except for those > patched here have already been using the appropriate SYSCALL_DEFINE*. [...] > diff --git a/arch/x86/kernel/ioport.c b/arch/x86/kernel/ioport.c > index 2f72330..d98b2a3 100644 > --- a/arch/x86/kernel/ioport.c > +++ b/arch/x86/kernel/ioport.c > @@ -23,7 +23,8 @@ > /* > * this changes the io permissions bitmap in the current task. > */ > -asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on) > +SYSCALL_DEFINE3(sys_ioperm, unsigned long, from, unsigned long, num, int, > + turn_on) Shouldn't this be "SYSCALL_DEFINE3(ioperm, [...]", without the "sys_"? -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html