summaryrefslogtreecommitdiffstats
path: root/lib/libc/stdlib/malloc.c
diff options
context:
space:
mode:
authorbluhm <bluhm@openbsd.org>2017-10-19 11:02:42 +0000
committerbluhm <bluhm@openbsd.org>2017-10-19 11:02:42 +0000
commitc0a69b8ad4bcb9d884249062cf1e23117af1224b (patch)
treea503f2aa0a00f59b61d568092f09cdfa993a2f95 /lib/libc/stdlib/malloc.c
parentDelete the deprecated emacs-usemeta option. (diff)
downloadwireguard-openbsd-c0a69b8ad4bcb9d884249062cf1e23117af1224b.tar.xz
wireguard-openbsd-c0a69b8ad4bcb9d884249062cf1e23117af1224b.zip
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 'lib/libc/stdlib/malloc.c')
0 files changed, 0 insertions, 0 deletions