diff options
author | Pranith Kumar K <pkarampu@redhat.com> | 2016-08-02 15:19:00 +0530 |
---|---|---|
committer | Pranith Kumar Karampuri <pkarampu@redhat.com> | 2016-08-04 01:47:09 -0700 |
commit | 67ebde53ea26065d41cacf054fa4337c22de5903 (patch) | |
tree | 51e00779f144a37cdd96e93d8fd5865f5c29e141 /events | |
parent | c3dee6d35326c6495591eb5bbf7f52f64031e2c4 (diff) |
cluster/afr: copy loc before passing to syncop
Problem:
When io-threads is enabled on the client side, io-threads destroys the
call-stub in which the loc is stored as soon as the c-stack unwinds.
Because afr is creating a syncop with the address of loc passed in
setxattr by the time syncop tries to access it, io-threads would have
already freed the call-stub. This will lead to crash.
Fix:
Copy loc to frame->local and use it's address.
BUG: 1361678
Change-Id: I16987e491e24b0b4e3d868a6968e802e47c77f7a
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
Reviewed-on: http://review.gluster.org/15070
Reviewed-by: Ravishankar N <ravishankar@redhat.com>
Smoke: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Diffstat (limited to 'events')
0 files changed, 0 insertions, 0 deletions