Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

btrfs: Fix error handling in zlib

Return failure if alloc_page() fails to allocate memory,
and the upper code will just give up compression.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>

Li Zefan 4b72029d 8844355d

+8
+8
fs/btrfs/zlib.c
··· 225 225 data_in = kmap(in_page); 226 226 227 227 out_page = alloc_page(GFP_NOFS | __GFP_HIGHMEM); 228 + if (out_page == NULL) { 229 + ret = -1; 230 + goto out; 231 + } 228 232 cpage_out = kmap(out_page); 229 233 pages[0] = out_page; 230 234 nr_pages = 1; ··· 267 263 goto out; 268 264 } 269 265 out_page = alloc_page(GFP_NOFS | __GFP_HIGHMEM); 266 + if (out_page == NULL) { 267 + ret = -1; 268 + goto out; 269 + } 270 270 cpage_out = kmap(out_page); 271 271 pages[nr_pages] = out_page; 272 272 nr_pages++;