X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=mm%2Fswapfile.c;h=c1a0f3dea8b5beb197b57619e8153f7d17483f8a;hb=112fa9a9223dfa3cae856d2e4424321363588c25;hp=58877312cf6b94b74da00b8913bf8db64d56ab26;hpb=d4070ff71363a2b6598633f23558f809600ebad2;p=firefly-linux-kernel-4.4.55.git diff --git a/mm/swapfile.c b/mm/swapfile.c index 58877312cf6b..c1a0f3dea8b5 100644 --- a/mm/swapfile.c +++ b/mm/swapfile.c @@ -2225,6 +2225,8 @@ static unsigned long read_swap_header(struct swap_info_struct *p, swab32s(&swap_header->info.version); swab32s(&swap_header->info.last_page); swab32s(&swap_header->info.nr_badpages); + if (swap_header->info.nr_badpages > MAX_SWAP_BADPAGES) + return 0; for (i = 0; i < swap_header->info.nr_badpages; i++) swab32s(&swap_header->info.badpages[i]); }