created | 2023-12-20T08:35:45Z |
---|---|
begin | 2023-12-16T00:00:00Z |
end | 2023-12-17T00:00:00Z |
path | src/sys |
commits | 2 |
date | 2023-12-16T22:16:02Z | |||
---|---|---|---|---|
author | mvs | |||
files | src/sys/net/if_pflow.c | log | diff | annotate |
src/sys/net/if_pflow.h | log | diff | annotate | |
message |
Rework pflowioctl() lock dances. Release netlock and take `sc_lock' rwlock(9) just in the beginning of pflowioctl() and do corresponding operations in the end. Use `sc_lock' to protect `sc_dying'. We need to release netlock not only to keep locks order with `sc_lock' rwlock(9), but also because pflowioctl() calls some operations like socreate() or soclose() on udp(4) socket. Current implementation has many relocking places which breaks atomicy, so merge them into one. The `sc_lock' rwlock(9) is taken during all pflowioctl() call, so `sc_dying' atomicy is not broken. Not the ideal solution, but better then we have now. Tested by Hrvoje Popovski. Discussed with and ok from sashan |
date | 2023-12-16T22:17:08Z | |||
---|---|---|---|---|
author | mvs | |||
files | src/sys/miscfs/fuse/fuse_device.c | log | diff | annotate |
message |
Make `fuse_rd_filtops' mpsafe. Introduce `fd_lock' rwlock(9) and use it for `fd_fbufs_in' fuse buffers queue and `fd_rklist' knotes list protection. Tested by Rafael Sadowski. Discussed with and ok from bluhm |