提交 7dac89cb 编写于 作者: O Ondrej Mosnacek 提交者: Yang Yingliang

NFSv4.2: fix return value of _nfs4_get_security_label()

stable inclusion
from linux-4.19.181
commit 2a71011eb68eaf5de554c4080e8d74b2572783b0

--------------------------------

[ Upstream commit 53cb2454 ]

An xattr 'get' handler is expected to return the length of the value on
success, yet _nfs4_get_security_label() (and consequently also
nfs4_xattr_get_nfs4_label(), which is used as an xattr handler) returns
just 0 on success.

Fix this by returning label.len instead, which contains the length of
the result.

Fixes: aa9c2669 ("NFS: Client implementation of Labeled-NFS")
Signed-off-by: NOndrej Mosnacek <omosnace@redhat.com>
Reviewed-by: NJames Morris <jamorris@linux.microsoft.com>
Reviewed-by: NPaul Moore <paul@paul-moore.com>
Signed-off-by: NAnna Schumaker <Anna.Schumaker@Netapp.com>
Signed-off-by: NSasha Levin <sashal@kernel.org>
Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
Reviewed-by: NHou Tao <houtao1@huawei.com>
Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
上级 0b0010a6
...@@ -5602,7 +5602,7 @@ static int _nfs4_get_security_label(struct inode *inode, void *buf, ...@@ -5602,7 +5602,7 @@ static int _nfs4_get_security_label(struct inode *inode, void *buf,
return ret; return ret;
if (!(fattr.valid & NFS_ATTR_FATTR_V4_SECURITY_LABEL)) if (!(fattr.valid & NFS_ATTR_FATTR_V4_SECURITY_LABEL))
return -ENOENT; return -ENOENT;
return 0; return label.len;
} }
static int nfs4_get_security_label(struct inode *inode, void *buf, static int nfs4_get_security_label(struct inode *inode, void *buf,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册