WSL2-Linux-Kernel/fs/afs
Marc Dionne f2aca0a2d9 afs: Don't cross .backup mountpoint from backup volume
commit 29be9100aca2915fab54b5693309bc42956542e5 upstream.

Don't cross a mountpoint that explicitly specifies a backup volume
(target is <vol>.backup) when starting from a backup volume.

It it not uncommon to mount a volume's backup directly in the volume
itself.  This can cause tools that are not paying attention to get
into a loop mounting the volume onto itself as they attempt to
traverse the tree, leading to a variety of problems.

This doesn't prevent the general case of loops in a sequence of
mountpoints, but addresses a common special case in the same way
as other afs clients.

Reported-by: Jan Henrik Sylvester <jan.henrik.sylvester@uni-hamburg.de>
Link: http://lists.infradead.org/pipermail/linux-afs/2024-May/008454.html
Reported-by: Markus Suvanto <markus.suvanto@gmail.com>
Link: http://lists.infradead.org/pipermail/linux-afs/2024-February/008074.html
Signed-off-by: Marc Dionne <marc.dionne@auristor.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Link: https://lore.kernel.org/r/768760.1716567475@warthog.procyon.org.uk
Reviewed-by: Jeffrey Altman <jaltman@auristor.com>
cc: linux-afs@lists.infradead.org
Signed-off-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-16 13:39:53 +02:00
..
Kconfig
Makefile
addr_list.c
afs.h
afs_cm.h
afs_fs.h
afs_vl.h
cache.c
callback.c afs: fix the usage of read_seqbegin_or_lock() in afs_lookup_volume_rcu() 2024-02-23 08:54:39 +01:00
cell.c afs: Use refcount_t rather than atomic_t 2024-01-05 15:13:30 +01:00
cmservice.c afs: Use refcount_t rather than atomic_t 2024-01-05 15:13:30 +01:00
dir.c afs: Revert "afs: Hide silly-rename files from userspace" 2024-03-26 18:21:34 -04:00
dir_edit.c
dir_silly.c
dynroot.c afs: Fix dynamic root lookup DNS check 2024-01-05 15:13:30 +01:00
file.c
flock.c afs: Use the operation issue time instead of the reply time for callbacks 2022-09-15 11:30:05 +02:00
fs_operation.c
fs_probe.c afs: Fix lost servers_outstanding count 2022-12-31 13:14:45 +01:00
fsclient.c afs: Use the operation issue time instead of the reply time for callbacks 2022-09-15 11:30:05 +02:00
inode.c afs: Fix updating of i_size with dv jump from server 2023-05-11 23:00:38 +09:00
internal.h afs: Fix use-after-free due to get/remove race in volume tree 2024-01-05 15:13:30 +01:00
main.c
misc.c afs: Return -EAGAIN, not -EREMOTEIO, when a file already locked 2022-09-23 14:15:51 +02:00
mntpt.c afs: Don't cross .backup mountpoint from backup volume 2024-06-16 13:39:53 +02:00
proc.c afs: Use refcount_t rather than atomic_t 2024-01-05 15:13:30 +01:00
protocol_afs.h
protocol_uae.h
protocol_yfs.h
rotate.c
rxrpc.c afs: Use refcount_t rather than atomic_t 2024-01-05 15:13:30 +01:00
security.c
server.c afs: fix the usage of read_seqbegin_or_lock() in afs_find_server*() 2024-02-23 08:54:39 +01:00
server_list.c afs: Fix afs_server_list to be cleaned up with RCU 2023-12-03 07:31:21 +01:00
super.c afs: Fix file locking on R/O volumes to operate in local mode 2023-12-03 07:31:22 +01:00
vl_alias.c
vl_list.c afs: Use refcount_t rather than atomic_t 2024-01-05 15:13:30 +01:00
vl_probe.c afs: Fix vlserver probe RTT handling 2023-06-21 15:59:18 +02:00
vl_rotate.c afs: Return ENOENT if no cell DNS record can be found 2023-12-03 07:31:22 +01:00
vlclient.c
volume.c afs: Increase buffer size in afs_update_volume_status() 2024-03-01 13:21:59 +01:00
write.c
xattr.c
xdr_fs.h
yfsclient.c afs: Use the operation issue time instead of the reply time for callbacks 2022-09-15 11:30:05 +02:00