]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - mm/swapfile.c
swap: divide-by-zero when zero length swap file on ssd
[mirror_ubuntu-bionic-kernel.git] / mm / swapfile.c
index 314ea1dc173d850cf6a2cf632cdc82dfb0a721fd..19458a1d8939dfc20ee643bf4971cc4b18ab8054 100644 (file)
@@ -2975,6 +2975,10 @@ static unsigned long read_swap_header(struct swap_info_struct *p,
 
        maxpages = max_swapfile_size();
        last_page = swap_header->info.last_page;
+       if (!last_page) {
+               pr_warn("Empty swap-file\n");
+               return 0;
+       }
        if (last_page > maxpages) {
                pr_warn("Truncating oversized swap area, only using %luk out of %luk\n",
                        maxpages << (PAGE_SHIFT - 10),