Messages in this thread | ![/](/images/icornerl.gif) | | From | "Rafael J. Wysocki" <> | Subject | Re: Oops in swsusp | Date | Mon, 11 Apr 2005 19:02:25 +0200 |
| |
Hi,
On Monday, 11 of April 2005 18:01, Andreas Steinmetz wrote: > Rafael J. Wysocki wrote: > > Hi, > > > > On Monday, 11 of April 2005 01:17, Andreas Steinmetz wrote: > > > >>Pavel, > >>during testing of the encrypted swsusp_image on x86_64 I did get an Oops > >>from time to time at memcpy+11 called from swsusp_save+1090 which turns > >>out to be the memcpy in copy_data_pages() of swsusp.c. > >>The Oops is caused by a NULL pointer (I don't remember if it was source > >>or destination). > > > > > > It's quite important, however. If it's the destination, it's probably a bug in > > swsusp. Otherwise, the problem is more serious. Could you, please, > > add BUG_ON(!pbe->address) right before the memcpy() and retest? > > Here's the result: > > BUG_ON(!pbe->address) hits, so is seems to be a swsusp problem. > > So I added a BUG_ON(!to_copy) as shown below (mangled for mailing): > > if (saveable(zone, &zone_pfn)) { > struct page * page; > BUG_ON(!to_copy); > page = pfn_to_page(zone_pfn + zone->zone_start_pfn); > pbe->orig_address = (long) page_address(page); > /* copy_page is not usable for copying task structs. */ > BUG_ON(!pbe->address); > memcpy((void *)pbe->address, (void *)pbe->orig_address, > PAGE_SIZE); > pbe++; > to_copy--; > } > > The BUG_ON(!to_copy) hits, too.
Oh, I see. You have discovered a bug in the code that was replaced in 2.6.12-rc1. :-) Please use 2.6.12-rc2 or the latest -mm for testing/development of swsusp.
Greets, Rafael
-- - 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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| ![\](/images/icornerr.gif) |