From: Cong Wang Date: Thu, 9 Jul 2020 23:28:44 +0000 (-0700) Subject: cgroup: Fix sock_cgroup_data on big-endian. X-Git-Tag: v4.14.189~72 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=38505206c8295d1ae13612ace94dce16950f621b;p=users%2Fdwmw2%2Flinux.git cgroup: Fix sock_cgroup_data on big-endian. [ Upstream commit 14b032b8f8fce03a546dcf365454bec8c4a58d7d ] In order for no_refcnt and is_data to be the lowest order two bits in the 'val' we have to pad out the bitfield of the u8. Fixes: ad0f75e5f57c ("cgroup: fix cgroup_sk_alloc() for sk_clone_lock()") Reported-by: Guenter Roeck Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- diff --git a/include/linux/cgroup-defs.h b/include/linux/cgroup-defs.h index 26e74349f0003..9e1ff02d6c4e4 100644 --- a/include/linux/cgroup-defs.h +++ b/include/linux/cgroup-defs.h @@ -683,6 +683,7 @@ struct sock_cgroup_data { struct { u8 is_data : 1; u8 no_refcnt : 1; + u8 unused : 6; u8 padding; u16 prioidx; u32 classid; @@ -692,6 +693,7 @@ struct sock_cgroup_data { u32 classid; u16 prioidx; u8 padding; + u8 unused : 6; u8 no_refcnt : 1; u8 is_data : 1; } __packed;