Messages in this thread | | | From | Thomas Gleixner <> | Subject | Re: [patch 3/6] futex: Get rid of the val2 conditional dance | Date | Sat, 24 Apr 2021 00:34:00 +0200 |
| |
On Fri, Apr 23 2021 at 18:40, André Almeida wrote: >> >> - return do_futex(uaddr, op, val, tp, uaddr2, val2, val3); >> + return do_futex(uaddr, op, val, tp, uaddr2, (unsigned long)utime, val3); > > Given do_futex()'s type signature, I think it makes more sense to cast > utime to u32.
It's a pointer which you better force cast to unsigned long first.
So the explicit thing would be '(u32)(unsigned long) utime' which is what the val2 dance stupidly did with 'int'
val2 = (int) (unsigned long) utime;
But with doing it at function call argument it's implicit, because the
unsigned long to u32 conversion is well defined
while
(u32)ptr
is only well defined on 32bit.
Thanks,
tglx
| |