linux/fs/afs
David Howells 62d9853aa4 afs: Fix afs_edit_dir_remove() to get, not find, block 0
Fix afs_edit_dir_remove() to use afs_dir_get_block() to get block 0 rather
than afs_dir_find_block() as the latter caches the found block in the
afs_dir_iter and may[*] switch out the page it's on if another
afs_dir_find_block() is done.  This parallels what afs_edit_dir_add() does.

[*] There's more than one block per page.

Fixes: a5b5beebcf ("afs: Use the contained hashtable to search a directory")
Closes: https://sashiko.dev/#/patchset/20260706153408.1231650-1-dhowells%40redhat.com
Signed-off-by: David Howells <dhowells@redhat.com>
Link: https://patch.msgid.link/2380759.1783956175@warthog.procyon.org.uk
cc: Marc Dionne <marc.dionne@auristor.com>
cc: linux-afs@lists.infradead.org
cc: linux-fsdevel@vger.kernel.org
cc: stable@vger.kernel.org
Signed-off-by: Christian Brauner (Amutable) <brauner@kernel.org>
2026-07-23 11:32:40 +02:00
..
addr_list.c rxrpc, afs: Fix missing error pointer check after rxrpc_kernel_lookup_peer() 2026-03-06 17:49:52 -08:00
addr_prefs.c Convert 'alloc_flex' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
afs_cm.h
afs_fs.h
afs_vl.h afs: Fix the maximum cell name length 2025-01-07 15:55:25 +01:00
afs.h afs: Fix the maximum cell name length 2025-01-07 15:55:25 +01:00
callback.c afs: Fix leak of ungot volume 2026-07-01 15:26:21 +02:00
cell.c afs: Fix premature cell exposure through /afs 2026-07-01 15:26:22 +02:00
cm_security.c afs: Fix uncancelled rxrpc OOB message handler 2026-06-25 10:07:18 -07:00
cmservice.c afs: Fix callback service message parsers to pass through -EAGAIN 2026-07-01 15:26:20 +02:00
dir_edit.c afs: Fix afs_edit_dir_remove() to get, not find, block 0 2026-07-23 11:32:40 +02:00
dir_search.c treewide: change inode->i_ino from unsigned long to u64 2026-03-06 14:31:28 +01:00
dir_silly.c VFS: use wait_var_event for waiting in d_alloc_parallel() 2026-06-05 00:34:54 -04:00
dir.c afs: Fix bulk lookup malfunction due to change in dir_emit() API 2026-07-01 15:26:20 +02:00
dynroot.c afs: Fix lack of locking around modifications of net->cells_dyn_ino 2026-07-01 15:26:21 +02:00
file.c netfs: Fix potential for tearing in ->remote_i_size and ->zero_point 2026-05-12 14:42:30 +02:00
flock.c afs: adapt to breakup of struct file_lock 2024-02-05 13:11:42 +01:00
fs_operation.c afs: use kvfree() to free memory allocated by kvcalloc() 2026-07-01 15:26:19 +02:00
fs_probe.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
fsclient.c afs: Fix the locking used by afs_get_link() 2026-05-12 14:42:33 +02:00
inode.c afs: Fix reinitialisation of the inode, in particular ->lock_work 2026-07-01 15:26:20 +02:00
internal.h afs: Fix premature cell exposure through /afs 2026-07-01 15:26:22 +02:00
Kconfig afs: Use rxgk RESPONSE to pass token for callback channel 2025-04-14 17:36:42 -07:00
main.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
Makefile afs: Fix the locking used by afs_get_link() 2026-05-12 14:42:33 +02:00
misc.c afs: Add support for RENAME_NOREPLACE and RENAME_EXCHANGE 2025-09-25 09:19:07 +02:00
mntpt.c afs: Fix dynamic lookup to fail on cell lookup failure 2025-10-29 13:51:38 +01:00
proc.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
protocol_afs.h
protocol_uae.h
protocol_yfs.h afs: Add support for RENAME_NOREPLACE and RENAME_EXCHANGE 2025-09-25 09:19:07 +02:00
rotate.c Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
rxrpc.c afs: Fix uncancelled rxrpc OOB message handler 2026-06-25 10:07:18 -07:00
security.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
server_list.c Convert 'alloc_flex' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
server.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
super.c afs: Fix reinitialisation of the inode, in particular ->lock_work 2026-07-01 15:26:20 +02:00
symlink.c netfs: Replace wb_lock with a bit lock for asynchronicity 2026-07-01 15:26:29 +02:00
validation.c afs: Fix the locking used by afs_get_link() 2026-05-12 14:42:33 +02:00
vl_alias.c afs: Fix dynamic lookup to fail on cell lookup failure 2025-10-29 13:51:38 +01:00
vl_list.c afs: Fix unchecked-length string display in debug statement 2026-07-01 15:26:22 +02:00
vl_probe.c afs: Keep a record of the current fileserver endpoint state 2024-01-01 16:37:27 +00:00
vl_rotate.c afs: Simplify cell record handling 2025-03-10 09:47:15 +00:00
vlclient.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
volume.c afs: Fix the volume AFS_VOLUME_RM_TREE is set on 2026-07-01 15:26:22 +02:00
write.c netfs: Fix potential for tearing in ->remote_i_size and ->zero_point 2026-05-12 14:42:30 +02:00
xattr.c Convert 'alloc_flex' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
xdr_fs.h afs: Fix directory format encoding struct 2024-12-20 22:34:04 +01:00
yfsclient.c afs: Fix the locking used by afs_get_link() 2026-05-12 14:42:33 +02:00