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 <[email protected]>
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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html