On Monday, 31 of January 2005 19:20, Pavel Machek wrote: > Hi! > > > > static inline void free_pagedir(struct pbe *pblist) > > > { > > > struct pbe *pbe; > > > > > > while (pblist) { > > > pbe = pblist + PB_PAGE_SKIP; > > > pblist = pbe->next; > > > free_page((unsigned long)pbe); > > > } > > > pr_debug("free_pagedir(): done\n"); > > > } > > > > > > Should not you free_page(pblist) instead? This passes address in > > > middle of page to free_page, that seems wrong. > > > > Certainly. It should be something like that: > > > > while (pblist) { > > pbe = pblist; > > pblist = (pbe + PB_PAGE_SKIP)->next; > > free_page((unsigned long)pbe); > > } > > Hmm, I see, my "fix" leaks one page of memory during each > suspend... I've fixed it properly now and will eventually propagete it > back. > > This should be right.. > > while (pblist) { > pbe = (pblist + PB_PAGE_SKIP)->next; > free_page((unsigned long)pblist); > pblist = pbe; > }
Sure it is. Greets, RJW -- - Would you tell me, please, which way I ought to go from here? - That depends a good deal on where you want to get to. -- Lewis Carroll "Alice's Adventures in Wonderland" - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/