* [PATCH] drm/i915: use memdup_user_nul
@ 2017-05-06 15:40 Geliang Tang
2017-05-06 15:40 ` [PATCH] ima: " Geliang Tang
` (3 more replies)
0 siblings, 4 replies; 8+ messages in thread
From: Geliang Tang @ 2017-05-06 15:40 UTC (permalink / raw)
To: Daniel Vetter, Jani Nikula, David Airlie
Cc: Geliang Tang, intel-gfx, dri-devel, linux-kernel
Use memdup_user_nul() helper instead of open-coding to simplify the
code.
Signed-off-by: Geliang Tang <geliangtang@gmail.com>
---
drivers/gpu/drm/i915/i915_debugfs.c | 13 +++----------
drivers/gpu/drm/i915/intel_pipe_crc.c | 13 +++----------
2 files changed, 6 insertions(+), 20 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index d689e51..e56b636 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -3704,16 +3704,10 @@ static ssize_t i915_displayport_test_active_write(struct file *file,
if (len == 0)
return 0;
- input_buffer = kmalloc(len + 1, GFP_KERNEL);
- if (!input_buffer)
- return -ENOMEM;
+ input_buffer = memdup_user_nul(ubuf, len);
+ if (IS_ERR(input_buffer))
+ return PTR_ERR(input_buffer);
- if (copy_from_user(input_buffer, ubuf, len)) {
- status = -EFAULT;
- goto out;
- }
-
- input_buffer[len] = '\0';
DRM_DEBUG_DRIVER("Copied %d bytes from user\n", (unsigned int)len);
drm_connector_list_iter_begin(dev, &conn_iter);
@@ -3739,7 +3733,6 @@ static ssize_t i915_displayport_test_active_write(struct file *file,
}
}
drm_connector_list_iter_end(&conn_iter);
-out:
kfree(input_buffer);
if (status < 0)
return status;
diff --git a/drivers/gpu/drm/i915/intel_pipe_crc.c b/drivers/gpu/drm/i915/intel_pipe_crc.c
index 206ee4f..813dd3c 100644
--- a/drivers/gpu/drm/i915/intel_pipe_crc.c
+++ b/drivers/gpu/drm/i915/intel_pipe_crc.c
@@ -842,19 +842,12 @@ static ssize_t display_crc_ctl_write(struct file *file, const char __user *ubuf,
return -E2BIG;
}
- tmpbuf = kmalloc(len + 1, GFP_KERNEL);
- if (!tmpbuf)
- return -ENOMEM;
-
- if (copy_from_user(tmpbuf, ubuf, len)) {
- ret = -EFAULT;
- goto out;
- }
- tmpbuf[len] = '\0';
+ tmpbuf = memdup_user_nul(ubuf, len);
+ if (IS_ERR(tmpbuf))
+ return PTR_ERR(tmpbuf);
ret = display_crc_ctl_parse(dev_priv, tmpbuf, len);
-out:
kfree(tmpbuf);
if (ret < 0)
return ret;
--
2.9.3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH] ima: use memdup_user_nul
2017-05-06 15:40 [PATCH] drm/i915: use memdup_user_nul Geliang Tang
@ 2017-05-06 15:40 ` Geliang Tang
2017-05-08 15:44 ` Mimi Zohar
2017-05-06 15:40 ` [PATCH] platform/x86: toshiba_acpi: " Geliang Tang
` (2 subsequent siblings)
3 siblings, 1 reply; 8+ messages in thread
From: Geliang Tang @ 2017-05-06 15:40 UTC (permalink / raw)
To: Mimi Zohar, Dmitry Kasatkin, James Morris, Serge E. Hallyn
Cc: Geliang Tang, linux-ima-devel, linux-ima-user,
linux-security-module, linux-kernel
Use memdup_user_nul() helper instead of open-coding to simplify the
code.
Signed-off-by: Geliang Tang <geliangtang@gmail.com>
---
security/integrity/ima/ima_fs.c | 13 ++++---------
1 file changed, 4 insertions(+), 9 deletions(-)
diff --git a/security/integrity/ima/ima_fs.c b/security/integrity/ima/ima_fs.c
index ca303e5..ad491c5 100644
--- a/security/integrity/ima/ima_fs.c
+++ b/security/integrity/ima/ima_fs.c
@@ -323,16 +323,11 @@ static ssize_t ima_write_policy(struct file *file, const char __user *buf,
if (*ppos != 0)
goto out;
- result = -ENOMEM;
- data = kmalloc(datalen + 1, GFP_KERNEL);
- if (!data)
+ data = memdup_user_nul(buf, datalen);
+ if (IS_ERR(data)) {
+ result = PTR_ERR(data);
goto out;
-
- *(data + datalen) = '\0';
-
- result = -EFAULT;
- if (copy_from_user(data, buf, datalen))
- goto out_free;
+ }
result = mutex_lock_interruptible(&ima_write_mutex);
if (result < 0)
--
2.9.3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH] platform/x86: toshiba_acpi: use memdup_user_nul
2017-05-06 15:40 [PATCH] drm/i915: use memdup_user_nul Geliang Tang
2017-05-06 15:40 ` [PATCH] ima: " Geliang Tang
@ 2017-05-06 15:40 ` Geliang Tang
2017-05-07 11:42 ` Andy Shevchenko
2017-05-06 15:40 ` [PATCH] sparc: use memdup_user_nul in sun4m LED driver Geliang Tang
2017-05-08 7:29 ` [Intel-gfx] [PATCH] drm/i915: use memdup_user_nul Daniel Vetter
3 siblings, 1 reply; 8+ messages in thread
From: Geliang Tang @ 2017-05-06 15:40 UTC (permalink / raw)
To: Azael Avalos, Darren Hart, Andy Shevchenko
Cc: Geliang Tang, platform-driver-x86, linux-kernel
Use memdup_user_nul() helper instead of open-coding to simplify the
code.
Signed-off-by: Geliang Tang <geliangtang@gmail.com>
---
drivers/platform/x86/toshiba_acpi.c | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/drivers/platform/x86/toshiba_acpi.c b/drivers/platform/x86/toshiba_acpi.c
index d0daf75..88f9f79 100644
--- a/drivers/platform/x86/toshiba_acpi.c
+++ b/drivers/platform/x86/toshiba_acpi.c
@@ -1502,14 +1502,9 @@ static ssize_t video_proc_write(struct file *file, const char __user *buf,
int ret;
u32 video_out;
- cmd = kmalloc(count + 1, GFP_KERNEL);
- if (!cmd)
- return -ENOMEM;
- if (copy_from_user(cmd, buf, count)) {
- kfree(cmd);
- return -EFAULT;
- }
- cmd[count] = '\0';
+ cmd = memdup_user_nul(buf, count);
+ if (IS_ERR(cmd))
+ return PTR_ERR(cmd);
buffer = cmd;
--
2.9.3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH] sparc: use memdup_user_nul in sun4m LED driver
2017-05-06 15:40 [PATCH] drm/i915: use memdup_user_nul Geliang Tang
2017-05-06 15:40 ` [PATCH] ima: " Geliang Tang
2017-05-06 15:40 ` [PATCH] platform/x86: toshiba_acpi: " Geliang Tang
@ 2017-05-06 15:40 ` Geliang Tang
2017-05-09 19:16 ` David Miller
2017-05-08 7:29 ` [Intel-gfx] [PATCH] drm/i915: use memdup_user_nul Daniel Vetter
3 siblings, 1 reply; 8+ messages in thread
From: Geliang Tang @ 2017-05-06 15:40 UTC (permalink / raw)
To: David S. Miller, Ingo Molnar; +Cc: Geliang Tang, sparclinux, linux-kernel
Use memdup_user_nul() helper instead of open-coding to simplify the code.
Signed-off-by: Geliang Tang <geliangtang@gmail.com>
---
arch/sparc/kernel/led.c | 13 +++----------
1 file changed, 3 insertions(+), 10 deletions(-)
diff --git a/arch/sparc/kernel/led.c b/arch/sparc/kernel/led.c
index 44a3ed9..e278bf5 100644
--- a/arch/sparc/kernel/led.c
+++ b/arch/sparc/kernel/led.c
@@ -70,16 +70,9 @@ static ssize_t led_proc_write(struct file *file, const char __user *buffer,
if (count > LED_MAX_LENGTH)
count = LED_MAX_LENGTH;
- buf = kmalloc(sizeof(char) * (count + 1), GFP_KERNEL);
- if (!buf)
- return -ENOMEM;
-
- if (copy_from_user(buf, buffer, count)) {
- kfree(buf);
- return -EFAULT;
- }
-
- buf[count] = '\0';
+ buf = memdup_user_nul(buffer, count);
+ if (IS_ERR(buf))
+ return PTR_ERR(buf);
/* work around \n when echo'ing into proc */
if (buf[count - 1] == '\n')
--
2.9.3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] platform/x86: toshiba_acpi: use memdup_user_nul
2017-05-06 15:40 ` [PATCH] platform/x86: toshiba_acpi: " Geliang Tang
@ 2017-05-07 11:42 ` Andy Shevchenko
0 siblings, 0 replies; 8+ messages in thread
From: Andy Shevchenko @ 2017-05-07 11:42 UTC (permalink / raw)
To: Geliang Tang
Cc: Azael Avalos, Darren Hart, Andy Shevchenko, Platform Driver,
linux-kernel
On Sat, May 6, 2017 at 6:40 PM, Geliang Tang <geliangtang@gmail.com> wrote:
> Use memdup_user_nul() helper instead of open-coding to simplify the
> code.
>
Pushed to testing, thanks.
> Signed-off-by: Geliang Tang <geliangtang@gmail.com>
> ---
> drivers/platform/x86/toshiba_acpi.c | 11 +++--------
> 1 file changed, 3 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/platform/x86/toshiba_acpi.c b/drivers/platform/x86/toshiba_acpi.c
> index d0daf75..88f9f79 100644
> --- a/drivers/platform/x86/toshiba_acpi.c
> +++ b/drivers/platform/x86/toshiba_acpi.c
> @@ -1502,14 +1502,9 @@ static ssize_t video_proc_write(struct file *file, const char __user *buf,
> int ret;
> u32 video_out;
>
> - cmd = kmalloc(count + 1, GFP_KERNEL);
> - if (!cmd)
> - return -ENOMEM;
> - if (copy_from_user(cmd, buf, count)) {
> - kfree(cmd);
> - return -EFAULT;
> - }
> - cmd[count] = '\0';
> + cmd = memdup_user_nul(buf, count);
> + if (IS_ERR(cmd))
> + return PTR_ERR(cmd);
>
> buffer = cmd;
>
> --
> 2.9.3
>
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915: use memdup_user_nul
2017-05-06 15:40 [PATCH] drm/i915: use memdup_user_nul Geliang Tang
` (2 preceding siblings ...)
2017-05-06 15:40 ` [PATCH] sparc: use memdup_user_nul in sun4m LED driver Geliang Tang
@ 2017-05-08 7:29 ` Daniel Vetter
3 siblings, 0 replies; 8+ messages in thread
From: Daniel Vetter @ 2017-05-08 7:29 UTC (permalink / raw)
To: Geliang Tang
Cc: Daniel Vetter, Jani Nikula, David Airlie, intel-gfx,
linux-kernel, dri-devel
On Sat, May 06, 2017 at 11:40:17PM +0800, Geliang Tang wrote:
> Use memdup_user_nul() helper instead of open-coding to simplify the
> code.
>
> Signed-off-by: Geliang Tang <geliangtang@gmail.com>
Thx for the patch, applied to drm-intel.git.
-Daniel
> ---
> drivers/gpu/drm/i915/i915_debugfs.c | 13 +++----------
> drivers/gpu/drm/i915/intel_pipe_crc.c | 13 +++----------
> 2 files changed, 6 insertions(+), 20 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index d689e51..e56b636 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -3704,16 +3704,10 @@ static ssize_t i915_displayport_test_active_write(struct file *file,
> if (len == 0)
> return 0;
>
> - input_buffer = kmalloc(len + 1, GFP_KERNEL);
> - if (!input_buffer)
> - return -ENOMEM;
> + input_buffer = memdup_user_nul(ubuf, len);
> + if (IS_ERR(input_buffer))
> + return PTR_ERR(input_buffer);
>
> - if (copy_from_user(input_buffer, ubuf, len)) {
> - status = -EFAULT;
> - goto out;
> - }
> -
> - input_buffer[len] = '\0';
> DRM_DEBUG_DRIVER("Copied %d bytes from user\n", (unsigned int)len);
>
> drm_connector_list_iter_begin(dev, &conn_iter);
> @@ -3739,7 +3733,6 @@ static ssize_t i915_displayport_test_active_write(struct file *file,
> }
> }
> drm_connector_list_iter_end(&conn_iter);
> -out:
> kfree(input_buffer);
> if (status < 0)
> return status;
> diff --git a/drivers/gpu/drm/i915/intel_pipe_crc.c b/drivers/gpu/drm/i915/intel_pipe_crc.c
> index 206ee4f..813dd3c 100644
> --- a/drivers/gpu/drm/i915/intel_pipe_crc.c
> +++ b/drivers/gpu/drm/i915/intel_pipe_crc.c
> @@ -842,19 +842,12 @@ static ssize_t display_crc_ctl_write(struct file *file, const char __user *ubuf,
> return -E2BIG;
> }
>
> - tmpbuf = kmalloc(len + 1, GFP_KERNEL);
> - if (!tmpbuf)
> - return -ENOMEM;
> -
> - if (copy_from_user(tmpbuf, ubuf, len)) {
> - ret = -EFAULT;
> - goto out;
> - }
> - tmpbuf[len] = '\0';
> + tmpbuf = memdup_user_nul(ubuf, len);
> + if (IS_ERR(tmpbuf))
> + return PTR_ERR(tmpbuf);
>
> ret = display_crc_ctl_parse(dev_priv, tmpbuf, len);
>
> -out:
> kfree(tmpbuf);
> if (ret < 0)
> return ret;
> --
> 2.9.3
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] ima: use memdup_user_nul
2017-05-06 15:40 ` [PATCH] ima: " Geliang Tang
@ 2017-05-08 15:44 ` Mimi Zohar
0 siblings, 0 replies; 8+ messages in thread
From: Mimi Zohar @ 2017-05-08 15:44 UTC (permalink / raw)
To: Geliang Tang, Dmitry Kasatkin, James Morris, Serge E. Hallyn
Cc: linux-ima-devel, linux-ima-user, linux-security-module, linux-kernel
On Sat, 2017-05-06 at 23:40 +0800, Geliang Tang wrote:
> Use memdup_user_nul() helper instead of open-coding to simplify the
> code.
>
> Signed-off-by: Geliang Tang <geliangtang@gmail.com>
Thanks, this patch will be queued.
Mimi
> ---
> security/integrity/ima/ima_fs.c | 13 ++++---------
> 1 file changed, 4 insertions(+), 9 deletions(-)
>
> diff --git a/security/integrity/ima/ima_fs.c b/security/integrity/ima/ima_fs.c
> index ca303e5..ad491c5 100644
> --- a/security/integrity/ima/ima_fs.c
> +++ b/security/integrity/ima/ima_fs.c
> @@ -323,16 +323,11 @@ static ssize_t ima_write_policy(struct file *file, const char __user *buf,
> if (*ppos != 0)
> goto out;
>
> - result = -ENOMEM;
> - data = kmalloc(datalen + 1, GFP_KERNEL);
> - if (!data)
> + data = memdup_user_nul(buf, datalen);
> + if (IS_ERR(data)) {
> + result = PTR_ERR(data);
> goto out;
> -
> - *(data + datalen) = '\0';
> -
> - result = -EFAULT;
> - if (copy_from_user(data, buf, datalen))
> - goto out_free;
> + }
>
> result = mutex_lock_interruptible(&ima_write_mutex);
> if (result < 0)
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] sparc: use memdup_user_nul in sun4m LED driver
2017-05-06 15:40 ` [PATCH] sparc: use memdup_user_nul in sun4m LED driver Geliang Tang
@ 2017-05-09 19:16 ` David Miller
0 siblings, 0 replies; 8+ messages in thread
From: David Miller @ 2017-05-09 19:16 UTC (permalink / raw)
To: geliangtang; +Cc: mingo, sparclinux, linux-kernel
From: Geliang Tang <geliangtang@gmail.com>
Date: Sat, 6 May 2017 23:40:20 +0800
> Use memdup_user_nul() helper instead of open-coding to simplify the code.
>
> Signed-off-by: Geliang Tang <geliangtang@gmail.com>
Applied.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2017-05-09 19:16 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-06 15:40 [PATCH] drm/i915: use memdup_user_nul Geliang Tang
2017-05-06 15:40 ` [PATCH] ima: " Geliang Tang
2017-05-08 15:44 ` Mimi Zohar
2017-05-06 15:40 ` [PATCH] platform/x86: toshiba_acpi: " Geliang Tang
2017-05-07 11:42 ` Andy Shevchenko
2017-05-06 15:40 ` [PATCH] sparc: use memdup_user_nul in sun4m LED driver Geliang Tang
2017-05-09 19:16 ` David Miller
2017-05-08 7:29 ` [Intel-gfx] [PATCH] drm/i915: use memdup_user_nul Daniel Vetter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).