patch-2.2.0-pre9 linux/mm/swapfile.c
Next file: linux/mm/vmscan.c
Previous file: linux/mm/page_alloc.c
Back to the patch index
Back to the overall index
- Lines: 16
- Date:
Tue Jan 19 10:01:37 1999
- Orig file:
v2.2.0-pre8/linux/mm/swapfile.c
- Orig date:
Wed Jan 13 15:00:44 1999
diff -u --recursive --new-file v2.2.0-pre8/linux/mm/swapfile.c linux/mm/swapfile.c
@@ -627,11 +627,11 @@
p->highest_bit = swap_header->info.last_page - 1;
p->max = swap_header->info.last_page;
- if (p->max >= 0x7fffffffL/PAGE_SIZE ||
- (void *) &swap_header->info.badpages[(int) swap_header->info.nr_badpages-1] >= (void *) swap_header->magic.magic) {
- error = -EINVAL;
+ error = -EINVAL;
+ if (swap_header->info.nr_badpages > MAX_SWAP_BADPAGES)
+ goto bad_swap;
+ if (p->max >= SWP_OFFSET(SWP_ENTRY(0,~0UL)))
goto bad_swap;
- }
/* OK, set up the swap map and apply the bad block list */
if (!(p->swap_map = vmalloc (p->max * sizeof(short)))) {
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov