vmscan: avoid multiplication overflow in shrink_zone()
Local variable `scan' can overflow on zones which are larger than (2G * 4k) / 100 = 80GB. Making it 64-bit on 64-bit will fix that up. Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Cc: Wu Fengguang <fengguang.wu@intel.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Rik van Riel <riel@redhat.com> Cc: Lee Schermerhorn <lee.schermerhorn@hp.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
0ae05fb254
commit
8713e01295
|
@ -1471,7 +1471,7 @@ static void shrink_zone(int priority, struct zone *zone,
|
|||
|
||||
for_each_evictable_lru(l) {
|
||||
int file = is_file_lru(l);
|
||||
int scan;
|
||||
unsigned long scan;
|
||||
|
||||
scan = zone_nr_pages(zone, sc, l);
|
||||
if (priority) {
|
||||
|
|
Loading…
Reference in New Issue