Hi Steve, On Sat, Aug 30, 2008 at 2:16 AM, Steve VanDeBogart <[EMAIL PROTECTED]> wrote: > 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);
No SHOUTING macros please, and I think you should just pass page and order here and do the calculation elsewhere. > > __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); Same here. > if (order == 0) > free_hot_page(page); > else Other than that, looks good to me. ------------------------------------------------------------------------- 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