Fix locked address interfaces in vmd(8).
authordv <dv@openbsd.org>
Sat, 10 Feb 2024 02:19:12 +0000 (02:19 +0000)
committerdv <dv@openbsd.org>
Sat, 10 Feb 2024 02:19:12 +0000 (02:19 +0000)
commitb72f07428389f2276d16326d2c6ca814cfcee081
tree02c17bd90249767b9a0e55b16e2f30574f9d3804
parent78979b6612412f93a591f0fe67e3f3ae3fcda3fd
Fix locked address interfaces in vmd(8).

Before comparing the amount of bytes read to the size of a packet
struct, make sure the fd being read was actually the packet injection
pipe(2). Locked address interfaces force using the same copy-based
approach used for the internal dhcp service for "local" interfaces
but were accidentally being treated as reads from the pipe(2) and
not the tap.

This broke networking for any locked address interfaces in vmd(8).

Reported by and ok kn@
usr.sbin/vmd/vionet.c