sndiod: Allocate all midithru structures on the heap
The midithru structures that are used only internally (for MIDI
control of the logical audio sub-device) are allocated when needed
only. Now the MIDITHRU_NMAX macro is simply the number of user-visible
midithru ports. The midithru structures are identified by names,
instead of the indices.
Protect ip6_mforward() with kernel lock in ip6_output().
Multicast forwarding is not MP safe yet and also locked with shared
netlock plus kernel lock elsewhere.
OK sashan@
Remove documentation of OBJ_add_object(3)
This API was removed a long time ago but I forgot to update the manpage
(probably because doing so is slightly non-trivial).
There's still a lot of API here that should be removed. OBJ_add_objects()
seems now unused while OBJ_new_nid() is used by the one consumer that is
single-handedly responsible for at least two dozen APIs that could otherwise
be removed from libcrypto with significant simplifications: security/xca.
It would appear the author is on a quest to figure out how to make use of
whatever undocumented garbage they can find in the openssl headers. That's
of course a hobby project you can pursue for decades.
re(4) uses 64 bit DMA for kstat.
All except one bus DMA operation of re(4) with PCIe have been
converted to 64 bit access. Also do it for kstat statistics.
tested by krw@ mvs@
Adjust type of 'n' used by imsgbuf_get and imsgbuf_read to int.
Additionally stop abusing 'n' for other means and use better variables
for those cases.
OK tb@
When using the high-level FUSE API, the filesystem may choose between
two modes of operation when implementing readdir().
1) The readdir implementation ignores the offset parameter, and
passes zero to the filler function's offset. The filler function
will not return '1' (unless an error happens), so the whole
directory is read in a single readdir operation.
2) The readdir implementation keeps track of the offsets of the
directory entries. It uses the offset parameter and always passes
non-zero offset to the filler function. When the buffer is full
(or an error happens) the filler function will return '1'.
We currently don't support 1) and instead implement an alternative
mode that is stateless but emulates the behaviour. For each
FUSE_READDIR received from the kernel, it will invoke the file
system's readdir() callback and ask it to completely fill the buffer
again, but ignore any entries that are before the given offset or
exceed the size of the buffer. This of course has a performance
[11 lines not shown]