[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <510E6D3F.2060200@oracle.com>
Date: Sun, 03 Feb 2013 07:59:27 -0600
From: Dave Kleikamp <dave.kleikamp@...cle.com>
To: Al Viro <viro@...IV.linux.org.uk>
CC: linux-kernel@...r.kernel.org,
Linus Torvalds <torvalds@...ux-foundation.org>,
linux-fsdevel@...r.kernel.org, Jeff Mahoney <jeffm@...e.com>,
Dave Kleikamp <shaggy@...nel.org>
Subject: Re: [RFC] setxattr bugs
On 02/02/2013 10:30 PM, Al Viro wrote:
> * JFS, since 2005: setxattr(name, "system.posix_acl_access", NULL, 0, 0)
> succeeds, creating an empty EA with "system.posix_acl_access" as name.
> Validity checks should apply _after_
> if (value == NULL) { /* empty EA, do not remove */
> value = "";
> value_len = 0;
> }
> and not before it.
This is probably a hold-over from weird OS/2 behavior that we really
don't need to keep.
> * reiserfs, since 2009: setxattr(name, attr_name, NULL, 0, 0) is
> treated as removexattr(name, attr_name), not as emptying given xattr.
>
> The question is, does either of those cross into "established
> weirdness in ABI" or are they still at the "bugs to be fixed" stage?
>
> FWIW, I'm seriously tempted to stop passing NULL as the
> third argument of ->setxattr(), essentially taking all those
> if (!value) value = ""; pieces from individual ->setxattr() instances
> to __vfs_setxattr_noperm() (all other callers of ->setxattr() never
> pass NULL data or 0 size, so it's irrelevant for them). Would fix
> both jfs and reiserfs weirdness....
>
> Objections?
no objection from me. I can clean up the jfs code so that it no longer
saves empty xattrs.
Thanks,
Shaggy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists