diff options
| author | David Howells <[email protected]> | 2025-04-08 20:46:29 +0000 |
|---|---|---|
| committer | Christian Brauner <[email protected]> | 2025-04-11 13:24:29 +0000 |
| commit | a64e4d48a0b77e4ada19ac26ca3a08cd492f6362 (patch) | |
| tree | 2c198cd64c04444fc0e43e187974d49e60fe3cb2 /drivers/fpga/tests/fpga-mgr-test.c | |
| parent | hfs/hfsplus: fix slab-out-of-bounds in hfs_bnode_read_key (diff) | |
| download | kernel-a64e4d48a0b77e4ada19ac26ca3a08cd492f6362.tar.gz kernel-a64e4d48a0b77e4ada19ac26ca3a08cd492f6362.zip | |
afs: Fix afs_dynroot_readdir() to not use the RCU read lock
afs_dynroot_readdir() uses the RCU read lock to walk the cell list whilst
emitting cell automount entries - but dir_emit() may write to a userspace
buffer, thereby causing a fault to occur and waits to happen.
Fix afs_dynroot_readdir() to get a shared lock on net->cells_lock instead.
This can be triggered by enabling lockdep, preconfiguring a number of
cells, doing "mount -t afs none /afs -o dyn" (or using the kafs-client
package with afs.mount systemd unit enabled) and then doing "ls /afs".
Fixes: 1d0b929fc070 ("afs: Change dynroot to create contents on demand")
Reported-by: [email protected]
Reported-by: [email protected]
Reported-by: [email protected]
Reported-by: [email protected]
Signed-off-by: David Howells <[email protected]>
Link: https://lore.kernel.org/[email protected]
cc: Marc Dionne <[email protected]>
cc: [email protected]
cc: [email protected]
Signed-off-by: Christian Brauner <[email protected]>
Diffstat (limited to 'drivers/fpga/tests/fpga-mgr-test.c')
0 files changed, 0 insertions, 0 deletions
