lkml.org 
[lkml]   [2008]   [May]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] Fix to return wrong pointer in slob
From
Date

On Mon, 2008-05-19 at 22:12 +0900, MinChan Kim wrote:
> Although slob_alloc return NULL, __kmalloc_node returns NULL + align.
> Because align always can be changed, it is very hard for debugging
> problem of no page if it don't return NULL.
>
> We have to return NULL in case of no page.
>
> Signed-off-by: MinChan Kim <minchan.kim@gmail.com>
> ---
> mm/slob.c | 9 ++++++---
> 1 files changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/mm/slob.c b/mm/slob.c
> index 6038cba..258d76d 100644
> --- a/mm/slob.c
> +++ b/mm/slob.c
> @@ -469,9 +469,12 @@ void *__kmalloc_node(size_t size, gfp_t gfp, int node)
> return ZERO_SIZE_PTR;
>
> m = slob_alloc(size + align, gfp, align, node);
> - if (m)
> - *m = size;
> - return (void *)m + align;
> + if (!m)
> + return NULL;
> + else {
> + *m = size;
> + return (void *)m + align;
> + }

This looks good, but I would remove the 'else {' and '}' here. It's nice
to have the 'normal path' minimally indented.

Otherwise,

Acked-by: Matt Mackall <mpm@selenic.com>

[cc:ed to Pekka, who manages the allocator tree]

> } else {
> void *ret;
>
--
Mathematics is the supreme nostalgia of our time.



\
 
 \ /
  Last update: 2008-05-19 19:45    [W:0.024 / U:1.228 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site