diff --git a/[refs] b/[refs] index e58a40c3e990..89537f6f5bc3 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 736f3203a06eafd0944103775a98584082744c6b +refs/heads/master: 7b57976da48e60b66fdbb9e97f5711b5382a49d7 diff --git a/trunk/mm/frontswap.c b/trunk/mm/frontswap.c index 538367ef1372..1b24bdcb3197 100644 --- a/trunk/mm/frontswap.c +++ b/trunk/mm/frontswap.c @@ -319,7 +319,7 @@ void __frontswap_invalidate_area(unsigned type) return; frontswap_ops->invalidate_area(type); atomic_set(&sis->frontswap_pages, 0); - memset(sis->frontswap_map, 0, sis->max / sizeof(long)); + bitmap_zero(sis->frontswap_map, sis->max); } clear_bit(type, need_init); } diff --git a/trunk/mm/swapfile.c b/trunk/mm/swapfile.c index 6c340d908b27..746af55b8455 100644 --- a/trunk/mm/swapfile.c +++ b/trunk/mm/swapfile.c @@ -2116,7 +2116,7 @@ SYSCALL_DEFINE2(swapon, const char __user *, specialfile, int, swap_flags) } /* frontswap enabled? set up bit-per-page map for frontswap */ if (frontswap_enabled) - frontswap_map = vzalloc(maxpages / sizeof(long)); + frontswap_map = vzalloc(BITS_TO_LONGS(maxpages) * sizeof(long)); if (p->bdev) { if (blk_queue_nonrot(bdev_get_queue(p->bdev))) {