[PATCH 00/11] nfs refcount conversions

From: Elena Reshetova
Date: Fri Oct 20 2017 - 05:55:45 EST


This series, for nfs 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.

Rebased on top of linux-next.

Elena Reshetova (11):
fs, nfsd: convert nfs4_stid.sc_count from atomic_t to refcount_t
fs, nfsd: convert nfs4_cntl_odstate.co_odcount from atomic_t to
refcount_t
fs, nfsd: convert nfs4_file.fi_ref from atomic_t to refcount_t
fs, nfs: convert nfs4_pnfs_ds.ds_count from atomic_t to refcount_t
fs, nfs: convert pnfs_layout_segment.pls_refcount from atomic_t to
refcount_t
fs, nfs: convert pnfs_layout_hdr.plh_refcount from atomic_t to
refcount_t
fs, nfs: convert nfs4_ff_layout_mirror.ref from atomic_t to refcount_t
fs, nfs: convert nfs_cache_defer_req.count from atomic_t to refcount_t
fs, nfs: convert nfs4_lock_state.ls_count from atomic_t to refcount_t
fs, nfs: convert nfs_lock_context.count from atomic_t to refcount_t
fs, nfs: convert nfs_client.cl_count from atomic_t to refcount_t

fs/nfs/cache_lib.c | 6 +++---
fs/nfs/cache_lib.h | 2 +-
fs/nfs/client.c | 10 +++++-----
fs/nfs/filelayout/filelayout.c | 12 ++++++------
fs/nfs/flexfilelayout/flexfilelayout.c | 20 +++++++++----------
fs/nfs/flexfilelayout/flexfilelayout.h | 3 ++-
fs/nfs/inode.c | 12 ++++++------
fs/nfs/nfs4_fs.h | 2 +-
fs/nfs/nfs4client.c | 10 +++++-----
fs/nfs/nfs4proc.c | 18 ++++++++---------
fs/nfs/nfs4state.c | 14 ++++++-------
fs/nfs/pnfs.c | 24 +++++++++++------------
fs/nfs/pnfs.h | 9 +++++----
fs/nfs/pnfs_nfs.c | 10 +++++-----
fs/nfsd/nfs4layouts.c | 4 ++--
fs/nfsd/nfs4state.c | 36 +++++++++++++++++-----------------
fs/nfsd/state.h | 9 +++++----
include/linux/nfs_fs.h | 3 ++-
include/linux/nfs_fs_sb.h | 3 ++-
19 files changed, 106 insertions(+), 101 deletions(-)

--
2.7.4