Messages in this thread | | | Date | Sat, 20 Jan 2018 14:04:14 -0800 | From | Jaegeuk Kim <> | Subject | Re: [PATCH] f2fs: correct removexattr behavior for null valued extended attribute |
| |
Thanks,
On 01/20, Chao Yu wrote: > From: Daeho Jeong <daeho.jeong@samsung.com> > > __vfs_removexattr() transfers "NULL" value to the setxattr handler of > the f2fs filesystem in order to remove the extended attribute. But, > __f2fs_setxattr() just ignores the removal request when the value of > the extended attribute is already NULL. We have to remove the extended > attribute itself even if the value of that is already NULL. > > We can reporduce this bug with the below: > > 1. touch file > 2. setfattr -n "user.foo" file > 3. setfattr -x "user.foo" file > 4. getfattr -d file > > user.foo > > Signed-off-by: Daeho Jeong <daeho.jeong@samsung.com> > Signed-off-by: Youngjin Gil <youngjin.gil@samsung.com> > Tested-by: Hobin Woo <hobin.woo@samsung.com> > Tested-by: Chao Yu <yuchao0@huawei.com> > Reviewed-by: Chao Yu <yuchao0@huawei.com> > Signed-off-by: Chao Yu <yuchao0@huawei.com> > --- > fs/f2fs/xattr.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/f2fs/xattr.c b/fs/f2fs/xattr.c > index 600162f4ddbf..ae2dfa709f5d 100644 > --- a/fs/f2fs/xattr.c > +++ b/fs/f2fs/xattr.c > @@ -600,7 +600,7 @@ static int __f2fs_setxattr(struct inode *inode, int index, > goto exit; > } > > - if (f2fs_xattr_value_same(here, value, size)) > + if (value && f2fs_xattr_value_same(here, value, size)) > goto exit; > } else if ((flags & XATTR_REPLACE)) { > error = -ENODATA; > -- > 2.14.1.145.gb3622a4ee
| |