* [PATCH v2] f2fs: correct removexattr behavior for null valued extended attribute
[not found] <CGME20180110022428epcas1p23c04b97cbd6df91e6721e7c400449f2e@epcas1p2.samsung.com>
@ 2018-01-10 2:24 ` Daeho Jeong
2018-01-17 1:26 ` Chao Yu
0 siblings, 1 reply; 4+ messages in thread
From: Daeho Jeong @ 2018-01-10 2:24 UTC (permalink / raw)
To: linux-f2fs-devel; +Cc: Youngjin Gil
__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>
---
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 ec8961e..2776618 100644
--- a/fs/f2fs/xattr.c
+++ b/fs/f2fs/xattr.c
@@ -598,7 +598,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;
--
1.9.1
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v2] f2fs: correct removexattr behavior for null valued extended attribute
2018-01-10 2:24 ` [PATCH v2] f2fs: correct removexattr behavior for null valued extended attribute Daeho Jeong
@ 2018-01-17 1:26 ` Chao Yu
2018-01-20 4:24 ` Jaegeuk Kim
0 siblings, 1 reply; 4+ messages in thread
From: Chao Yu @ 2018-01-17 1:26 UTC (permalink / raw)
To: Jaegeuk Kim; +Cc: linux-f2fs-devel
Hi Jaegeuk,
Forgot to merge this patch? ;)
On 2018/1/10 10:24, Daeho Jeong wrote:
> __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>
> ---
> 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 ec8961e..2776618 100644
> --- a/fs/f2fs/xattr.c
> +++ b/fs/f2fs/xattr.c
> @@ -598,7 +598,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;
>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2] f2fs: correct removexattr behavior for null valued extended attribute
2018-01-17 1:26 ` Chao Yu
@ 2018-01-20 4:24 ` Jaegeuk Kim
2018-01-20 7:50 ` Chao Yu
0 siblings, 1 reply; 4+ messages in thread
From: Jaegeuk Kim @ 2018-01-20 4:24 UTC (permalink / raw)
To: Chao Yu; +Cc: linux-f2fs-devel
On 01/17, Chao Yu wrote:
> Hi Jaegeuk,
>
> Forgot to merge this patch? ;)
Weird. I didn't get this patch before.
Is this a full patch?
>
> On 2018/1/10 10:24, Daeho Jeong wrote:
> > __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>
> > ---
> > 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 ec8961e..2776618 100644
> > --- a/fs/f2fs/xattr.c
> > +++ b/fs/f2fs/xattr.c
> > @@ -598,7 +598,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;
> >
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2] f2fs: correct removexattr behavior for null valued extended attribute
2018-01-20 4:24 ` Jaegeuk Kim
@ 2018-01-20 7:50 ` Chao Yu
0 siblings, 0 replies; 4+ messages in thread
From: Chao Yu @ 2018-01-20 7:50 UTC (permalink / raw)
To: Jaegeuk Kim, Chao Yu; +Cc: linux-f2fs-devel
On 2018/1/20 12:24, Jaegeuk Kim wrote:
> On 01/17, Chao Yu wrote:
>> Hi Jaegeuk,
>>
>> Forgot to merge this patch? ;)
>
> Weird. I didn't get this patch before.
I'm sure it has been sent to f2fs mailing list, may be it's been junked?
Anyway, I just resent it for Daeho Jeong, please check it.
> Is this a full patch?
>
>>
>> On 2018/1/10 10:24, Daeho Jeong wrote:
>>> __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>
>>> ---
>>> 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 ec8961e..2776618 100644
>>> --- a/fs/f2fs/xattr.c
>>> +++ b/fs/f2fs/xattr.c
>>> @@ -598,7 +598,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;
>>>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Linux-f2fs-devel mailing list
> Linux-f2fs-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2018-01-20 7:50 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <CGME20180110022428epcas1p23c04b97cbd6df91e6721e7c400449f2e@epcas1p2.samsung.com>
2018-01-10 2:24 ` [PATCH v2] f2fs: correct removexattr behavior for null valued extended attribute Daeho Jeong
2018-01-17 1:26 ` Chao Yu
2018-01-20 4:24 ` Jaegeuk Kim
2018-01-20 7:50 ` Chao Yu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).