sys/uvm: fix amap lock order during swapoff
amap_wipeout() removed the amap from the global list while holding
amap->am_lock. swapoff walks that list as amaplstlk -> amaplk, while the
last unref path could establish the reverse order through
amap_wipeout(), producing a witness lock order reversal when disabling
swap.
OK: renaud@
Copy over iked's proc.c, with the addition that proc_run()'s run argument
is called after IMSG_CTL_PROCREADY is handled. This addition makes sure
that run() can drop recvfd pledge if the process itself doesn't need it,
and data can be send to peers immediately.
Help from, and ok jmatthew@
sys/vio: align receive buffers
vio removes the virtio net header before handing packets to the Ethernet
input path. With the 12 byte modern virtio net header this leaves the
Ethernet frame at an address where the following IP header is not 32 bit
aligned; armv7 traps on the resulting unaligned access while processing
DHCP traffic.
OK: dlg@
pppoe(4): leverage if_hardmtu for RFC 4638 instead of parent if_mtu
Interfaces operate at their maximum supported packet size at all times,
independent of the software IP stack MTU.
Enforce MTU ceilings during PPPOESETPARMS and SIOCSIFMTU based on
if_hardmtu instead of the parent's software if_mtu. This allows pppoe(4)
devices to use "mtu 1500" without requiring manual MTU manipulation on
the physical parent interface. Update pppoe.4 to match.
"if it works for you then it's ok by me" dlg
Implement bgscan, add hooks for set and delete key and improve mwx_stop
so that there is a better chance to recover after down/up.
On top of this implement mwx_activate() so that suspend/resume works.
None of this is perfect but hopefully good enough.
Tested on MT7921
Everything needed to bring the FUSE kernel protocol in line with
the Linux implementation is now in place. With this update, the
kernel can support ports that talk directly to /dev/fuse0 rather
than relying on libfuse.
sys/fusebuf.h is retained rather than introducing fuse_kernel.h
OK claudio@
Tidy up server_client_check_redraw. Get rid of the bitmask tracking
panes which want redraw for deferred clients - if they are deferred then
they can just have a full redraw instead. Also return earlier if no
redraw is actually needed, and improve the comments.
rpki-client: unify CMS signed object parsers
This commit starts unifying various CMS signed object parsers in
preparation for a lot more refactoring of this long-accumulated
copy-paste mess.
The signed object is passed as a void * object to various handlers, so
these handlers all have the same signature.
In this step, *_parse() is essentially split into allocation plus:
1. *_cert_info(), which checks some basic things on the EE cert (usually
inheritance, presence or absence of RFC 3779 extensions). For MFTs
it also extracts some info and hangs that off mft.
2. the already existing *_parse_econtent()
3. *_validate() that does some validation steps and sets ->valid.
In most signed object handlers the validate step can't currently
[10 lines not shown]
Make the behavior of the '(' command match the ')' command.
Previously, the ')' command required a sentence to end with two
blanks, but '(' only required a single space. Historic vi (and the
documentation) requires two spaces in both directions.
Based on a diff from Walter Alejandro Iglesias.