Messages in this thread | | | Subject | Re: [Patch] mm/sparse.c: Check the return value of sparse_index_alloc(). | From | Dave Hansen <> | Date | Mon, 19 Nov 2007 13:17:02 -0800 |
| |
On Thu, 2007-11-15 at 21:54 +0800, WANG Cong wrote: > Since sparse_index_alloc() can return NULL on memory allocation failure, > we must deal with the failure condition when calling it. > > Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com> > Cc: Christoph Lameter <clameter@sgi.com> > Cc: Rik van Riel <riel@redhat.com> > > --- > > diff --git a/Makefile b/Makefile > diff --git a/mm/sparse.c b/mm/sparse.c > index e06f514..d245e59 100644 > --- a/mm/sparse.c > +++ b/mm/sparse.c > @@ -83,6 +83,8 @@ static int __meminit sparse_index_init(unsigned long section_nr, int nid) > return -EEXIST; > > section = sparse_index_alloc(nid); > + if (!section) > + return -ENOMEM; > /* > * This lock keeps two different sections from > * reallocating for the same index
Oddly enough, sparse_add_one_section() doesn't seem to like to check its allocations. The usemap is checked, but not freed on error. If you want to fix this up, I think it needs a little more love than just two lines.
Do you want to try to add some actual error handling to sparse_add_one_section()?
-- Dave
- 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/
| |