linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: NeilBrown <neilb@suse.de>
To: Jes.Sorensen@redhat.com
Cc: linux-raid@vger.kernel.org
Subject: Re: [PATCH 00/13] Add missing handling of malloc() failure
Date: Thu, 27 Oct 2011 15:49:26 +1100	[thread overview]
Message-ID: <20111027154926.4d5e8fef@notabene.brown> (raw)
In-Reply-To: <1319643026-11501-1-git-send-email-Jes.Sorensen@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 2200 bytes --]

On Wed, 26 Oct 2011 17:30:13 +0200 Jes.Sorensen@redhat.com wrote:

> From: Jes Sorensen <Jes.Sorensen@redhat.com>
> 
> Hi,
> 
> I cam across a couple of these last week while I was chasing the
> assemble problem of IMSM raids, so I started going through the code to
> fix up some more of these.
> 
> This is just low hanging fruit, and there is more to be done, but at
> least it's a few fixes.

Hi,

 I'm not at all sure this sort of thing is worth it.
 There is no guarantee that the memory is actually there when malloc returns
 non-NULL.  You might only get a page mapped when you access the memory, and
 equally the failure could happen at that time.

 If there is something genuinely useful that can be done when malloc fails,
 the it might make sense, but just printing a message an exiting seems
 pointless.

 If we were to go that route, I would probably want to use a #define to
 replace everything with a wrapper (xmalloc??) that printed a message and
 failed.

 Do you have a strong reason to add these checks?

Thanks,
NeilBrown


> 
> Cheers,
> Jes
> 
> 
> Jes Sorensen (13):
>   count_active() catch malloc() failure
>   Catch malloc() failures
>   Try to catch malloc() failures in Assemble.c
>   Attempt to catch malloc() failure in Detail.c
>   Handle malloc() failure in Examine.c
>   Handle malloc() errors in Manage.c
>   Fix malloc() failure handling in Monitor.c
>   Handle malloc() failures in devline()
>   Fix malloc handling in dlink.c
>   Handle malloc() failure in Grow.c
>   Handle malloc() failure in mdopen.c
>   Handle malloc() failure in mdstat.c
>   Catch malloc() failure
> 
>  Assemble.c    |   37 ++++++++++++++++++++-
>  Detail.c      |   22 +++++++++++++
>  Examine.c     |    5 +++
>  Grow.c        |    7 ++++
>  Incremental.c |    4 ++
>  Manage.c      |   13 ++++++-
>  Monitor.c     |    7 ++++
>  config.c      |   99 ++++++++++++++++++++++++++++++++++++++++++---------------
>  dlink.c       |    6 ++-
>  mdopen.c      |    6 +++
>  mdstat.c      |    5 +++
>  policy.c      |    5 +++
>  util.c        |   19 +++++++++--
>  13 files changed, 200 insertions(+), 35 deletions(-)
> 


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 828 bytes --]

  parent reply	other threads:[~2011-10-27  4:49 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-26 15:30 [PATCH 00/13] Add missing handling of malloc() failure Jes.Sorensen
2011-10-26 15:30 ` [PATCH 01/13] count_active() catch " Jes.Sorensen
2011-10-26 15:30 ` [PATCH 02/13] Catch malloc() failures Jes.Sorensen
2011-10-26 15:30 ` [PATCH 03/13] Try to catch malloc() failures in Assemble.c Jes.Sorensen
2011-10-26 15:30 ` [PATCH 04/13] Attempt to catch malloc() failure in Detail.c Jes.Sorensen
2011-10-26 15:30 ` [PATCH 05/13] Handle malloc() failure in Examine.c Jes.Sorensen
2011-10-26 15:30 ` [PATCH 06/13] Handle malloc() errors in Manage.c Jes.Sorensen
2011-10-26 15:30 ` [PATCH 07/13] Fix malloc() failure handling in Monitor.c Jes.Sorensen
2011-10-26 15:30 ` [PATCH 08/13] Handle malloc() failures in devline() Jes.Sorensen
2011-10-26 15:30 ` [PATCH 09/13] Fix malloc handling in dlink.c Jes.Sorensen
2011-10-26 15:30 ` [PATCH 10/13] Handle malloc() failure in Grow.c Jes.Sorensen
2011-10-26 15:30 ` [PATCH 11/13] Handle malloc() failure in mdopen.c Jes.Sorensen
2011-10-26 15:30 ` [PATCH 12/13] Handle malloc() failure in mdstat.c Jes.Sorensen
2011-10-26 15:30 ` [PATCH 13/13] Catch malloc() failure Jes.Sorensen
2011-10-27  4:49 ` NeilBrown [this message]
2011-10-27  7:39   ` [PATCH 00/13] Add missing handling of " Jes Sorensen

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=20111027154926.4d5e8fef@notabene.brown \
    --to=neilb@suse.de \
    --cc=Jes.Sorensen@redhat.com \
    --cc=linux-raid@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 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).