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-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html