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@