[Bugs] [Bug 1499892] New: md-cache: xattr values should not be checked with string functions

bugzilla at redhat.com bugzilla at redhat.com
Mon Oct 9 14:41:55 UTC 2017


https://bugzilla.redhat.com/show_bug.cgi?id=1499892

            Bug ID: 1499892
           Summary: md-cache: xattr values should not be checked with
                    string functions
           Product: GlusterFS
           Version: 3.12
         Component: md-cache
          Assignee: bugs at gluster.org
          Reporter: gdeschner at redhat.com
                CC: bugs at gluster.org
        Depends On: 1476324



+++ This bug was initially created as a clone of Bug #1476324 +++

Description of problem:

xattr caching does not work for values with a leading 0 (due to an internal
strcmp() for ""), given that often binary values are stored in xattrs (for e.g.
samba specific xattrs), this is currently a serious limitation.

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


How reproducible:

Everytime

Steps to Reproduce:

gluster volume set VOLUME performance.cache-samba-metadata on
mount VOLUME via fuse to /mnt
touch /mnt/test
setfattr -n user.DOSATTRIB -v 0x00ff /mnt/test
echo $?
0
getfattr -n user.DOSATTRIB -d /mnt/test
/mnt/test: user.DOSATTRIB: No such attribute

--- Additional comment from Worker Ant on 2017-07-28 11:59:05 EDT ---

REVIEW: https://review.gluster.org/17910 (md-cache: avoid checking the xattr
value buffer with string functions.) posted (#1) for review on master by
Günther Deschner (gd at samba.org)

--- Additional comment from Worker Ant on 2017-07-31 19:23:35 EDT ---

REVIEW: https://review.gluster.org/17910 (md-cache: avoid checking the xattr
value buffer with string functions.) posted (#2) for review on master by
Michael Adam (obnox at samba.org)

--- Additional comment from Worker Ant on 2017-07-31 19:31:26 EDT ---

REVIEW: https://review.gluster.org/17910 (md-cache: avoid checking the xattr
value buffer with string functions.) posted (#3) for review on master by
Michael Adam (obnox at samba.org)

--- Additional comment from Worker Ant on 2017-08-01 09:14:07 EDT ---

COMMIT: https://review.gluster.org/17910 committed in master by Jeff Darcy
(jeff at pl.atyp.us) 
------
commit ab4ffdac9dec1867f2d9b33242179cf2b347319d
Author: Günther Deschner <gd at samba.org>
Date:   Fri Jul 28 13:38:16 2017 +0200

    md-cache: avoid checking the xattr value buffer with string functions.

    xattrs may very well contain binary, non-text data with leading 0
    values. Using strcmp for checking empty values is not the appropriate
    thing to do: In the best case, it might treat a binary xattr value
    starting with 0 from being cached (and hence also from being reported
    back with xattr). In the worst case, we might read beyond the end
    of a data blob that does contain any zero byte.

    We fix this by checking the length of the data blob and checking
    the first byte against 0 if the length is one.

    Signed-off-by: Guenther Deschner <gd at samba.org>
    Pair-Programmed-With: Michael Adam <obnox at samba.org>
    Change-Id: If723c465a630b8a37b6be58782a2724df7ac6b11
    BUG: 1476324
    Reviewed-on: https://review.gluster.org/17910
    Reviewed-by: Michael Adam <obnox at samba.org>
    Smoke: Gluster Build System <jenkins at build.gluster.org>
    Reviewed-by: Poornima G <pgurusid at redhat.com>
    Tested-by: Poornima G <pgurusid at redhat.com>
    CentOS-regression: Gluster Build System <jenkins at build.gluster.org>


Referenced Bugs:

https://bugzilla.redhat.com/show_bug.cgi?id=1476324
[Bug 1476324] md-cache: xattr values should not be checked with string
functions
-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.


More information about the Bugs mailing list