diff options
author | Cong Wang <xiyou.wangcong@gmail.com> | 2020-07-09 16:28:44 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-07-09 16:28:44 -0700 |
commit | 14b032b8f8fce03a546dcf365454bec8c4a58d7d (patch) | |
tree | 1ec04893c8a8055b730cc597d368415e619ac0cc | |
parent | ce69e563b325f620863830c246a8698ccea52048 (diff) | |
download | lwn-14b032b8f8fce03a546dcf365454bec8c4a58d7d.tar.gz lwn-14b032b8f8fce03a546dcf365454bec8c4a58d7d.zip |
cgroup: Fix sock_cgroup_data on big-endian.
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>
-rw-r--r-- | include/linux/cgroup-defs.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/cgroup-defs.h b/include/linux/cgroup-defs.h index 4f1cd0edc57d..fee0b5547cd0 100644 --- a/include/linux/cgroup-defs.h +++ b/include/linux/cgroup-defs.h @@ -792,6 +792,7 @@ struct sock_cgroup_data { struct { u8 is_data : 1; u8 no_refcnt : 1; + u8 unused : 6; u8 padding; u16 prioidx; u32 classid; @@ -801,6 +802,7 @@ struct sock_cgroup_data { u32 classid; u16 prioidx; u8 padding; + u8 unused : 6; u8 no_refcnt : 1; u8 is_data : 1; } __packed; |