Re: [PATCH] x86: always use SYSCALL_DEFINE*

From: Andy Lutomirski
Date: Tue Mar 13 2018 - 19:18:34 EST


On Tue, Mar 13, 2018 at 9:16 PM, Jann Horn <jannh@xxxxxxxxxx> wrote:
> 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

I think this patch will be obsoleted by a series of patches from Dominik.