1. 23 May, 2018 2 commits
    • David Howells's avatar
      afs: Mark afs_net::ws_cell as __rcu and set using rcu functions · 1588def9
      David Howells authored
      The afs_net::ws_cell member is sometimes used under RCU conditions from
      within an seq-readlock.  It isn't, however, marked __rcu and it isn't set
      using the proper RCU barrier-imposing functions.
      
      Fix this by annotating it with __rcu and using appropriate barriers to
      make sure accesses are correctly ordered.
      
      Without this, the code can produce the following warning:
      
      >> fs/afs/proc.c:151:24: sparse: incompatible types in comparison expression (different address spaces)
      
      Fixes: f044c884 ("afs: Lay the groundwork for supporting network namespaces")
      Reported-by: default avatarkbuild test robot <lkp@intel.com>
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      1588def9
    • David Howells's avatar
      afs: Fix a Sparse warning in xdr_decode_AFSFetchStatus() · c875c76a
      David Howells authored
      Sparse doesn't appear able to handle the conditionally-taken locks in
      xdr_decode_AFSFetchStatus(), even though the lock and unlock are both
      contingent on the same unvarying function argument.
      
      Deal with this by interpolating a wrapper function that takes the lock if
      needed and calls xdr_decode_AFSFetchStatus() on two separate branches, one
      with the lock held and one without.
      
      This allows Sparse to work out the locking.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      c875c76a
  2. 18 May, 2018 5 commits
  3. 17 May, 2018 1 commit
  4. 16 May, 2018 32 commits