summaryrefslogtreecommitdiff
path: root/sys/dev/ic/aacvar.h
diff options
context:
space:
mode:
authorAlexander Bluhm <bluhm@cvs.openbsd.org>2017-10-19 11:02:43 +0000
committerAlexander Bluhm <bluhm@cvs.openbsd.org>2017-10-19 11:02:43 +0000
commitdc60aa1d14faf2b7e1295889a03f58cce0556fd3 (patch)
tree86f7ab271365e35b98d76970bf749daf334e84f3 /sys/dev/ic/aacvar.h
parentdbf5e234c2ecdf26dd402a3a00b5bbcdca22690c (diff)
There was a possible stack overrun in the network since we had
removed some queueing. lo(4) output called the ip input routines without a queue. So if a packet looped through the kernel, the kernel stack filled up. Use M_LOOP to find recursive calls to looutput(). This flag is set when a packet goes through the loopback interface. Avoid an additional queueing if the packet goes to lo(4) only once. As there may be gif(4), bridge(4), pair(4), ipsec(4), rdomain(4), ... setups that legitimately pass lo(4) more than once, use the interface input queue for these cases. Packets in the queue run through ip forward. There the TTL is decremented and the packet is finally processed or dropped. found by markus@; OK mpi@ sashan@
Diffstat (limited to 'sys/dev/ic/aacvar.h')
0 files changed, 0 insertions, 0 deletions