• Andrew Morton's avatar
    [PATCH] Fix for lockup in reiserfs acl/xattrs · 5ca68834
    Andrew Morton authored
    From: Jeff Mahoney <jeffm@suse.com>
    
    The following is a patch to fix a locking problem in ACL/xattr code. It
    manifests when a user attempts to set an xattr on a file which they do
    not own, and on which an ACL is applied.
    
    What happens is this:
    reiserfs_setxattr [write lock inode xattr sem]
      ->xattr_set
        -> lookup
           -> __reiserfs_permission [if conditions above are met, and need_lock=
     is
              unset, read lock inode xattr sem] *lockup*
    
    Since we already keep track of when to lock during permission calls, the
    fix is simple: just make the locking conditional as it was before.
    
    Credits to Andreas Gruenbacher <agruen@suse.de>
    5ca68834
xattr.c 40 KB