swsusp: use GFP_KERNEL for creating basic data structures
Make swsusp call create_basic_memory_bitmaps() before processes are frozen, so that GFP_KERNEL allocations can be made in it. Additionally, ensure that the swsusp's userland interface won't be used while either pm_suspend_disk() or software_resume() is being executed. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
1525a2ad76
commit
0709db6072
@@ -723,19 +723,19 @@ int create_basic_memory_bitmaps(void)
|
||||
|
||||
BUG_ON(forbidden_pages_map || free_pages_map);
|
||||
|
||||
bm1 = kzalloc(sizeof(struct memory_bitmap), GFP_ATOMIC);
|
||||
bm1 = kzalloc(sizeof(struct memory_bitmap), GFP_KERNEL);
|
||||
if (!bm1)
|
||||
return -ENOMEM;
|
||||
|
||||
error = memory_bm_create(bm1, GFP_ATOMIC | __GFP_COLD, PG_ANY);
|
||||
error = memory_bm_create(bm1, GFP_KERNEL, PG_ANY);
|
||||
if (error)
|
||||
goto Free_first_object;
|
||||
|
||||
bm2 = kzalloc(sizeof(struct memory_bitmap), GFP_ATOMIC);
|
||||
bm2 = kzalloc(sizeof(struct memory_bitmap), GFP_KERNEL);
|
||||
if (!bm2)
|
||||
goto Free_first_bitmap;
|
||||
|
||||
error = memory_bm_create(bm2, GFP_ATOMIC | __GFP_COLD, PG_ANY);
|
||||
error = memory_bm_create(bm2, GFP_KERNEL, PG_ANY);
|
||||
if (error)
|
||||
goto Free_second_object;
|
||||
|
||||
|
Reference in New Issue
Block a user