提交 85390378 编写于 作者: J Joel Stanley 提交者: Benjamin Herrenschmidt

powerpc/powernv: Check sysfs size before copying

The sysparam code currently uses the userspace supplied number of
bytes when memcpy()ing in to a local 64-byte buffer.

Limit the maximum number of bytes by the size of the buffer.
Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
上级 b8569d23
...@@ -135,6 +135,10 @@ static ssize_t sys_param_store(struct kobject *kobj, ...@@ -135,6 +135,10 @@ static ssize_t sys_param_store(struct kobject *kobj,
kobj_attr); kobj_attr);
ssize_t ret; ssize_t ret;
/* MAX_PARAM_DATA_LEN is sizeof(param_data_buf) */
if (count > MAX_PARAM_DATA_LEN)
count = MAX_PARAM_DATA_LEN;
mutex_lock(&opal_sysparam_mutex); mutex_lock(&opal_sysparam_mutex);
memcpy(param_data_buf, buf, count); memcpy(param_data_buf, buf, count);
ret = opal_set_sys_param(attr->param_id, attr->param_size, ret = opal_set_sys_param(attr->param_id, attr->param_size,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册