Re: [PATCH] hfsplus: add missing osx prefix to FinderInfo attribute check

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2015-04-03 at 01:41 +0200, Sergei Antonov wrote:

> Your patch does fix a bug (reproduced through
> listxattr/getxattr/setxattr apis). But I'd recommend a more elegant
> code:
> 
> --- a/fs/hfsplus/xattr.c
> +++ b/fs/hfsplus/xattr.c
> @@ -29,7 +29,9 @@ const struct xattr_handler *hfsplus_xattr_handlers[] = {
>  static int strcmp_xattr_finder_info(const char *name)
>  {
>      if (name) {
> -        return strncmp(name, HFSPLUS_XATTR_FINDER_INFO_NAME,
> +        return strncmp(name, XATTR_MAC_OSX_PREFIX
> +                HFSPLUS_XATTR_FINDER_INFO_NAME,
> +                XATTR_MAC_OSX_PREFIX_LEN +
>                  sizeof(HFSPLUS_XATTR_FINDER_INFO_NAME));
>      }
>      return -1;
> 
> 
> If you resubmit it, make it Reviewed-by: Sergei Antonov <saproj@xxxxxxxxx>

The issue is located in hfsplus_osx_getxattr() method:

{
        char *xattr_name;
        int res;

        if (!strcmp(name, ""))
                return -EINVAL;

        /*
         * Don't allow retrieving properly prefixed attributes
         * by prepending them with "osx."
         */
        if (is_known_namespace(name))
                return -EOPNOTSUPP;
        xattr_name = kmalloc(NLS_MAX_CHARSET_SIZE *
HFSPLUS_ATTR_MAX_STRLEN
                + XATTR_MAC_OSX_PREFIX_LEN + 1, GFP_KERNEL);
        if (!xattr_name)
                return -ENOMEM;

************************************************************
        strcpy(xattr_name, XATTR_MAC_OSX_PREFIX);
        strcpy(xattr_name + XATTR_MAC_OSX_PREFIX_LEN, name);
*************************************************************

This part adds "osx." prefix second time. So, it needs to fix the issue
here.

Thanks,
Vyacheslav Dubeyko.


--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]