android_kernel_motorola_sm6375/fs/btrfs
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Robbie Ko 38a66f3cda btrfs: fix page leaks after failure to lock page for delalloc
commit 5909ca110b29aa16b23b52b8de8d3bb1035fd738 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-07-29 10:18:30 +02:00
..
tests btrfs: Correctly handle empty trees in find_first_clear_extent_bit 2020-02-11 04:35:34 -08:00
acl.c
async-thread.c Btrfs: fix crash during unmount due to race with delayed inode workers 2020-04-17 10:50:15 +02:00
async-thread.h Btrfs: fix crash during unmount due to race with delayed inode workers 2020-04-17 10:50:15 +02:00
backref.c btrfs: fix double free on ulist after backref resolution failure 2020-07-29 10:18:30 +02:00
backref.h
block-group.c btrfs: fix a block group ref counter leak after failure to remove block group 2020-06-30 15:36:47 -04:00
block-group.h
block-rsv.c btrfs: force chunk allocation if our global rsv is larger than metadata 2020-06-22 09:31:13 +02:00
block-rsv.h
btrfs_inode.h
check-integrity.c btrfs: fix possible NULL-pointer dereference in integrity checks 2020-02-24 08:36:53 +01:00
check-integrity.h
compression.c
compression.h
ctree.c Btrfs: fix race between adding and putting tree mod seq elements and nodes 2020-02-11 04:35:34 -08:00
ctree.h btrfs: check if a log root exists before locking the log_mutex on unlink 2020-06-30 15:37:08 -04:00
delalloc-space.c Btrfs: fix qgroup double free after failure to reserve metadata for delalloc 2019-10-17 20:13:44 +02:00
delalloc-space.h
delayed-inode.c btrfs: use nofs allocations for running delayed items 2020-04-17 10:50:15 +02:00
delayed-inode.h
delayed-ref.c Btrfs: fix race between adding and putting tree mod seq elements and nodes 2020-02-11 04:35:34 -08:00
delayed-ref.h
dev-replace.c
dev-replace.h
dir-item.c
disk-io.c btrfs: set update the uuid generation as soon as possible 2020-04-17 10:50:15 +02:00
disk-io.h
export.c
export.h
extent-tree.c btrfs: handle logged extent failure properly 2020-02-28 17:22:13 +01:00
extent_io.c btrfs: fix page leaks after failure to lock page for delalloc 2020-07-29 10:18:30 +02:00
extent_io.h
extent_map.c Btrfs: fix race between using extent maps and merging them 2020-02-19 19:53:00 +01:00
extent_map.h
file-item.c btrfs: do not ignore error from btrfs_next_leaf() when inserting checksums 2020-06-22 09:30:55 +02:00
file.c btrfs: fix missing semaphore unlock in btrfs_sync_file 2020-04-17 10:50:15 +02:00
free-space-cache.c btrfs: check page->mapping when loading free space cache 2019-12-17 19:56:02 +01:00
free-space-cache.h
free-space-tree.c
free-space-tree.h
inode-item.c
inode-map.c btrfs: qgroup: Always free PREALLOC META reserve in btrfs_delalloc_release_extents() 2019-10-15 18:50:07 +02:00
inode-map.h
inode.c btrfs: fix double put of block group with nocow 2020-07-16 08:16:45 +02:00
ioctl.c Btrfs: make deduplication with range including the last block work 2020-02-11 04:35:33 -08:00
Kconfig
locking.c
locking.h
lzo.c
Makefile
misc.h
ordered-data.c Btrfs: fix btrfs_wait_ordered_range() so that it waits for all ordered extents 2020-02-28 17:22:24 +01:00
ordered-data.h
orphan.c
print-tree.c
print-tree.h
props.c
props.h
qgroup.c btrfs: qgroup: mark qgroup inconsistent if we're inherting snapshot to a new qgroup 2020-06-22 09:31:09 +02:00
qgroup.h btrfs: destroy qgroup extent records on transaction abort 2020-02-28 17:22:23 +01:00
raid56.c btrfs: get rid of unique workqueue helper functions 2020-01-09 10:20:06 +01:00
raid56.h
rcu-string.h
reada.c btrfs: get rid of unique workqueue helper functions 2020-01-09 10:20:06 +01:00
ref-verify.c btrfs: ref-verify: fix memory leaks 2020-02-19 19:53:00 +01:00
ref-verify.h
relocation.c btrfs: reloc: clear DEAD_RELOC_TREE bit for orphan roots to prevent runaway balance 2020-07-29 10:18:29 +02:00
root-tree.c btrfs: do not delete mismatched root refs 2020-01-23 08:22:40 +01:00
scrub.c btrfs: get rid of unique workqueue helper functions 2020-01-09 10:20:06 +01:00
send.c btrfs: send: emit file capabilities after chown 2020-06-22 09:31:12 +02:00
send.h
space-info.c btrfs: improve global reserve stealing logic 2020-06-22 09:31:08 +02:00
space-info.h btrfs: improve global reserve stealing logic 2020-06-22 09:31:08 +02:00
struct-funcs.c
super.c btrfs: log message when rw remount is attempted with unclean tree-log 2020-02-19 19:53:01 +01:00
sysfs.c
sysfs.h
transaction.c btrfs: force chunk allocation if our global rsv is larger than metadata 2020-06-22 09:31:13 +02:00
transaction.h btrfs: improve global reserve stealing logic 2020-06-22 09:31:08 +02:00
tree-checker.c Btrfs: make tree checker detect checksum items with overlapping ranges 2019-12-31 16:41:55 +01:00
tree-checker.h
tree-defrag.c
tree-log.c btrfs: check if a log root exists before locking the log_mutex on unlink 2020-06-30 15:37:08 -04:00
tree-log.h
ulist.c
ulist.h
uuid-tree.c btrfs: handle ENOENT in btrfs_uuid_tree_iterate 2019-12-31 16:42:05 +01:00
volumes.c btrfs: fix mount failure caused by race with umount 2020-07-29 10:18:30 +02:00
volumes.h btrfs: Remove btrfs_bio::flags member 2019-12-17 19:56:06 +01:00
xattr.c
xattr.h
zlib.c
zstd.c