All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <axboe@suse.de>
To: Jesper Juhl <juhl-lkml@dif.dk>
Cc: linux-kernel <linux-kernel@vger.kernel.org>,
	Katrina Tsipenyuk <ytsipenyuk@fortifysoftware.com>,
	katrina@fortifysoftware.com,
	Mark Hemment <markhe@nextd.demon.co.uk>,
	akpm@osdl.org
Subject: Re: [PATCH][2/2] fix unchecked returns from kmalloc() (in mm/slab.c)
Date: Tue, 7 Dec 2004 22:26:04 +0100	[thread overview]
Message-ID: <20041207212603.GC10083@suse.de> (raw)
In-Reply-To: <Pine.LNX.4.61.0412072213320.3320@dragon.hygekrogen.localhost>

On Tue, Dec 07 2004, Jesper Juhl wrote:
> 
> Problem reported by Katrina Tsipenyuk and the Fortify Software engineering
> team in thread with subject "PROBLEM: unchecked returns from kmalloc() in
> linux-2.6.10-rc2".
> 
> Unfortunately I'm not very familliar with the code in question, and since 
> I didn't find a really good way to deal with a failing kmalloc() here I 
> settled for second best which is to add a BUG_ON() in case kmalloc fails. 
> This will at least crash in a sane way at the point the problem occoures 
> rather than getting strange problems at a (possibly) later time. If 
> someone who's familliar with how this code works has a better solution 
> then please step forward :) but in the mean time I think this is at least 
> a slight improvement over the current situation.
> 
> Patch has been compile tested and boot tested and didn't blow up 
> instantly, but please review before applying.
> 
> 
> Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
> 
> diff -up linux-2.6.10-rc3-bk2-orig/mm/slab.c linux-2.6.10-rc3-bk2/mm/slab.c
> --- linux-2.6.10-rc3-bk2-orig/mm/slab.c	2004-12-06 22:24:56.000000000 +0100
> +++ linux-2.6.10-rc3-bk2/mm/slab.c	2004-12-07 21:27:20.000000000 +0100
> @@ -804,6 +804,7 @@ void __init kmem_cache_init(void)
>  		void * ptr;
>  		
>  		ptr = kmalloc(sizeof(struct arraycache_init), GFP_KERNEL);
> +		BUG_ON(ptr == NULL);	/* FIXME: Can a failed kmalloc be handled better? */
>  		local_irq_disable();
>  		BUG_ON(ac_data(&cache_cache) != &initarray_cache.cache);
>  		memcpy(ptr, ac_data(&cache_cache), sizeof(struct arraycache_init));

This is pointless, as a NULL deref on memcpy will give you the exact
same info.

-- 
Jens Axboe


  reply	other threads:[~2004-12-07 21:26 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-12-07 21:23 [PATCH][2/2] fix unchecked returns from kmalloc() (in mm/slab.c) Jesper Juhl
2004-12-07 21:26 ` Jens Axboe [this message]
2004-12-07 21:40   ` Jesper Juhl
2004-12-07 21:32     ` Jens Axboe
2004-12-07 22:51       ` Jesper Juhl

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=20041207212603.GC10083@suse.de \
    --to=axboe@suse.de \
    --cc=akpm@osdl.org \
    --cc=juhl-lkml@dif.dk \
    --cc=katrina@fortifysoftware.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=markhe@nextd.demon.co.uk \
    --cc=ytsipenyuk@fortifysoftware.com \
    /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.