SLUB: Deal with annoying gcc warning on kfree()
authorChristoph Lameter <clameter@sgi.com>
Fri, 8 Feb 2008 01:47:41 +0000 (17:47 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 26 Feb 2008 00:18:57 +0000 (16:18 -0800)
patch 5bb983b0cce9b7b281af15730f7019116dd42568 in mainline.

gcc 4.2 spits out an annoying warning if one casts a const void *
pointer to a void * pointer. No warning is generated if the
conversion is done through an assignment.

Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
mm/slub.c

index 474945ecd89d828478fd8048558c2a8d980604b3..c432f68067593e80f6e5264ad4420a32d126a8b3 100644 (file)
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -2592,6 +2592,7 @@ EXPORT_SYMBOL(ksize);
 void kfree(const void *x)
 {
        struct page *page;
+       void *object = (void *)x;
 
        if (unlikely(ZERO_OR_NULL_PTR(x)))
                return;
@@ -2601,7 +2602,7 @@ void kfree(const void *x)
                put_page(page);
                return;
        }
-       slab_free(page->slab, page, (void *)x, __builtin_return_address(0));
+       slab_free(page->slab, page, object, __builtin_return_address(0));
 }
 EXPORT_SYMBOL(kfree);