All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jesper Nilsson <jesper.nilsson@axis.com>
To: Giangiacomo Mariotti <giangiacomo.mariotti@gmail.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] Possible memory leak in arch/cris/arch-v32/drivers/cryptocop.c
Date: Thu, 11 Jun 2009 19:32:06 +0200	[thread overview]
Message-ID: <20090611173206.GE12383@axis.com> (raw)
In-Reply-To: <2aac3c260906110930k49d70eb9o9922795a5bfdadf8@mail.gmail.com>

Hi,

I'm having trouble with this patch, it seems horribly whitespace damaged.
Also, this leak has already been reported (bugzilla 11363) and
fixed in our local repo.

The following patch is what I have queued for the CRIS-tree:

From: Jesper Nilsson <jesper.nilsson@axis.com>
Subject: [PATCH] CRISv32: Fix potential null reference in cryptocop driver.

The code didn't test the pointer to the newly allocated
memory, but a parameter sent in as value.
Since the input parameter was most often set, the code
would have used a null pointer if the kmalloc failed.
If the input parameter was not set, the code would
leak the allocated buffer.

http://bugzilla.kernel.org/show_bug.cgi?id=11363

Reported-by: Daniel Marjamäki <danielm77@spray.se>
Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com>
---
 arch/cris/arch-v32/drivers/cryptocop.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/cris/arch-v32/drivers/cryptocop.c b/arch/cris/arch-v32/drivers/cryptocop.c
index 67c61ea..fd529a0 100644
--- a/arch/cris/arch-v32/drivers/cryptocop.c
+++ b/arch/cris/arch-v32/drivers/cryptocop.c
@@ -1395,7 +1395,7 @@ static int create_md5_pad(int alloc_flag, unsigned long long hashed_length, char
 	if (padlen < MD5_MIN_PAD_LENGTH) padlen += MD5_BLOCK_LENGTH;
 
 	p = kmalloc(padlen, alloc_flag);
-	if (!pad) return -ENOMEM;
+	if (!p) return -ENOMEM;
 
 	*p = 0x80;
 	memset(p+1, 0, padlen - 1);
@@ -1427,7 +1427,7 @@ static int create_sha1_pad(int alloc_flag, unsigned long long hashed_length, cha
 	if (padlen < SHA1_MIN_PAD_LENGTH) padlen += SHA1_BLOCK_LENGTH;
 
 	p = kmalloc(padlen, alloc_flag);
-	if (!pad) return -ENOMEM;
+	if (!p) return -ENOMEM;
 
 	*p = 0x80;
 	memset(p+1, 0, padlen - 1);
-- 
1.6.1

On Thu, Jun 11, 2009 at 06:30:17PM +0200, Giangiacomo Mariotti wrote:
> From ee8e71f0ae1356b324906efc8e858b29025c60ef Mon Sep 17 00:00:00 2001
> From: Giangiacomo Mariotti <giangiacomo.mariotti@gmail.com>
> Date: Thu, 11 Jun 2009 18:13:52 +0200
> Subject: [PATCH] Possible mem leak
> 
> ---
>  arch/cris/arch-v32/drivers/cryptocop.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/cris/arch-v32/drivers/cryptocop.c
> b/arch/cris/arch-v32/drivers/cryptocop.c
> index 67c61ea..fd529a0 100644
> --- a/arch/cris/arch-v32/drivers/cryptocop.c
> +++ b/arch/cris/arch-v32/drivers/cryptocop.c
> @@ -1395,7 +1395,7 @@ static int create_md5_pad(int alloc_flag,
> unsigned long long hashed_length, char
>  	if (padlen < MD5_MIN_PAD_LENGTH) padlen += MD5_BLOCK_LENGTH;
> 
>  	p = kmalloc(padlen, alloc_flag);
> -	if (!pad) return -ENOMEM;
> +	if (!p) return -ENOMEM;
> 
>  	*p = 0x80;
>  	memset(p+1, 0, padlen - 1);
> @@ -1427,7 +1427,7 @@ static int create_sha1_pad(int alloc_flag,
> unsigned long long hashed_length, cha
>  	if (padlen < SHA1_MIN_PAD_LENGTH) padlen += SHA1_BLOCK_LENGTH;
> 
>  	p = kmalloc(padlen, alloc_flag);
> -	if (!pad) return -ENOMEM;
> +	if (!p) return -ENOMEM;
> 
>  	*p = 0x80;
>  	memset(p+1, 0, padlen - 1);
> --
> 
> -- 
> You highest men whom my eyes have seen, this is my doubt about you and
> my secret laughter: I guess that you would call my overman—devil!
> What is great is so alien to your souls that the overman would be
> terrifying to you in his goodness ...
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

/^JN - Jesper Nilsson
-- 
               Jesper Nilsson -- jesper.nilsson@axis.com

      reply	other threads:[~2009-06-11 17:32 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-11 16:30 [PATCH] Possible memory leak in arch/cris/arch-v32/drivers/cryptocop.c Giangiacomo Mariotti
2009-06-11 17:32 ` Jesper Nilsson [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090611173206.GE12383@axis.com \
    --to=jesper.nilsson@axis.com \
    --cc=giangiacomo.mariotti@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.