Messages in this thread | | | Date | Tue, 20 Nov 2007 12:57:37 +0800 | From | WANG Cong <> | Subject | Re: [Patch] mm/sparse.c: Check the return value of sparse_index_alloc(). |
| |
On Mon, Nov 19, 2007 at 01:17:02PM -0800, Dave Hansen wrote: >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.
Er, right. I missed this point.
> >Do you want to try to add some actual error handling to >sparse_add_one_section()?
Yes, I will have a try. And memory_present() also doesn't check it. More patches around this will come up soon. Since Andrew has included the above patch, so I won't remake it with others together.
Andrew, is this OK for you?
Thanks.
- 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/
| |