Commit 42857cf5 authored by Phil Turnbull's avatar Phil Turnbull Committed by Christoph Hellwig

configfs: Return -EFBIG from configfs_write_bin_file.

The check for writing more than cb_max_size bytes does not 'goto out' so
it is a no-op which allows users to vmalloc an arbitrary amount.

Fixes: 03607ace ("configfs: implement binary attributes")
Cc: stable@kernel.org
Signed-off-by: default avatarPhil Turnbull <phil.turnbull@oracle.com>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
parent 024c7e37
...@@ -333,6 +333,7 @@ configfs_write_bin_file(struct file *file, const char __user *buf, ...@@ -333,6 +333,7 @@ configfs_write_bin_file(struct file *file, const char __user *buf,
if (bin_attr->cb_max_size && if (bin_attr->cb_max_size &&
*ppos + count > bin_attr->cb_max_size) { *ppos + count > bin_attr->cb_max_size) {
len = -EFBIG; len = -EFBIG;
goto out;
} }
tbuf = vmalloc(*ppos + count); tbuf = vmalloc(*ppos + count);
......
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