[PATCH 00/12] fs, nfs conversions from atomic_t to refcount_t

From: Elena Reshetova
Date: Tue Mar 14 2017 - 03:07:31 EST


This series, for nfs filesystem, 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 below patches have been run-time tested using NFStest on the client side only.
No issues related to refcounter conversions were detected.

If you don't see objections or issues with the patches, please take it to
your tree.

Elena Reshetova (12):
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: convert nfs_cache_array.refcount from atomic_t to refcount_t

fs/nfs/cache_lib.c | 6 +++---
fs/nfs/cache_lib.h | 2 +-
fs/nfs/client.c | 12 ++++++------
fs/nfs/dir.c | 8 ++++----
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 | 16 +++++++--------
fs/nfs/nfs4proc.c | 18 ++++++++---------
fs/nfs/nfs4state.c | 14 ++++++-------
fs/nfs/pnfs.c | 28 +++++++++++++-------------
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 ++-
20 files changed, 116 insertions(+), 111 deletions(-)

--
2.7.4