Akinobu Mita 7b57976da4 frontswap: fix incorrect zeroing and allocation size for frontswap_map
The bitmap accessed by bitops must have enough size to hold the required
numbers of bits rounded up to a multiple of BITS_PER_LONG.  And the
bitmap must not be zeroed by memset() if the number of bits cleared is
not a multiple of BITS_PER_LONG.

This fixes incorrect zeroing and allocation size for frontswap_map.  The
incorrect zeroing part doesn't cause any problem because frontswap_map
is freed just after zeroing.  But the wrongly calculated allocation size
may cause the problem.

For 32bit systems, the allocation size of frontswap_map is about twice
as large as required size.  For 64bit systems, the allocation size is
smaller than requeired if the number of bits is not a multiple of
BITS_PER_LONG.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-06-12 16:29:46 -07:00
..
2012-01-03 22:54:56 -05:00
2011-07-26 16:49:47 -07:00
2013-06-06 10:07:26 +09:00
2013-02-23 17:50:18 -08:00
2010-05-21 18:31:21 -04:00
2012-06-20 14:39:36 -07:00
2013-05-07 20:16:25 -07:00
2013-02-23 17:50:18 -08:00
2013-05-07 20:16:25 -07:00
2012-12-20 18:46:29 -05:00
2013-05-07 18:38:27 -07:00