Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1636931 > unrolled thread
| Started by | Geliang Tang <geliangtang@gmail.com> |
|---|---|
| First post | 2017-05-06 17:50 +0200 |
| Last post | 2017-05-08 09:30 +0200 |
| Articles | 8 — 5 participants |
Back to article view | Back to linux.kernel
[PATCH] drm/i915: use memdup_user_nul Geliang Tang <geliangtang@gmail.com> - 2017-05-06 17:50 +0200
[PATCH] ima: use memdup_user_nul Geliang Tang <geliangtang@gmail.com> - 2017-05-06 17:50 +0200
Re: [PATCH] ima: use memdup_user_nul Mimi Zohar <zohar@linux.vnet.ibm.com> - 2017-05-08 17:50 +0200
[PATCH] platform/x86: toshiba_acpi: use memdup_user_nul Geliang Tang <geliangtang@gmail.com> - 2017-05-06 17:50 +0200
Re: [PATCH] platform/x86: toshiba_acpi: use memdup_user_nul Andy Shevchenko <andy.shevchenko@gmail.com> - 2017-05-07 23:40 +0200
[PATCH] sparc: use memdup_user_nul in sun4m LED driver Geliang Tang <geliangtang@gmail.com> - 2017-05-06 17:50 +0200
Re: [PATCH] sparc: use memdup_user_nul in sun4m LED driver David Miller <davem@davemloft.net> - 2017-05-09 21:20 +0200
Re: [Intel-gfx] [PATCH] drm/i915: use memdup_user_nul Daniel Vetter <daniel@ffwll.ch> - 2017-05-08 09:30 +0200
| From | Geliang Tang <geliangtang@gmail.com> |
|---|---|
| Date | 2017-05-06 17:50 +0200 |
| Subject | [PATCH] drm/i915: use memdup_user_nul |
| Message-ID | <tEa81-1tT-5@gated-at.bofh.it> |
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
[toc] | [next] | [standalone]
| From | Geliang Tang <geliangtang@gmail.com> |
|---|---|
| Date | 2017-05-06 17:50 +0200 |
| Subject | [PATCH] ima: use memdup_user_nul |
| Message-ID | <tEa82-1tT-19@gated-at.bofh.it> |
| In reply to | #1636931 |
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
[toc] | [prev] | [next] | [standalone]
| From | Mimi Zohar <zohar@linux.vnet.ibm.com> |
|---|---|
| Date | 2017-05-08 17:50 +0200 |
| Subject | Re: [PATCH] ima: use memdup_user_nul |
| Message-ID | <tET58-5NG-13@gated-at.bofh.it> |
| In reply to | #1636936 |
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)
[toc] | [prev] | [next] | [standalone]
| From | Geliang Tang <geliangtang@gmail.com> |
|---|---|
| Date | 2017-05-06 17:50 +0200 |
| Subject | [PATCH] platform/x86: toshiba_acpi: use memdup_user_nul |
| Message-ID | <tEa82-1tT-17@gated-at.bofh.it> |
| In reply to | #1636931 |
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
[toc] | [prev] | [next] | [standalone]
| From | Andy Shevchenko <andy.shevchenko@gmail.com> |
|---|---|
| Date | 2017-05-07 23:40 +0200 |
| Subject | Re: [PATCH] platform/x86: toshiba_acpi: use memdup_user_nul |
| Message-ID | <tEC4i-2U2-5@gated-at.bofh.it> |
| In reply to | #1636938 |
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
[toc] | [prev] | [next] | [standalone]
| From | Geliang Tang <geliangtang@gmail.com> |
|---|---|
| Date | 2017-05-06 17:50 +0200 |
| Subject | [PATCH] sparc: use memdup_user_nul in sun4m LED driver |
| Message-ID | <tEa82-1tT-31@gated-at.bofh.it> |
| In reply to | #1636931 |
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
[toc] | [prev] | [next] | [standalone]
| From | David Miller <davem@davemloft.net> |
|---|---|
| Date | 2017-05-09 21:20 +0200 |
| Subject | Re: [PATCH] sparc: use memdup_user_nul in sun4m LED driver |
| Message-ID | <tFiPT-62w-1@gated-at.bofh.it> |
| In reply to | #1636942 |
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.
[toc] | [prev] | [next] | [standalone]
| From | Daniel Vetter <daniel@ffwll.ch> |
|---|---|
| Date | 2017-05-08 09:30 +0200 |
| Subject | Re: [Intel-gfx] [PATCH] drm/i915: use memdup_user_nul |
| Message-ID | <tELhf-SA-11@gated-at.bofh.it> |
| In reply to | #1636931 |
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
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web