summaryrefslogtreecommitdiffstats
path: root/xlators/nfs/server/src/nfs3.c
diff options
context:
space:
mode:
authorNiels de Vos <ndevos@redhat.com>2017-07-04 20:11:11 +0200
committerNiels de Vos <ndevos@redhat.com>2017-07-09 09:14:00 +0000
commitb81997264f079983fa02bd5fa2b3715224942b00 (patch)
tree89ebcdb8e910ebf5597f106990019367b53ef76e /xlators/nfs/server/src/nfs3.c
parent01bfdd4d1759423681d311da33f4ac2346ace445 (diff)
nfs/nlm: keep track of the call-state and frame for notifications
When blocking locks are used, a new frame is allocated that is used to send the notification to the client once once the lock becomes available. In all other cases, the frame that contains the request from the client will be used for the reply. Because there was no way to track the different clients with their requests (captured in the call-state), the call-state could be free'd before the notification was sent to the client. This caused a use-after-free of the call-state and could trigger segfaults of the Gluster/NFS server or incorrect replies on (un)lock requests. By introducing a nlm4_notify_args structure, the call-state and frame can be tracked better. This prevents the possibility of segfaulting when the call-state is used after being free'd. BUG: 1467313 Change-Id: I285d2bc552f509e5145653b7a50afcff827cd612 Signed-off-by: Niels de Vos <ndevos@redhat.com> Reviewed-on: https://review.gluster.org/17700 Smoke: Gluster Build System <jenkins@build.gluster.org> CentOS-regression: Gluster Build System <jenkins@build.gluster.org> Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com> Reviewed-by: jiffin tony Thottan <jthottan@redhat.com>
Diffstat (limited to 'xlators/nfs/server/src/nfs3.c')
0 files changed, 0 insertions, 0 deletions