linux-stable/fs/afs
Marc Dionne ffbda400b2 afs: Don't cross .backup mountpoint from backup volume
commit 29be9100ac 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:28:48 +02:00
..
Kconfig
Makefile afs: do not send list of client addresses 2019-06-02 18:06:26 -07:00
addr_list.c Keyrings namespacing 2019-07-08 19:36:47 -07:00
afs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
afs_cm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
afs_fs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
afs_vl.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
cache.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
callback.c afs: Fix possible assert with callbacks from yfs servers 2019-11-22 14:19:26 -08:00
cell.c afs: Fix overwriting of result of DNS query 2024-01-08 11:29:44 +01:00
cmservice.c afs: Fix tracepoint string placement with built-in AFS 2021-07-28 13:30:58 +02:00
dir.c afs: Revert "afs: Hide silly-rename files from userspace" 2024-03-26 18:22:24 -04:00
dir_edit.c afs: Remove set but not used variables 'before', 'after' 2020-01-26 10:01:08 +01:00
dir_silly.c afs: Fix race between post-modification dir edit and readdir/d_revalidate 2020-04-23 10:36:25 +02:00
dynroot.c afs: Fix dynamic root lookup DNS check 2024-01-08 11:29:44 +01:00
file.c afs: Stop listxattr() from listing "afs.*" attributes 2021-03-24 11:26:37 +01:00
flock.c afs: Use the operation issue time instead of the reply time for callbacks 2022-09-15 12:04:55 +02:00
fs_probe.c afs: Fix fileserver probe RTT handling 2022-12-08 11:23:03 +01:00
fsclient.c afs: Use the operation issue time instead of the reply time for callbacks 2022-09-15 12:04:55 +02:00
inode.c afs: Fix updating of i_size with dv jump from server 2023-05-17 11:35:54 +02:00
internal.h afs: Use the operation issue time instead of the reply time for callbacks 2022-09-15 12:04:55 +02:00
main.c afs: Fix an IS_ERR() vs NULL check 2021-06-23 14:41:23 +02:00
misc.c afs: Return -EAGAIN, not -EREMOTEIO, when a file already locked 2022-09-28 11:03:59 +02:00
mntpt.c afs: Don't cross .backup mountpoint from backup volume 2024-06-16 13:28:48 +02:00
proc.c afs: Fix memory leak in afs_put_sysnames() 2020-06-24 17:50:42 +02:00
protocol_uae.h afs: Add support for the UAE error table 2019-06-28 18:37:53 +01:00
protocol_yfs.h
rotate.c afs: Make record checking use TASK_UNINTERRUPTIBLE when appropriate 2020-05-02 08:48:43 +02:00
rxrpc.c afs: Fix refcount underflow from error handling race 2023-12-20 15:41:13 +01:00
security.c treewide: Remove uninitialized_var() usage 2023-06-09 10:29:01 +02:00
server.c afs: fix the usage of read_seqbegin_or_lock() in afs_find_server*() 2024-02-23 08:24:55 +01:00
server_list.c AFS development 2019-07-10 20:55:33 -07:00
super.c afs: Fix file locking on R/O volumes to operate in local mode 2023-12-08 08:44:23 +01:00
vl_list.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
vl_probe.c afs: Fix vlserver probe RTT handling 2023-06-21 15:44:12 +02:00
vl_rotate.c afs: Return ENOENT if no cell DNS record can be found 2023-12-08 08:44:23 +01:00
vlclient.c afs: Fix loop index mixup in afs_deliver_vl_get_entry_by_name_u() 2019-07-30 14:38:51 +01:00
volume.c afs: Increase buffer size in afs_update_volume_status() 2024-03-01 13:13:37 +01:00
write.c afs: afs_write_end() should change i_size under the right lock 2020-06-24 17:50:46 +02:00
xattr.c afs: Stop listxattr() from listing "afs.*" attributes 2021-03-24 11:26:37 +01:00
xdr_fs.h
yfsclient.c afs: Use the operation issue time instead of the reply time for callbacks 2022-09-15 12:04:55 +02:00