Commit a1ee5a45 authored by Li Zefan's avatar Li Zefan

Btrfs: avoid possible NULL deref in io_ctl_drop_pages()

If we run into some failure path in io_ctl_prepare_pages(),
io_ctl->pages[] array may have some NULL pointers.
Signed-off-by: default avatarLi Zefan <lizf@cn.fujitsu.com>
parent db804f23
...@@ -319,10 +319,12 @@ static void io_ctl_drop_pages(struct io_ctl *io_ctl) ...@@ -319,10 +319,12 @@ static void io_ctl_drop_pages(struct io_ctl *io_ctl)
io_ctl_unmap_page(io_ctl); io_ctl_unmap_page(io_ctl);
for (i = 0; i < io_ctl->num_pages; i++) { for (i = 0; i < io_ctl->num_pages; i++) {
if (io_ctl->pages[i]) {
ClearPageChecked(io_ctl->pages[i]); ClearPageChecked(io_ctl->pages[i]);
unlock_page(io_ctl->pages[i]); unlock_page(io_ctl->pages[i]);
page_cache_release(io_ctl->pages[i]); page_cache_release(io_ctl->pages[i]);
} }
}
} }
static int io_ctl_prepare_pages(struct io_ctl *io_ctl, struct inode *inode, static int io_ctl_prepare_pages(struct io_ctl *io_ctl, struct inode *inode,
......
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