Bug 1412995 - Memory leak on mount/fuse when setxattr fails
Summary: Memory leak on mount/fuse when setxattr fails
Keywords:
Status: CLOSED EOL
Alias: None
Product: GlusterFS
Classification: Community
Component: fuse
Version: 3.7.18
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Xavi Hernandez
QA Contact:
URL:
Whiteboard:
Depends On: 1412174
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-01-13 11:05 UTC by Xavi Hernandez
Modified: 2017-03-08 10:48 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1412174
Environment:
Last Closed: 2017-03-08 10:48:49 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:


Attachments (Terms of Use)

Description Xavi Hernandez 2017-01-13 11:05:27 UTC
+++ This bug was initially created as a clone of Bug #1412174 +++

Description of problem:

When the setxattr fails for some extended attributes, fuse leaks memory.

This can happen if you try to set 'system.posix_acl_access' but gluster doesn't have acl's enabled.

Version-Release number of selected component (if applicable): mainline


How reproducible:

Always

Steps to Reproduce:
1. gluster volume create test server:/brick
2. mount -t glusterfs server:/test /test
3. touch /test/file
4. for i in {1..100000}; do setfattr -n system.posix_acl_access -v "1" /test/file; done

Actual results:

Doing a state dump, a leak of fuse_state_t structures is seen.

Expected results:

No leak should happen.

Additional info:

It seems that the state is not released after having been allocated if a pre-op check fails.

--- Additional comment from Worker Ant on 2017-01-12 09:52:27 CET ---

REVIEW: http://review.gluster.org/16380 (fuse: fix memory leak in setxattr) posted (#1) for review on master by Xavier Hernandez (xhernandez@datalab.es)

--- Additional comment from Worker Ant on 2017-01-12 09:59:40 CET ---

REVIEW: http://review.gluster.org/16380 (fuse: fix memory leak in setxattr) posted (#2) for review on master by Xavier Hernandez (xhernandez@datalab.es)

--- Additional comment from Worker Ant on 2017-01-12 20:03:14 CET ---

COMMIT: http://review.gluster.org/16380 committed in master by Jeff Darcy (jdarcy@redhat.com) 
------
commit 79b3fb6e8d3c9d681917be6e6c9f6ba04eb73f82
Author: Xavier Hernandez <xhernandez@datalab.es>
Date:   Thu Jan 12 08:38:50 2017 +0100

    fuse: fix memory leak in setxattr
    
    If there's some failed check in setxattr of mount/fuse before
    actually starting the operation, a fuse_state_t structure is
    leaked.
    
    This fix correctly releases allocated resources in case of
    error.
    
    Change-Id: I8b1cda67a613c13b6bc38947352e2ccfccf96a1d
    BUG: 1412174
    Signed-off-by: Xavier Hernandez <xhernandez@datalab.es>
    Reviewed-on: http://review.gluster.org/16380
    Smoke: Gluster Build System <jenkins@build.gluster.org>
    NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
    Reviewed-by: Niels de Vos <ndevos@redhat.com>
    CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
    Reviewed-by: Jeff Darcy <jdarcy@redhat.com>

Comment 1 Worker Ant 2017-01-13 11:15:31 UTC
REVIEW: http://review.gluster.org/16404 (fuse: fix memory leak in setxattr) posted (#1) for review on release-3.7 by Xavier Hernandez (xhernandez@datalab.es)

Comment 2 Kaushal 2017-03-08 10:48:49 UTC
This bug is getting closed because GlusteFS-3.7 has reached its end-of-life.

Note: This bug is being closed using a script. No verification has been performed to check if it still exists on newer releases of GlusterFS.
If this bug still exists in newer GlusterFS releases, please reopen this bug against the newer release.


Note You need to log in before you can comment on or make changes to this bug.