Re: linux interprets an fcntl int arg as long

From: 'Szabolcs Nagy'
Date: Tue Nov 01 2022 - 08:49:51 EST


The 11/01/2022 12:19, David Laight wrote:
> From: 'Szabolcs Nagy' <szabolcs.nagy@xxxxxxx>
> > SYSCALL_DEFINE3(fcntl, unsigned int, fd, unsigned int, cmd, unsigned long, arg)
> > {
>
> That is just a wrapper and calls do_fcntl().
> which needs changing to be add:
> arg &= ~0U;
> before the switch(cmd) {

this makes sense.
i thought previously you meant masking in userspace.

although if you mask there then many linux internal
apis could use int instead of long arg.

do you want me to post a patch? (i'm not a kernel
developer)