summaryrefslogtreecommitdiffstats
path: root/include/video/imx-ipu-v3.h
diff options
context:
space:
mode:
authorJeff Layton <jlayton@redhat.com>2016-08-11 16:37:39 +0200
committerJ. Bruce Fields <bfields@redhat.com>2016-08-12 22:10:25 +0200
commitdd257933fa4b9fea66a1195f8a15111029810abc (patch)
treef00c7fb74c9eb3ab557ce1cda54eb9a6f5c0c20c /include/video/imx-ipu-v3.h
parentnfsd: Fix race between FREE_STATEID and LOCK (diff)
downloadlinux-dd257933fa4b9fea66a1195f8a15111029810abc.tar.xz
linux-dd257933fa4b9fea66a1195f8a15111029810abc.zip
nfsd: don't return an unhashed lock stateid after taking mutex
nfsd4_lock will take the st_mutex before working with the stateid it gets, but between the time when we drop the cl_lock and take the mutex, the stateid could become unhashed (a'la FREE_STATEID). If that happens the lock stateid returned to the client will be forgotten. Fix this by first moving the st_mutex acquisition into lookup_or_create_lock_state. Then, have it check to see if the lock stateid is still hashed after taking the mutex. If it's not, then put the stateid and try the find/create again. Signed-off-by: Jeff Layton <jlayton@redhat.com> Tested-by: Alexey Kodanev <alexey.kodanev@oracle.com> Cc: stable@vger.kernel.org # feb9dad5 nfsd: Always lock state exclusively. Cc: stable@vger.kernel.org Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'include/video/imx-ipu-v3.h')
0 files changed, 0 insertions, 0 deletions