summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2019-05-01 13:27:09 +0100
committerDavid Howells <dhowells@redhat.com>2019-05-07 16:48:44 +0100
commitc73aa4102f5b9f261a907c3b3df94cd2c478504d (patch)
tree52c5ac7f76e40fca82725f7443aea6cf5288c38c
parentc0abbb5791f1984350f1dac72c31c67010010a30 (diff)
afs: Fix the afs.cell and afs.volume xattr handlers
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: d3e3b7eac886 ("afs: Add metadata xattrs") Signed-off-by: David Howells <dhowells@redhat.com>
-rw-r--r--fs/afs/xattr.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/afs/xattr.c b/fs/afs/xattr.c
index a2cdf25573e2..4ea7e53752dc 100644
--- a/fs/afs/xattr.c
+++ b/fs/afs/xattr.c
@@ -50,7 +50,7 @@ static int afs_xattr_get_cell(const struct xattr_handler *handler,
return namelen;
if (namelen > size)
return -ERANGE;
- memcpy(buffer, cell->name, size);
+ memcpy(buffer, cell->name, namelen);
return namelen;
}
@@ -104,7 +104,7 @@ static int afs_xattr_get_volume(const struct xattr_handler *handler,
return namelen;
if (namelen > size)
return -ERANGE;
- memcpy(buffer, volname, size);
+ memcpy(buffer, volname, namelen);
return namelen;
}