diff options
author | David Teigland <teigland@redhat.com> | 2009-06-18 13:20:24 -0500 |
---|---|---|
committer | David Teigland <teigland@redhat.com> | 2009-06-18 13:42:42 -0500 |
commit | c78a87d0a1fc885dfdbe21fd5e07787691dfb068 (patch) | |
tree | 73f6056f87cd9183e04f3b9f6a4245876cf0cb23 /init | |
parent | a566a6b11c86147fe9fc9db7ab15f9eecca3e862 (diff) | |
download | op-kernel-dev-c78a87d0a1fc885dfdbe21fd5e07787691dfb068.zip op-kernel-dev-c78a87d0a1fc885dfdbe21fd5e07787691dfb068.tar.gz |
dlm: fix plock use-after-free
Fix a regression from the original addition of nfs lock support
586759f03e2e9031ac5589912a51a909ed53c30a. When a synchronous
(non-nfs) plock completes, the waiting thread will wake up and
free the op struct. This races with the user thread in
dev_write() which goes on to read the op's callback field to
check if the lock is async and needs a callback. This check
can happen on the freed op. The fix is to note the callback
value before the op can be freed.
Signed-off-by: David Teigland <teigland@redhat.com>
Diffstat (limited to 'init')
0 files changed, 0 insertions, 0 deletions