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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to