]> git.baikalelectronics.ru Git - kernel.git/commit
btrfs: fix page leaks after failure to lock page for delalloc
authorRobbie Ko <robbieko@synology.com>
Mon, 20 Jul 2020 01:42:09 +0000 (09:42 +0800)
committerDavid Sterba <dsterba@suse.com>
Tue, 21 Jul 2020 20:08:53 +0000 (22:08 +0200)
commit6863ef69ec15306aadba44628821f7e5029f67bd
tree234936c92deb13a58c926fa4a0edcbad13e34099
parentb640ac4a79f3763557ac3913f651041aa2cac88d
btrfs: fix page leaks after failure to lock page for delalloc

When locking pages for delalloc, we check if it's dirty and mapping still
matches. If it does not match, we need to return -EAGAIN and release all
pages. Only the current page was put though, iterate over all the
remaining pages too.

CC: stable@vger.kernel.org # 4.14+
Reviewed-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: Nikolay Borisov <nborisov@suse.com>
Signed-off-by: Robbie Ko <robbieko@synology.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent_io.c