Skip to contentSkip to conversation

Patch "MIPS: Drop spurious __unused in struct compat_flock" has been added to the 4.14-stable tree

PATCH [email protected] 1 participant 1 message Feb 26, 2018

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

MIPS: Drop spurious __unused in struct compat_flock

to the 4.14-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
mips-drop-spurious-__unused-in-struct-compat_flock.patch
and it can be found in the queue-4.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 6ae1756faddefd7494353380ee546dd38c2f97eb Mon Sep 17 00:00:00 2001

From: James Hogan <[email protected]>
Date: Tue, 20 Feb 2018 15:44:37 +0000
Subject: MIPS: Drop spurious __unused in struct compat_flock

From: James Hogan <[email protected]>

commit 6ae1756faddefd7494353380ee546dd38c2f97eb upstream.

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).

Patchwork: https://patchwork.linux-mips.org/patch/18646/

---
 arch/mips/include/asm/compat.h |    1 -
 1 file changed, 1 deletion(-)
arch/mips/include/asm/compat.h +0 -1
@@ -86,7 +86,6 @@ struct compat_flock {
 	compat_off_t	l_len;
 	s32		l_sysid;
 	compat_pid_t	l_pid;
-	short		__unused;
 	s32		pad[4];
 };
 

Patches currently in stable-queue which might be from [email protected] are

queue-4.14/mips-drop-spurious-__unused-in-struct-compat_flock.patch