Commit 8ff0f3bf authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'iomap-5.12-fixes' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux

Pull iomap fix from Darrick Wong:
 "A single fix to the iomap code which fixes some drama when someone
  gives us a {de,ma}liciously fragmented swap file"

* 'iomap-5.12-fixes' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
  iomap: Fix negative assignment to unsigned sis->pages in iomap_swapfile_activate
parents 6417f031 5808fecc
...@@ -170,6 +170,16 @@ int iomap_swapfile_activate(struct swap_info_struct *sis, ...@@ -170,6 +170,16 @@ int iomap_swapfile_activate(struct swap_info_struct *sis,
return ret; return ret;
} }
/*
* If this swapfile doesn't contain even a single page-aligned
* contiguous range of blocks, reject this useless swapfile to
* prevent confusion later on.
*/
if (isi.nr_pages == 0) {
pr_warn("swapon: Cannot find a single usable page in file.\n");
return -EINVAL;
}
*pagespan = 1 + isi.highest_ppage - isi.lowest_ppage; *pagespan = 1 + isi.highest_ppage - isi.lowest_ppage;
sis->max = isi.nr_pages; sis->max = isi.nr_pages;
sis->pages = isi.nr_pages - 1; sis->pages = isi.nr_pages - 1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment