BUG_ON(PageNosave(virt_to_page(pagedir_save))); BUG_ON(PageNosaveFree(virt_to_page(pagedir_save))); free_image_pages(); free_pagedir(pagedir_save); 
struct zone *zone; unsigned long zone_pfn;  for_each_zone(zone) { for (zone_pfn = 0; zone_pfn < zone->spanned_pages; ++zone_pfn) if (pfn_valid(zone_pfn + zone->zone_start_pfn)) { struct page * page; page = pfn_to_page(zone_pfn + zone->zone_start_pfn); if (PageNosave(page) && PageNosaveFree(page)) { ClearPageNosave(page); ClearPageNosaveFree(page); free_page((long) page_address(page)); } } } 
void swsusp_free(void){	BUG_ON(PageNosave(virt_to_page(pagedir_save)));	BUG_ON(PageNosaveFree(virt_to_page(pagedir_save)));	free_image_pages();	free_pagedir(pagedir_save);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/351619baf9878731b4272fa10dda0f84f5582241/swsusp.c/buggy/kernel/power/swsusp.c