[PATCH 0/3] v2 ipc subsystem refcount coversions

From: Elena Reshetova
Date: Fri Jul 07 2017 - 05:00:03 EST


Changes in v2:
* add a new patch on kern_ipc_perm.refcount
* drop the patch on ipc_rcu.refcount
* rebase on top of linux-next/master
* Now by default refcount_t = atomic_t (*) and uses all atomic
standard operations unless CONFIG_REFCOUNT_FULL is enabled.
This is a compromise for the systems that are critical on
performance (such as net) and cannot accept even slight delay
on the refcounter operations.

This series, for ipc subsystem components, replaces atomic_t reference
counters with the new refcount_t type and API (see include/linux/refcount.h).
By doing this we prevent intentional or accidental
underflows or overflows that can led to use-after-free vulnerabilities.

The patches are fully independent and can be cherry-picked separately.
If there are no objections to the patches, please merge them via respective trees.

* The respective change is currently merged into -next as
"locking/refcount: Create unchecked atomic_t implementation".

Elena Reshetova (3):
ipc: convert ipc_namespace.count from atomic_t to refcount_t
ipc: convert sem_undo_list.refcnt from atomic_t to refcount_t
ipc: convert kern_ipc_perm.refcount from atomic_t to refcount_t

include/linux/ipc.h | 3 ++-
include/linux/ipc_namespace.h | 5 +++--
ipc/msgutil.c | 2 +-
ipc/namespace.c | 4 ++--
ipc/sem.c | 8 ++++----
ipc/util.c | 6 +++---
6 files changed, 15 insertions(+), 13 deletions(-)

--
2.7.4