| From foo@baz Fri 17 Jul 2020 09:04:28 AM CEST |
| From: Cong Wang <xiyou.wangcong@gmail.com> |
| Date: Thu, 9 Jul 2020 16:28:44 -0700 |
| Subject: cgroup: Fix sock_cgroup_data on big-endian. |
| |
| From: Cong Wang <xiyou.wangcong@gmail.com> |
| |
| [ 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 <linux@roeck-us.net> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| include/linux/cgroup-defs.h | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| --- a/include/linux/cgroup-defs.h |
| +++ b/include/linux/cgroup-defs.h |
| @@ -799,6 +799,7 @@ struct sock_cgroup_data { |
| struct { |
| u8 is_data : 1; |
| u8 no_refcnt : 1; |
| + u8 unused : 6; |
| u8 padding; |
| u16 prioidx; |
| u32 classid; |
| @@ -808,6 +809,7 @@ struct sock_cgroup_data { |
| u32 classid; |
| u16 prioidx; |
| u8 padding; |
| + u8 unused : 6; |
| u8 no_refcnt : 1; |
| u8 is_data : 1; |
| } __packed; |