diff options
author | James Hogan <jhogan@kernel.org> | 2018-02-20 15:44:37 +0000 |
---|---|---|
committer | James Hogan <jhogan@kernel.org> | 2018-02-20 15:46:44 +0000 |
commit | 6ae1756faddefd7494353380ee546dd38c2f97eb (patch) | |
tree | c304ca3b7514164825e4a8e87fe9e55a5491b024 /virt | |
parent | 91ab883eb21325ad80f3473633f794c78ac87f51 (diff) |
MIPS: Drop spurious __unused in struct compat_flock
MIPS' struct compat_flock doesn't match the 32-bit struct flock, as it
has an extra short __unused before pad[4], which combined with alignment
increases the size to 40 bytes compared with struct flock's 36 bytes.
Since commit 8c6657cb50cb ("Switch flock copyin/copyout primitives to
copy_{from,to}_user()"), put_compat_flock() writes the full compat_flock
struct to userland, which results in corruption of the userland word
after the struct flock when running 32-bit userlands on 64-bit kernels.
This was observed to cause a bus error exception when starting Firefox
on Debian 8 (Jessie).
Reported-by: Peter Mamonov <pmamonov@gmail.com>
Signed-off-by: James Hogan <jhogan@kernel.org>
Tested-by: Peter Mamonov <pmamonov@gmail.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: linux-mips@linux-mips.org
Cc: <stable@vger.kernel.org> # 4.13+
Patchwork: https://patchwork.linux-mips.org/patch/18646/
Diffstat (limited to 'virt')
0 files changed, 0 insertions, 0 deletions