OpenBSD cvs log

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