Discussion:
[Valgrind-developers] Please review 377698 Missing memory check for futex() uaddr arg for FUTEX_WAKE and FUTEX_WAKE_BITSET, check only 4 args for FUTEX_WAKE_BITSET, and 2 args for FUTEX_TRYLOCK_PI
Diane Meirowitz
2017-03-21 18:04:08 UTC
Permalink
Hi valgrind developers,

Please review my patch, which is attached to the bug, for

Bug 377698 - Missing memory check for futex() uaddr arg for FUTEX_WAKE and FUTEX_WAKE_BITSET, check only 4 args for FUTEX_WAKE_BITSET, and 2 args for FUTEX_TRYLOCK_PI

https://bugs.kde.org/show_bug.cgi?id=377698

Syscall wrapper for futex() was incorrectly checked:

1. Memcheck does not do a memory check on the uaddr argument for futex for FUTEX_WAKE and FUTEX_WAKE_BITSET cases.

2. FUTEX_WAKE_BITSET should not do scalar read check on all 6 arguments;
it should check uaddr, op, val, and val3 only.

3. FUTEX_TRYLOCK_PI should check only uaddr and op

I have tested this on sparc linux and x86 linux.

Thanks in advanceā€¦

Diane

Loading...