Add set-hook -B install a subscription like in control mode.
Subscriptions are formats which are checked once a second and if changed
invoke a hook. show-hooks -B lists.
sys/ihidev: replace HONOR MagicBook Touchpad quirk
Old quirk was unstable, it brings, some boots, touchpad with multitouch,
but still failed on on reading the report.
It was observed that sending anything to the touchpad wakes it up but it
ignores the command that was sent. If it was GET_REPORT, when read reads
series of 0xff.
Here a clean and trivial quirk where I send the second GET_REPORT and
ignore the first one.
OK: mglocker@
iked: vroute: Validate routing socket replies
When parsing malformed RTM replies from the kernel vroute_process()
might walk beyond the response buffer. Therefore check msglen and
rtm_msglen cover the header, and bound every sa_len against the
remaining message and sizeof(struct sockaddr_storage) before copying.
From Andrew Griffiths, thanks!
rework how mbufs share references to external storage
previously mbufs that shared a reference to the same external storage
were linked together with a pair of lists, but operations on these
lists have to be serialised because different cpus can be working
on on mbufs that share the same external storage. this serialisation
was provided by a single global mutex, which has now become contended
when the kernel is doing a lot of work that relies on shared external
storage.
this diff replaces the links with an m_ext_refs struct that "proxies"
the external storage information on mbufs when that storage is first
shared between two mbufs. that struct contains a refcnt that's
increased if the external storage is shared again, and only when
the refcnt drops to zero is the external storage actually released
with the original free handler. these per shared storage refcnts
replace the global mutex for coordinating the "finalisation" and
actual free of the external storage.
[9 lines not shown]