Valgrind annotations for valgrind: memory is addressable once it's been
alloced, and unaddressable when it is freed again.  Can't use malloc-like
and free-like because valgrind considers a malloc-like chunk indivisible.

Signed-off-by: Steve VanDeBogart <[EMAIL PROTECTED]>
---

Index: linux-2.6.27-rc5/mm/page_alloc.c
===================================================================
--- linux-2.6.27-rc5.orig/mm/page_alloc.c       2008-08-29 14:24:27.000000000 
-0700
+++ linux-2.6.27-rc5/mm/page_alloc.c    2008-08-29 14:24:37.000000000 -0700
@@ -46,6 +46,7 @@
  #include <linux/page-isolation.h>
  #include <linux/memcontrol.h>
  #include <linux/debugobjects.h>
+#include <linux/memcheck.h>

  #include <asm/tlbflush.h>
  #include <asm/div64.h>
@@ -1080,6 +1081,7 @@
                if (!page)
                        goto failed;
        }
+       VALGRIND_MAKE_MEM_UNDEFINED(page_address(page), PAGE_SIZE << order);

        __count_zone_vm_events(PGALLOC, zone, 1 << order);
        zone_statistics(preferred_zone, zone);
@@ -1679,6 +1681,8 @@
  void __free_pages(struct page *page, unsigned int order)
  {
        if (put_page_testzero(page)) {
+               VALGRIND_MAKE_MEM_NOACCESS(page_address(page),
+                                               PAGE_SIZE << order);
                if (order == 0)
                        free_hot_page(page);
                else

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

Reply via email to