Files
linux/fs
David Howells 823869e1e6 afs: Fix afs_atcell_get_link() to handle RCU pathwalk
The ->get_link() method may be entered under RCU pathwalk conditions (in
which case, the dentry pointer is NULL).  This is not taken account of by
afs_atcell_get_link() and lockdep will complain when it tries to lock an
rwsem.

Fix this by marking net->ws_cell as __rcu and using RCU access macros on it
and by making afs_atcell_get_link() just return a pointer to the name in
RCU pathwalk without taking net->cells_lock or a ref on the cell as RCU
will protect the name storage (the cell is already freed via call_rcu()).

Fixes: 30bca65bbb ("afs: Make /afs/@cell and /afs/.@cell symlinks")
Reported-by: Alexander Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David Howells <dhowells@redhat.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: linux-afs@lists.infradead.org
cc: linux-fsdevel@vger.kernel.org
Link: https://lore.kernel.org/r/20250310094206.801057-2-dhowells@redhat.com/ # v4
2025-03-10 09:46:53 +00:00
..
2024-12-05 12:31:40 +01:00
2024-05-28 11:52:53 +02:00
2024-12-03 10:40:36 +01:00
2024-08-21 22:32:58 +02:00
2025-02-07 10:27:24 +01:00
2025-02-14 09:40:35 +01:00
2025-01-27 19:25:45 -05:00
2024-11-03 01:28:06 -05:00
2024-12-09 11:34:29 +01:00
2024-12-17 09:16:11 +01:00
2024-11-03 01:28:06 -05:00
2024-11-03 01:28:06 -05:00
2024-10-21 16:29:38 +02:00
2024-10-21 16:29:38 +02:00
2025-01-09 16:58:54 +01:00
2025-02-24 11:30:35 +01:00
2025-02-24 11:27:02 +01:00
2024-11-03 01:28:07 -05:00
2024-11-03 01:28:06 -05:00
2025-01-25 20:22:31 -08:00
2024-11-03 01:28:06 -05:00
2024-11-03 01:28:06 -05:00