Josef Bacik
04c2223344
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:29:45 +01:00
..
9p
9p: missing chunk of "fs/9p: Don't update file type when updating file attributes"
2022-06-22 14:11:02 +02:00
adfs
affs
affs: initialize fsdata in affs_truncate()
2023-02-06 07:52:36 +01:00
afs
afs: Fix overwriting of result of DNS query
2024-01-08 11:29:44 +01:00
autofs
autofs: fix memory leak of waitqueues in autofs_catatonic_mode
2023-09-23 11:00:02 +02:00
befs
bfs
bfs: don't use WARNING: string when it's just info.
2021-01-06 14:48:39 +01:00
btrfs
btrfs: do not allow non subvolume root targets for snapshot
2024-01-08 11:29:45 +01:00
cachefiles
cachefiles: Handle readpage error correctly
2020-11-05 11:43:36 +01:00
ceph
ceph: fix incorrect revoked caps assert in ceph_fill_file_size()
2023-10-25 11:53:19 +02:00
cifs
smb: client: fix NULL deref in asn1_ber_decoder()
2024-01-08 11:29:45 +01:00
coda
coda: Avoid partial allocation of sig_inputArgs
2023-03-11 16:43:56 +01:00
configfs
configfs: fix possible memory leak in configfs_create_dir()
2023-01-18 11:41:09 +01:00
cramfs
cramfs: fix usage on non-MTD device
2019-11-23 21:44:49 -05:00
crypto
fscrypt: add fscrypt_symlink_getattr() for computing st_size
2021-09-12 08:56:38 +02:00
debugfs
new helper: lookup_positive_unlocked()
2023-09-23 10:59:40 +02:00
devpts
fsnotify: fix fsnotify hooks in pseudo filesystems
2022-02-01 17:24:34 +01:00
dlm
dlm: fix plock lookup when using multiple lockspaces
2023-09-23 10:59:55 +02:00
ecryptfs
Revert "ecryptfs: replace BUG_ON with error handling code"
2021-05-26 12:05:19 +02:00
efivarfs
efivarfs: revert "fix memory leak in efivarfs_create()"
2020-12-02 08:49:53 +01:00
efs
erofs
erofs: ensure that the post-EOF tails are all zeroed
2023-09-23 10:59:36 +02:00
exportfs
exportfs_decode_fh(): negative pinned may become positive without the parent locked
2019-11-10 11:56:05 -05:00
ext2
ext2: fix datatype of block number in ext2_xattr_set2()
2023-09-23 11:00:04 +02:00
ext4
ext4: prevent the normalized size from exceeding EXT_MAX_BLOCKS
2023-12-20 15:41:24 +01:00
f2fs
f2fs: fix to initialize map.m_pblk in f2fs_precache_extents()
2023-11-20 10:30:14 +01:00
fat
treewide: Remove uninitialized_var() usage
2023-06-09 10:29:01 +02:00
freevxfs
fscache
fscache: Fix cookie key hashing
2021-09-22 12:26:25 +02:00
fuse
fuse: nlookup missing decrement in fuse_direntplus_link
2023-09-23 11:00:00 +02:00
gfs2
gfs2: ignore negated quota changes
2023-11-28 16:50:15 +00:00
hfs
hfs: fix missing hfs_bnode_get() in __hfs_bnode_create
2023-03-11 16:43:59 +01:00
hfsplus
treewide: Remove uninitialized_var() usage
2023-06-09 10:29:01 +02:00
hostfs
hostfs: fix memory handling in follow_link()
2021-04-14 08:24:14 +02:00
hpfs
hugetlbfs
hugetlbfs: fix null-ptr-deref in hugetlbfs_parse_param()
2023-01-18 11:41:38 +01:00
iomap
iomap: iomap_write_failed fix
2022-06-14 18:11:36 +02:00
isofs
treewide: Remove uninitialized_var() usage
2023-06-09 10:29:01 +02:00
jbd2
jbd2: fix potential data lost in recovering journal raced with synchronizing fs bdev
2023-11-28 16:50:19 +00:00
jffs2
jffs2: reduce stack usage in jffs2_build_xattr_subsystem()
2023-07-27 08:37:25 +02:00
jfs
jfs: fix array-index-out-of-bounds in diAlloc
2023-11-28 16:50:15 +00:00
kernfs
new helper: lookup_positive_unlocked()
2023-09-23 10:59:40 +02:00
lockd
fs: lockd: avoid possible wrong NULL parameter
2023-09-23 10:59:48 +02:00
minix
minix: fix bug when opening a file with O_DIRECT
2022-04-15 14:18:35 +02:00
nfs
NFSv4.1: fix SP4_MACH_CRED protection for pnfs IO
2023-11-28 16:50:16 +00:00
nfs_common
nfs_common: need lock during iterate through the list
2020-12-30 11:51:22 +01:00
nfsd
nfsd: fix file memleak on client_opens_release
2023-11-28 16:50:21 +00:00
nilfs2
nilfs2: fix missing error check for sb_set_blocksize call
2023-12-13 18:18:16 +01:00
nls
fs/nls: make load_nls() take a const parameter
2023-09-23 10:59:38 +02:00
notify
fanotify: disallow mount/sb marks on kernel internal pseudo fs
2023-07-27 08:37:26 +02:00
ntfs
ntfs: check overflow when iterating ATTR_RECORDs
2022-11-25 17:42:22 +01:00
ocfs2
fs: ocfs2: namei: check return value of ocfs2_add_entry()
2023-09-23 10:59:42 +02:00
omfs
treewide: Remove uninitialized_var() usage
2023-06-09 10:29:01 +02:00
openpromfs
orangefs
orangefs: Fix kmemleak in orangefs_{kernel,client}_debug_init()
2023-01-18 11:41:39 +01:00
overlayfs
ovl: skip overlayfs superblocks at global sync
2023-12-08 08:44:27 +01:00
proc
procfs: block chmod on /proc/thread-self/comm
2023-09-23 10:59:55 +02:00
pstore
pstore/ram: Check start of empty przs during init
2023-09-23 10:59:55 +02:00
qnx4
qnx4: work around gcc false positive warning bug
2021-09-30 10:09:26 +02:00
qnx6
quota
quota: explicitly forbid quota files from being encrypted
2023-11-28 16:50:19 +00:00
ramfs
ramfs: fix nommu mmap with gaps in the page cache
2020-10-29 09:57:53 +01:00
reiserfs
reiserfs: Check the return value from __getblk()
2023-09-23 10:59:40 +02:00
romfs
romfs: fix uninitialized memory leak in romfs_dev_read()
2020-08-26 10:40:51 +02:00
squashfs
revert "squashfs: harden sanity check in squashfs_read_xattr_id_table"
2023-02-22 12:50:39 +01:00
sysfs
sysfs: Add sysfs_emit and sysfs_emit_at to format sysfs output
2021-03-07 12:20:48 +01:00
sysv
fs/sysv: Null check to prevent null-ptr-deref bug
2023-08-11 11:53:59 +02:00
tracefs
tracefs: Add missing lockdown check to tracefs_create_dir()
2023-09-23 11:00:06 +02:00
ubifs
treewide: Remove uninitialized_var() usage
2023-06-09 10:29:01 +02:00
udf
udf: initialize newblock to 0
2023-09-23 10:59:56 +02:00
ufs
fs/ufs: avoid potential u32 multiplication overflow
2020-08-21 13:05:37 +02:00
unicode
verity
fsverity: skip PKCS#7 parser when keyring is empty
2023-09-23 10:59:55 +02:00
xfs
xfs: verify buffer contents when we skip log replay
2023-06-28 10:18:42 +02:00
aio.c
aio: fix mremap after fork null-deref
2023-02-22 12:50:35 +01:00
anon_inodes.c
attr.c
attr: block mode changes of symlinks
2023-09-23 11:00:06 +02:00
bad_inode.c
binfmt_aout.c
binfmt: Move install_exec_creds after setup_new_exec to match binfmt_elf
2023-01-18 11:41:46 +01:00
binfmt_elf.c
elf: don't use MAP_FIXED_NOREPLACE for elf interpreter mappings
2021-10-06 15:42:35 +02:00
binfmt_elf_fdpic.c
fs: binfmt_elf_efpic: fix personality for ELF-FDPIC
2023-10-10 21:46:42 +02:00
binfmt_em86.c
binfmt_flat.c
binfmt: Move install_exec_creds after setup_new_exec to match binfmt_elf
2023-01-18 11:41:46 +01:00
binfmt_misc.c
binfmt_misc: fix shift-out-of-bounds in check_special_flags
2023-01-18 11:41:33 +01:00
binfmt_script.c
block_dev.c
block: reexpand iov_iter after read/write
2021-05-22 11:38:29 +02:00
buffer.c
mm: fs: initialize fsdata passed to write_begin/write_end interface
2022-11-25 17:42:22 +01:00
char_dev.c
chardev: fix error handling in cdev_device_add()
2023-01-18 11:41:25 +01:00
compat.c
compat_binfmt_elf.c
compat_ioctl.c
compat_ioctl: remove /dev/random commands
2022-06-22 14:11:03 +02:00
coredump.c
coredump: fix core_pattern parse error
2020-12-11 13:23:30 +01:00
d_path.c
fs: fix NULL dereference due to data race in prepend_path()
2020-10-29 09:57:45 +01:00
dax.c
dax: fix cache flush on PMD-mapped pages
2022-06-14 18:11:41 +02:00
dcache.c
fix dget_parent() fastpath race
2020-10-01 13:17:19 +02:00
dcookies.c
direct-io.c
fs: direct-io: fix missing sdio->boundary
2021-04-14 08:24:11 +02:00
drop_caches.c
fs: avoid softlockups in s_inodes iterators
2020-01-12 12:21:37 +01:00
eventfd.c
eventfd: prevent underflow for eventfd semaphores
2023-09-23 10:59:40 +02:00
eventpoll.c
epoll: ep_autoremove_wake_function should use list_del_init_careful
2023-06-28 10:18:35 +02:00
exec.c
exec: Force single empty string when argv is empty
2022-06-06 08:33:50 +02:00
fcntl.c
fcntl: fix potential deadlock for &fasync_struct.fa_lock
2021-09-15 09:47:28 +02:00
fhandle.c
file.c
fs: prevent out-of-bounds array speculation when closing a file descriptor
2023-03-17 08:32:47 +01:00
file_table.c
SUNRPC: Ensure we flush any closed sockets before xs_xprt_free()
2022-05-25 09:14:34 +02:00
filesystems.c
fs/filesystems.c: downgrade user-reachable WARN_ONCE() to pr_warn_once()
2020-04-17 10:50:21 +02:00
fs-writeback.c
writeback: fix call of incorrect macro
2023-05-17 11:35:58 +02:00
fs_context.c
fs: avoid empty option when generating legacy mount string
2023-07-27 08:37:25 +02:00
fs_parser.c
fs_pin.c
fs_struct.c
fs_types.c
fsopen.c
inode.c
fs: Establish locking order for unrelated directories
2023-07-27 08:37:26 +02:00
internal.h
fs: Establish locking order for unrelated directories
2023-07-27 08:37:26 +02:00
io_uring.c
io_uring/af_unix: disable sending io_uring over sockets
2023-12-13 18:18:16 +01:00
ioctl.c
compat_ioctl: add compat_ptr_ioctl()
2019-12-17 19:55:30 +01:00
Kconfig
Kconfig.binfmt
libfs.c
libfs: add DEFINE_SIMPLE_ATTRIBUTE_SIGNED for signed value
2023-01-18 11:40:55 +01:00
locks.c
locks: fix KASAN: use-after-free in trace_event_raw_event_filelock_lock
2023-09-23 11:00:02 +02:00
Makefile
mbcache.c
mbcache: Avoid nesting of cache->c_list_lock under bit locks
2023-01-18 11:41:59 +01:00
mount.h
mpage.c
fs: move guard_bio_eod() after bio_set_op_attrs
2020-01-17 19:48:21 +01:00
namei.c
fs: Fix error checking for d_hash_and_lookup()
2023-09-23 10:59:40 +02:00
namespace.c
fs: warn about impending deprecation of mandatory locks
2021-08-26 08:36:22 -04:00
no-block.c
nsfs.c
open.c
cifs_atomic_open(): fix double-put on late allocation failure
2020-03-18 07:17:51 +01:00
pipe.c
pipe: increase minimum default pipe size to 2 pages
2021-08-12 13:21:02 +02:00
pnode.c
pnode: terminate at peers of source
2023-01-18 11:41:44 +01:00
pnode.h
mount: fix mounting of detached mounts onto targets that reside on shared mounts
2021-03-17 17:03:33 +01:00
posix_acl.c
proc_namespace.c
read_write.c
fs: allow deduplication of eof block into the end of the destination file
2020-02-11 04:35:23 -08:00
readdir.c
readdir: make sure to verify directory entry for legacy interfaces too
2021-04-21 12:56:16 +02:00
select.c
select: Fix indefinitely sleeping task in poll_schedule_timeout()
2022-01-29 10:25:11 +01:00
seq_file.c
seq_file: disallow extremely large seq buffer allocations
2021-07-20 16:10:54 +02:00
signalfd.c
io_uring: disable polling pollfree files
2022-09-05 10:27:47 +02:00
splice.c
Revert "fs: check FMODE_LSEEK to control internal pipe splicing"
2022-10-17 17:24:32 +02:00
stack.c
stat.c
stat: fix inconsistency between struct stat and struct compat_stat
2022-04-27 13:50:48 +02:00
statfs.c
statfs: enforce statfs[64] structure initialization
2023-05-30 12:44:07 +01:00
super.c
fs: Protect reconfiguration of sb read-write from racing writes
2023-08-11 11:53:59 +02:00
sync.c
ovl: skip overlayfs superblocks at global sync
2023-12-08 08:44:27 +01:00
timerfd.c
userfaultfd.c
userfaultfd: open userfaultfds with O_RDONLY
2022-10-26 13:22:21 +02:00
utimes.c
utimes: Clamp the timestamps in notify_change()
2020-02-11 04:35:12 -08:00
xattr.c
fs: don't audit the capability check in simple_xattr_list()
2023-01-18 11:40:53 +01:00