diff options
| author | Yong Zhang <[email protected]> | 2011-08-16 01:54:54 +0000 |
|---|---|---|
| committer | Ralf Baechle <[email protected]> | 2011-09-21 15:53:44 +0000 |
| commit | 1eec6cd08b4feb72a73aff468ab72bdd21e1dc61 (patch) | |
| tree | 70278d81550236b2dc57ddb52b3fc3380fe0c5d9 /lib/debugobjects.c | |
| parent | MIPS: Do not use EXTRA_CFLAGS (diff) | |
| download | kernel-1eec6cd08b4feb72a73aff468ab72bdd21e1dc61.tar.gz kernel-1eec6cd08b4feb72a73aff468ab72bdd21e1dc61.zip | |
MIPS: Compat: Use 32-bit wrapper for compat_sys_futex.
We can't trust userspace to pass signed-extend arguments. Not correctly
sign-extended arguments to futex-wait result in architecturally undefined
operation of 32-bit arithmetic instructions.
For example, if 'val' is too big and bit-31 is 1, the caller may enter
endless loop at:
futex_wait_setup()
{
...
if (uval != val) {
queue_unlock(q, *hb);
ret = -EWOULDBLOCK;
...
}
Signed-off-by: Yong Zhang <[email protected]>
To: [email protected]
To: [email protected]
Patchwork: https://patchwork.linux-mips.org/patch/2714/
Signed-off-by: Ralf Baechle <[email protected]>
Diffstat (limited to 'lib/debugobjects.c')
0 files changed, 0 insertions, 0 deletions
