Commit 254b5477 authored by Rafael J. Wysocki's avatar Rafael J. Wysocki Committed by Linus Torvalds

[PATCH] swsusp: remove wrong code from data_free

The following patch removes some wrong code from the data_free() function
in swsusp.

This function could only be called if there's an error while writing the
suspend image to swap, so it is not triggered easily.  However, if
triggered, it would probably corrupt some memory.
Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
Acked-by: default avatarPavel Machek <pavel@ucw.cz>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 249a6771
...@@ -402,15 +402,14 @@ static int write_page(unsigned long addr, swp_entry_t * loc) ...@@ -402,15 +402,14 @@ static int write_page(unsigned long addr, swp_entry_t * loc)
static void data_free(void) static void data_free(void)
{ {
swp_entry_t entry; swp_entry_t entry;
int i; struct pbe * p;
for (i = 0; i < nr_copy_pages; i++) { for_each_pbe(p, pagedir_nosave) {
entry = (pagedir_nosave + i)->swap_address; entry = p->swap_address;
if (entry.val) if (entry.val)
swap_free(entry); swap_free(entry);
else else
break; break;
(pagedir_nosave + i)->swap_address = (swp_entry_t){0};
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment