From mboxrd@z Thu Jan 1 00:00:00 1970 From: Viacheslav Dubeyko Subject: Re: [PATCH] hfsplus: add missing osx prefix to FinderInfo attribute check Date: Thu, 02 Apr 2015 18:33:51 -0700 Message-ID: <1428024831.2973.4.camel@slavad-ubuntu-14.04> References: <551B6904.50405@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Cc: Thomas Hebb , "linux-fsdevel@vger.kernel.org" , stable@vger.kernel.org, Andrew Morton , Hin-Tak Leung , Anton Altaparmakov , Fabian Frederick , Christian Kujau To: Sergei Antonov Return-path: In-Reply-To: Sender: stable-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org 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 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.