Commit 4dcb3d8a authored by David Howells's avatar David Howells Committed by Greg Kroah-Hartman

afs: Fix the afs.cell and afs.volume xattr handlers

[ Upstream commit c73aa410 ]

Fix the ->get handlers for the afs.cell and afs.volume xattrs to pass the
source data size to memcpy() rather than target buffer size.

Overcopying the source data occasionally causes the kernel to oops.

Fixes: d3e3b7ea ("afs: Add metadata xattrs")
Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 6c5d98c8
...@@ -50,7 +50,7 @@ static int afs_xattr_get_cell(const struct xattr_handler *handler, ...@@ -50,7 +50,7 @@ static int afs_xattr_get_cell(const struct xattr_handler *handler,
return namelen; return namelen;
if (namelen > size) if (namelen > size)
return -ERANGE; return -ERANGE;
memcpy(buffer, cell->name, size); memcpy(buffer, cell->name, namelen);
return namelen; return namelen;
} }
...@@ -104,7 +104,7 @@ static int afs_xattr_get_volume(const struct xattr_handler *handler, ...@@ -104,7 +104,7 @@ static int afs_xattr_get_volume(const struct xattr_handler *handler,
return namelen; return namelen;
if (namelen > size) if (namelen > size)
return -ERANGE; return -ERANGE;
memcpy(buffer, volname, size); memcpy(buffer, volname, namelen);
return namelen; return namelen;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment