From: Chuck Anderson Date: Thu, 3 Nov 2016 17:42:10 +0000 (-0700) Subject: Merge branch topic/uek-4.1/upstream-cherry-picks of git://ca-git.us.oracle.com/linux... X-Git-Tag: v4.1.12-92~46 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=b4cd0a4b662950c09b77692ed8cc40b7a2ec0cac;p=users%2Fjedix%2Flinux-maple.git Merge branch topic/uek-4.1/upstream-cherry-picks of git://ca-git.us.oracle.com/linux-uek into uek/uek-4.1 * topic/uek-4.1/upstream-cherry-picks: (23 commits) NFS: Fix an LOCK/OPEN race when unlinking an open file intel_idle: correct BXT support intel_idle: re-work bxt_idle_state_table_update() and its helper x86/intel_idle: Use Intel family macros for intel_idle x86/cpu/intel: Introduce macros for Intel family numbers intel_idle: add BXT support intel_idle: Add KBL support intel_idle: Add SKX support intel_idle: Clean up all registered devices on exit. intel_idle: Propagate hot plug errors. intel_idle: Don't overreact to a cpuidle registration failure. intel_idle: Setup the timer broadcast only on successful driver load. intel_idle: Avoid a double free of the per-CPU data. intel_idle: Fix dangling registration on error path. intel_idle: Fix deallocation order on the driver exit path. intel_idle: Remove redundant initialization calls. intel_idle: Fix a helper function's return value. intel_idle: remove useless return from void function. intel_idle: Support for Intel Xeon Phi Processor x200 Product Family intel_idle: prevent SKL-H boot failure when C8+C9+C10 enabled ... --- b4cd0a4b662950c09b77692ed8cc40b7a2ec0cac diff --cc fs/nfs/nfs4proc.c index dd85c4396ad4,9dd883098d7f..8962cbc359da --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@@ -5926,16 -5917,18 +5927,18 @@@ static int _nfs4_proc_setlk(struct nfs4 if (status != 0) goto out; request->fl_flags |= FL_ACCESS; - status = do_vfs_lock(request->fl_file, request); + status = do_vfs_lock(state->inode, request); if (status < 0) goto out; + mutex_lock(&sp->so_delegreturn_mutex); down_read(&nfsi->rwsem); if (test_bit(NFS_DELEGATED_STATE, &state->flags)) { /* Yes: cache locks! */ /* ...but avoid races with delegation recall... */ request->fl_flags = fl_flags & ~FL_SLEEP; - status = do_vfs_lock(request->fl_file, request); + status = do_vfs_lock(state->inode, request); up_read(&nfsi->rwsem); + mutex_unlock(&sp->so_delegreturn_mutex); goto out; } up_read(&nfsi->rwsem);