Allocate a buffer for the line cache instead of reaching into db data.
Previously, vi used the db internal data buffer directly. Fixes a
problem where the line cache could become corrupted when the db
data changes out from under it. From Walter Alejandro Iglesias.
bin/ksh: restore source after interactive error recovery
unwind() may clear source while popping execution environments. The
interactive shell then expands PS1 before compile() restores source, so
a prompt command substitution using read -s can dereference NULL while
saving history. Restore source to the current interactive input source
before continuing to the prompt loop.
Reported by Luigi Vianello
OK: millert@
iked: Avoid stack exhaustion by unbounded recursion
Problem found and patch supplied by mfriedl at genua.de. Similar
report from zhangph12138 at 163.com, thanks!
ok markus@
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