Messages in this thread Patch in this message | | | Date | Mon, 19 May 2008 22:12:08 +0900 | From | MinChan Kim <> | Subject | [PATCH] Fix to return wrong pointer in slob |
| |
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; + } } else { void *ret; -- 1.5.4.3
| |