Message ID | 20240312042908.8889-1-l@damenly.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ocfs2: enable ocfs2_listxattr for special files | expand |
On 3/12/24 12:29 PM, Su Yue wrote: > From: Su Yue <glass.su@suse.com> > > For special files in S_IFBLK/S_IFCHR/S_IFIFO type, we already > have ocfs2_setattr and ocfs2_getattr enabled. > It's confusing for user space if it can use setattr/getattr to > control one attribute appointed but can not list attributes > using listxattr for above type files: > > $ mknod /mnt/b b 0 0 > $ setfattr -h -n trusted.name -v 0xbabe /mnt/b > $ getfattr -n trusted.name /mnt/b > getfattr: Removing leading '/' from absolute path names > trusted.name=0sur4= > > $ getfattr -m trusted /mnt/b > $ > > Fix it by enabling ocfs2_listxattr for ocfs2_special_file_iops. > After the commit, fstests/generic/062 will pass. > > Signed-off-by: Su Yue <glass.su@suse.com> Acked-by: Joseph Qi \<joseph.qi@linux.alibaba.com\> > --- > fs/ocfs2/file.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c > index 8b6d15010703..0da8e7bd3261 100644 > --- a/fs/ocfs2/file.c > +++ b/fs/ocfs2/file.c > @@ -2763,6 +2763,7 @@ const struct inode_operations ocfs2_file_iops = { > const struct inode_operations ocfs2_special_file_iops = { > .setattr = ocfs2_setattr, > .getattr = ocfs2_getattr, > + .listxattr = ocfs2_listxattr, > .permission = ocfs2_permission, > .get_inode_acl = ocfs2_iop_get_acl, > .set_acl = ocfs2_iop_set_acl,
diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c index 8b6d15010703..0da8e7bd3261 100644 --- a/fs/ocfs2/file.c +++ b/fs/ocfs2/file.c @@ -2763,6 +2763,7 @@ const struct inode_operations ocfs2_file_iops = { const struct inode_operations ocfs2_special_file_iops = { .setattr = ocfs2_setattr, .getattr = ocfs2_getattr, + .listxattr = ocfs2_listxattr, .permission = ocfs2_permission, .get_inode_acl = ocfs2_iop_get_acl, .set_acl = ocfs2_iop_set_acl,