Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1633221 > unrolled thread

[PATCH 1/2] efi/efi_test: use memdup_user

Started byGeliang Tang <geliangtang@gmail.com>
First post2017-04-29 03:50 +0200
Last post2017-05-10 12:40 +0200
Articles 7 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 1/2] efi/efi_test: use memdup_user Geliang Tang <geliangtang@gmail.com> - 2017-04-29 03:50 +0200
    [PATCH 2/2] efi/efi_test: drop useless kfree Geliang Tang <geliangtang@gmail.com> - 2017-04-29 03:50 +0200
      Re: [PATCH 2/2] efi/efi_test: drop useless kfree ivanhu <ivan.hu@canonical.com> - 2017-05-02 09:20 +0200
        Re: [PATCH 2/2] efi/efi_test: drop useless kfree Geliang Tang <geliangtang@gmail.com> - 2017-05-02 17:00 +0200
    Re: [PATCH 1/2] efi/efi_test: use memdup_user Matt Fleming <matt@codeblueprint.co.uk> - 2017-05-05 23:00 +0200
      Re: [PATCH 1/2] efi/efi_test: use memdup_user ivanhu <ivan.hu@canonical.com> - 2017-05-08 10:20 +0200
        Re: [PATCH 1/2] efi/efi_test: use memdup_user Matt Fleming <matt@codeblueprint.co.uk> - 2017-05-10 12:40 +0200

#1633221 — [PATCH 1/2] efi/efi_test: use memdup_user

FromGeliang Tang <geliangtang@gmail.com>
Date2017-04-29 03:50 +0200
Subject[PATCH 1/2] efi/efi_test: use memdup_user
Message-ID<tBpGh-7H8-9@gated-at.bofh.it>
Use memdup_user() helper instead of open-coding to simplify the code.

Signed-off-by: Geliang Tang <geliangtang@gmail.com>
---
 drivers/firmware/efi/test/efi_test.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/drivers/firmware/efi/test/efi_test.c b/drivers/firmware/efi/test/efi_test.c
index 8cd578f..08129b7 100644
--- a/drivers/firmware/efi/test/efi_test.c
+++ b/drivers/firmware/efi/test/efi_test.c
@@ -71,18 +71,13 @@ copy_ucs2_from_user_len(efi_char16_t **dst, efi_char16_t __user *src,
 	if (!access_ok(VERIFY_READ, src, 1))
 		return -EFAULT;
 
-	buf = kmalloc(len, GFP_KERNEL);
-	if (!buf) {
+	buf = memdup_user(src, len);
+	if (IS_ERR(buf)) {
 		*dst = NULL;
-		return -ENOMEM;
+		return PTR_ERR(buf);
 	}
 	*dst = buf;
 
-	if (copy_from_user(*dst, src, len)) {
-		kfree(buf);
-		return -EFAULT;
-	}
-
 	return 0;
 }
 
-- 
2.9.3

[toc] | [next] | [standalone]


#1633227 — [PATCH 2/2] efi/efi_test: drop useless kfree

FromGeliang Tang <geliangtang@gmail.com>
Date2017-04-29 03:50 +0200
Subject[PATCH 2/2] efi/efi_test: drop useless kfree
Message-ID<tBpGi-7H8-23@gated-at.bofh.it>
In reply to#1633221
Drop useless kfree when memdup_user() failed, since we have already
called kfree in memdup_user().

Signed-off-by: Geliang Tang <geliangtang@gmail.com>
---
 drivers/firmware/efi/test/efi_test.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/firmware/efi/test/efi_test.c b/drivers/firmware/efi/test/efi_test.c
index 08129b7..00332ae 100644
--- a/drivers/firmware/efi/test/efi_test.c
+++ b/drivers/firmware/efi/test/efi_test.c
@@ -261,10 +261,8 @@ static long efi_runtime_set_variable(unsigned long arg)
 	}
 
 	data = memdup_user(setvariable.data, setvariable.data_size);
-	if (IS_ERR(data)) {
-		kfree(name);
+	if (IS_ERR(data))
 		return PTR_ERR(data);
-	}
 
 	status = efi.set_variable(name, &vendor_guid,
 				setvariable.attributes,
-- 
2.9.3

[toc] | [prev] | [next] | [standalone]


#1634180 — Re: [PATCH 2/2] efi/efi_test: drop useless kfree

Fromivanhu <ivan.hu@canonical.com>
Date2017-05-02 09:20 +0200
SubjectRe: [PATCH 2/2] efi/efi_test: drop useless kfree
Message-ID<tCAgh-3oI-13@gated-at.bofh.it>
In reply to#1633227

On 04/29/2017 09:42 AM, Geliang Tang wrote:
> Drop useless kfree when memdup_user() failed, since we have already
> called kfree in memdup_user().
>
> Signed-off-by: Geliang Tang <geliangtang@gmail.com>
> ---
>   drivers/firmware/efi/test/efi_test.c | 4 +---
>   1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/firmware/efi/test/efi_test.c b/drivers/firmware/efi/test/efi_test.c
> index 08129b7..00332ae 100644
> --- a/drivers/firmware/efi/test/efi_test.c
> +++ b/drivers/firmware/efi/test/efi_test.c
> @@ -261,10 +261,8 @@ static long efi_runtime_set_variable(unsigned long arg)
>   	}
>   
>   	data = memdup_user(setvariable.data, setvariable.data_size);
> -	if (IS_ERR(data)) {
> -		kfree(name);
You mean "name" or "data"?

Cheers,
Ivan

> +	if (IS_ERR(data))
>   		return PTR_ERR(data);
> -	}
>   
>   	status = efi.set_variable(name, &vendor_guid,
>   				setvariable.attributes,

[toc] | [prev] | [next] | [standalone]


#1634467 — Re: [PATCH 2/2] efi/efi_test: drop useless kfree

FromGeliang Tang <geliangtang@gmail.com>
Date2017-05-02 17:00 +0200
SubjectRe: [PATCH 2/2] efi/efi_test: drop useless kfree
Message-ID<tCHrr-7Ws-3@gated-at.bofh.it>
In reply to#1634180
On Tue, May 02, 2017 at 03:11:45PM +0800, ivanhu wrote:
> 
> 
> On 04/29/2017 09:42 AM, Geliang Tang wrote:
> > Drop useless kfree when memdup_user() failed, since we have already
> > called kfree in memdup_user().
> > 
> > Signed-off-by: Geliang Tang <geliangtang@gmail.com>
> > ---
> >   drivers/firmware/efi/test/efi_test.c | 4 +---
> >   1 file changed, 1 insertion(+), 3 deletions(-)
> > 
> > diff --git a/drivers/firmware/efi/test/efi_test.c b/drivers/firmware/efi/test/efi_test.c
> > index 08129b7..00332ae 100644
> > --- a/drivers/firmware/efi/test/efi_test.c
> > +++ b/drivers/firmware/efi/test/efi_test.c
> > @@ -261,10 +261,8 @@ static long efi_runtime_set_variable(unsigned long arg)
> >   	}
> >   	data = memdup_user(setvariable.data, setvariable.data_size);
> > -	if (IS_ERR(data)) {
> > -		kfree(name);
> You mean "name" or "data"?
> 

Sorry, it's my mistake. The original code is correct. Please ignore this
patch.

-Geliang

> Cheers,
> Ivan
> 
> > +	if (IS_ERR(data))
> >   		return PTR_ERR(data);
> > -	}
> >   	status = efi.set_variable(name, &vendor_guid,
> >   				setvariable.attributes,

[toc] | [prev] | [next] | [standalone]


#1636729

FromMatt Fleming <matt@codeblueprint.co.uk>
Date2017-05-05 23:00 +0200
Message-ID<tDSuu-6OQ-5@gated-at.bofh.it>
In reply to#1633221
On Sat, 29 Apr, at 09:42:52AM, Geliang Tang wrote:
> Use memdup_user() helper instead of open-coding to simplify the code.
> 
> Signed-off-by: Geliang Tang <geliangtang@gmail.com>
> ---
>  drivers/firmware/efi/test/efi_test.c | 11 +++--------
>  1 file changed, 3 insertions(+), 8 deletions(-)

This one looks fine. Ivan, do you want to ACK it?

[toc] | [prev] | [next] | [standalone]


#1637298

Fromivanhu <ivan.hu@canonical.com>
Date2017-05-08 10:20 +0200
Message-ID<tEM3E-1q2-17@gated-at.bofh.it>
In reply to#1636729

On 05/06/2017 04:53 AM, Matt Fleming wrote:
> On Sat, 29 Apr, at 09:42:52AM, Geliang Tang wrote:
>> Use memdup_user() helper instead of open-coding to simplify the code.
>>
>> Signed-off-by: Geliang Tang <geliangtang@gmail.com>
>> ---
>>  drivers/firmware/efi/test/efi_test.c | 11 +++--------
>>  1 file changed, 3 insertions(+), 8 deletions(-)
>
> This one looks fine. Ivan, do you want to ACK it?
>

Looks fine to me too, ACK. Thanks!

Ivan

[toc] | [prev] | [next] | [standalone]


#1638741

FromMatt Fleming <matt@codeblueprint.co.uk>
Date2017-05-10 12:40 +0200
Message-ID<tFxce-7Z5-23@gated-at.bofh.it>
In reply to#1637298
On Mon, 08 May, at 04:18:30PM, Ivan Hu wrote:
> 
> 
> On 05/06/2017 04:53 AM, Matt Fleming wrote:
> >On Sat, 29 Apr, at 09:42:52AM, Geliang Tang wrote:
> >>Use memdup_user() helper instead of open-coding to simplify the code.
> >>
> >>Signed-off-by: Geliang Tang <geliangtang@gmail.com>
> >>---
> >> drivers/firmware/efi/test/efi_test.c | 11 +++--------
> >> 1 file changed, 3 insertions(+), 8 deletions(-)
> >
> >This one looks fine. Ivan, do you want to ACK it?
> >
> 
> Looks fine to me too, ACK. Thanks!

Applied, thanks everyone.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web