|
@@ -2047,13 +2047,12 @@ SYSCALL_DEFINE2(swapon, const char __user *, specialfile, int, swap_flags)
|
|
goto bad_swap;
|
|
goto bad_swap;
|
|
|
|
|
|
/* OK, set up the swap map and apply the bad block list */
|
|
/* OK, set up the swap map and apply the bad block list */
|
|
- swap_map = vmalloc(maxpages);
|
|
|
|
|
|
+ swap_map = vzalloc(maxpages);
|
|
if (!swap_map) {
|
|
if (!swap_map) {
|
|
error = -ENOMEM;
|
|
error = -ENOMEM;
|
|
goto bad_swap;
|
|
goto bad_swap;
|
|
}
|
|
}
|
|
|
|
|
|
- memset(swap_map, 0, maxpages);
|
|
|
|
nr_good_pages = maxpages - 1; /* omit header page */
|
|
nr_good_pages = maxpages - 1; /* omit header page */
|
|
|
|
|
|
for (i = 0; i < swap_header->info.nr_badpages; i++) {
|
|
for (i = 0; i < swap_header->info.nr_badpages; i++) {
|