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