diff options
author | Manfred Spraul <manfred@colorfullife.com> | 2017-07-12 14:34:41 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-07-12 16:26:01 -0700 |
commit | dba4cdd39e698d8dcdad0656825423052ac90ccd (patch) | |
tree | 908f984f4652a42f603aac8f2db4edd059d11256 /include/uapi | |
parent | 1a23395672658969a4035dcc518ea6cab835c579 (diff) | |
download | linux-stable-dba4cdd39e698d8dcdad0656825423052ac90ccd.tar.gz linux-stable-dba4cdd39e698d8dcdad0656825423052ac90ccd.tar.bz2 linux-stable-dba4cdd39e698d8dcdad0656825423052ac90ccd.zip |
ipc: merge ipc_rcu and kern_ipc_perm
ipc has two management structures that exist for every id:
- struct kern_ipc_perm, it contains e.g. the permissions.
- struct ipc_rcu, it contains the rcu head for rcu handling and the
refcount.
The patch merges both structures.
As a bonus, we may save one cacheline, because both structures are
cacheline aligned. In addition, it reduces the number of casts, instead
most codepaths can use container_of.
To simplify code, the ipc_rcu_alloc initializes the allocation to 0.
[manfred@colorfullife.com: really include the memset() into ipc_alloc_rcu()]
Link: http://lkml.kernel.org/r/564f8612-0601-b267-514f-a9f650ec9b32@colorfullife.com
Link: http://lkml.kernel.org/r/20170525185107.12869-3-manfred@colorfullife.com
Signed-off-by: Manfred Spraul <manfred@colorfullife.com>
Cc: Davidlohr Bueso <dave@stgolabs.net>
Cc: Kees Cook <keescook@chromium.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/uapi')
0 files changed, 0 insertions, 0 deletions