Bug 1342620
Summary: | libglusterfs: race conditions and illegal mem access in timer | ||
---|---|---|---|
Product: | [Community] GlusterFS | Reporter: | Kaleb KEITHLEY <kkeithle> |
Component: | core | Assignee: | Kaleb KEITHLEY <kkeithle> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 3.8.0 | CC: | bugs |
Target Milestone: | --- | Keywords: | Triaged |
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | glusterfs-3.8.0 | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | 1333925 | Environment: | |
Last Closed: | 2016-06-16 12:33:36 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 1333925 | ||
Bug Blocks: |
Description
Kaleb KEITHLEY
2016-06-03 17:06:36 UTC
REVIEW: http://review.gluster.org/14644 (libglusterfs (timer): race conditions, illegal mem access, mem leak) posted (#1) for review on release-3.8 by Kaleb KEITHLEY (kkeithle) COMMIT: http://review.gluster.org/14644 committed in release-3.8 by Kaleb KEITHLEY (kkeithle) ------ commit 8d99b1860dbaa62da3edb1ec9fd626f51f9d2c95 Author: Kaleb S KEITHLEY <kkeithle> Date: Fri Jun 3 13:29:00 2016 -0400 libglusterfs (timer): race conditions, illegal mem access, mem leak While investigating gfapi memory consumption with valgrind, valgrind reported several memory access issues. Also see the timer 'registry' being recreated (shortly) after being freed during teardown due to the way it's currently written. Passing ctx as data to gf_timer_proc() is prone to memory access issues if ctx is freed before gf_timer_proc() terminates. (And in fact this does happen, at least in valgrind.) gf_timer_proc() doesn't need ctx for anything, it only needs ctx->timer, so just pass that. Nothing ever calls gf_timer_registry_init(). Nothing outside of timer.c that is. Making it and gf_timer_proc() static. backport mainline: > http://review.gluster.org/14247 > BUG: 1333925 Change-Id: Ia28454dda0cf0de2fec94d76441d98c3927a906a BUG: 1342620 Signed-off-by: Kaleb S KEITHLEY <kkeithle> Reviewed-on: http://review.gluster.org/14644 Smoke: Gluster Build System <jenkins.com> NetBSD-regression: NetBSD Build System <jenkins.org> CentOS-regression: Gluster Build System <jenkins.com> This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.8.0, please open a new bug report. glusterfs-3.8.0 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution. [1] http://blog.gluster.org/2016/06/glusterfs-3-8-released/ [2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user |