android_kernel_motorola_sm6225/fs/btrfs
Josef Bacik d090a23569 btrfs: do not allow non subvolume root targets for snapshot
[ Upstream commit a8892fd71933126ebae3d60aec5918d4dceaae76 ]

Our btrfs subvolume snapshot <source> <destination> utility enforces
that <source> is the root of the subvolume, however this isn't enforced
in the kernel.  Update the kernel to also enforce this limitation to
avoid problems with other users of this ioctl that don't have the
appropriate checks in place.

Reported-by: Martin Michaelis <code@mgjm.de>
CC: stable@vger.kernel.org # 4.14+
Reviewed-by: Neal Gompa <neal@gompa.dev>
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-01-08 11:27:35 +01:00
..
tests btrfs: remove pointless and double ulist frees in error paths of qgroup tests 2022-11-25 17:40:22 +01:00
acl.c
async-thread.c btrfs: fix memory ordering between normal and ordered work functions 2021-11-26 11:36:23 +01:00
async-thread.h
backref.c btrfs: fix inode list leak during backref walking at resolve_indirect_refs() 2022-11-10 17:46:52 +01:00
backref.h
btrfs_inode.h
check-integrity.c
check-integrity.h
compression.c btrfs: mark compressed range uptodate only if all bio succeed 2021-08-08 08:54:28 +02:00
compression.h
ctree.c btrfs: fix extent buffer leak after tree mod log failure at split_node() 2023-08-11 11:45:28 +02:00
ctree.h btrfs: tree-checker: Verify inode item 2020-11-10 12:35:56 +01:00
dedupe.h
delayed-inode.c btrfs: fix lockdep splat and potential deadlock after failure running delayed items 2023-09-23 10:48:17 +02:00
delayed-inode.h
delayed-ref.c
delayed-ref.h
dev-replace.c btrfs: dev-replace: fail mount if we don't have replace item with target device 2020-11-18 19:18:48 +01:00
dev-replace.h
dir-item.c
disk-io.c btrfs: use nofs when cleaning up aborted transactions 2023-05-30 12:42:13 +01:00
disk-io.h
export.c btrfs: fix type of parameter generation in btrfs_get_dentry 2022-11-10 17:46:54 +01:00
export.h btrfs: fix type of parameter generation in btrfs_get_dentry 2022-11-10 17:46:54 +01:00
extent-tree.c btrfs: return -EUCLEAN for delayed tree ref with a ref count not equals to 1 2023-10-25 11:16:52 +02:00
extent_io.c btrfs: don't stop integrity writeback too early 2023-08-16 18:13:01 +02:00
extent_io.h btrfs: fix qgroup reserve overflow the qgroup limit 2022-04-15 14:15:06 +02:00
extent_map.c
extent_map.h
file-item.c btrfs: fix error handling in btrfs_del_csums 2021-06-10 13:24:07 +02:00
file.c btrfs: return value from btrfs_mark_extent_written() in case of error 2021-06-16 11:54:59 +02:00
free-space-cache.c btrfs: fix space cache inconsistency after error loading it from disk 2023-05-30 12:42:10 +01:00
free-space-cache.h
free-space-tree.c
free-space-tree.h
inode-item.c
inode-map.c
inode-map.h
inode.c btrfs: replace calls to btrfs_find_free_ino with btrfs_find_free_objectid 2023-05-30 12:42:10 +01:00
ioctl.c btrfs: do not allow non subvolume root targets for snapshot 2024-01-08 11:27:35 +01:00
Kconfig btrfs: disable build on platforms having page size 256K 2021-07-20 16:15:45 +02:00
locking.c
locking.h
lzo.c
Makefile
math.h
ordered-data.c
ordered-data.h
orphan.c
print-tree.c btrfs: print-tree: parent bytenr must be aligned to sector size 2023-05-17 11:13:25 +02:00
print-tree.h
props.c
props.h
qgroup.c btrfs: fix race when deleting quota root from the dirty cow roots list 2023-08-11 11:45:15 +02:00
qgroup.h
raid56.c btrfs: raid56: don't trust any cached sector in __raid56_parity_recover() 2022-08-25 11:15:48 +02:00
raid56.h
rcu-string.h btrfs: replace strncpy() with strscpy() 2023-01-18 11:30:46 +01:00
reada.c btrfs: fix use-after-free on readahead extent after failure to create it 2020-11-05 11:08:48 +01:00
ref-verify.c btrfs: ref-verify: fix memory leak in btrfs_ref_tree_mod 2020-11-18 19:18:48 +01:00
ref-verify.h
relocation.c btrfs: unset reloc control if transaction commit fails in prepare_to_relocate() 2023-06-14 10:57:14 +02:00
root-tree.c
scrub.c
send.c btrfs: send: ensure send_fd is writable 2023-12-08 08:43:25 +01:00
send.h
struct-funcs.c
super.c btrfs: properly report 0 avail for very full file systems 2023-10-10 21:44:59 +02:00
sysfs.c btrfs: sysfs: use NOFS for device creation 2020-08-26 10:30:59 +02:00
sysfs.h
transaction.c btrfs: don't start transaction when joining with TRANS_JOIN_NOSTART 2023-09-23 10:48:14 +02:00
transaction.h
tree-checker.c btrfs: tree-checker: fix the error message for transid error 2020-11-10 12:35:57 +01:00
tree-checker.h btrfs: Move btrfs_check_chunk_valid() to tree-check.[ch] and export it 2020-11-10 12:35:56 +01:00
tree-defrag.c
tree-log.c btrfs: initialize start_slot in btrfs_log_prealloc_extents 2023-10-25 11:16:52 +02:00
tree-log.h
ulist.c
ulist.h
uuid-tree.c
volumes.c btrfs: fix off-by-one when checking chunk map includes logical address 2023-12-08 08:43:25 +01:00
volumes.h btrfs: tree-checker: Verify dev item 2020-11-10 12:35:56 +01:00
xattr.c btrfs: check if root is readonly while setting security xattr 2022-09-05 10:26:31 +02:00
xattr.h
zlib.c
zstd.c