Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2018-06-13 | skb_reset: do not free socket memory with preemption disabled | Jason A. Donenfeld | 4 | -6/+4 | |
It turns out that calling skb_orphan (via skb_scrub_packet(xnet=true)) might result in a call to schedule(), since it will wake up waiting socket writers in userspace. This means that everything explodes, since we're calling this with preemption disabled. Work around this by removing the spinlocks in the consumers -- they're the sole consumers and so don't need the spinlocks anyway -- and then move skb_orphan to the consumption thread, which doesn't have preemption disabled. (When we move to a proper lockless mpmc ring buffer, we won't even have spinlocks anyway.) Since we don't actually need to call skb_orphan except on tx, so that net_cls does the right thing (see net/netfilter/xt_cgroup.c and its check of skb->sk), just explictly orphan the packet in the one place where that's actually necessary, and otherwise don't orphan it. This leaves us without a call to skb_orphan on the rx path, where we don't need it and can't use it anyway because preemption is disabled for netif_receive_skb. This effectively reworks 740319127f14793a13ad385e8150cd98c715c20c. | |||||
2018-06-08 | tools: support getentropy(3) | Jason A. Donenfeld | 1 | -0/+11 | |
2018-06-06 | tools: encoding: add missing static array constraints | Jason A. Donenfeld | 3 | -5/+5 | |
2018-06-04 | wg-quick: android: change name of intent | Jason A. Donenfeld | 1 | -1/+1 | |
2018-06-02 | chacha20: add missing include to header | Jason A. Donenfeld | 1 | -0/+1 | |
2018-05-31 | wg-quick: android: delay setting users until end | Jason A. Donenfeld | 1 | -1/+6 | |
`ndc users add` eventually invokes SOCK_DESTROY on user sockets, causing them to reconnect. By delaying this until after routes are set, we ensure that the sockets reconnect using the tunnel, rather than the old route. | |||||
2018-05-31 | version: bump snapshot0.0.20180531 | Jason A. Donenfeld | 2 | -2/+2 | |
2018-05-31 | qemu: bump default version | Jason A. Donenfeld | 1 | -1/+1 | |
2018-05-31 | tools: constanter time encoding | Jason A. Donenfeld | 2 | -22/+28 | |
2018-05-31 | device: do not assume dst is always valid | Jason A. Donenfeld | 1 | -1/+1 | |
The new flow offloading feature at the moment does not set the dst. We have a patch pending to fix this upstream, but in the meantime, work around it here. | |||||
2018-05-31 | poly1305: mips: compute S on fly | René van Dorst | 1 | -31/+22 | |
This reduces memory access and the total opaque size. Signed-off-by: René van Dorst <opensource@vdorst.com> | |||||
2018-05-31 | chacha20poly1305: test for authtag failure | Jason A. Donenfeld | 1 | -3/+21 | |
2018-05-31 | chacha20poly1305: test scattergather functions too | Jason A. Donenfeld | 1 | -2/+44 | |
2018-05-31 | crypto: consistent constification | Jason A. Donenfeld | 6 | -23/+23 | |
2018-05-31 | wg-quick: darwin: set DNS servers after delay on route change | Jason A. Donenfeld | 1 | -2/+6 | |
This works around a race condition in macOS's network daemons, while also adding one in the form of possibly calling kill -ALRM on a stale PID; unfortunately bash can't wait from a trap. | |||||
2018-05-31 | chacha20poly1305: combine stack variables into union | Jason A. Donenfeld | 2 | -62/+64 | |
2018-05-31 | chacha20poly1305: split up into separate files | Jason A. Donenfeld | 10 | -627/+740 | |
2018-05-29 | curve25519: x86_64: make symbol static | Jason A. Donenfeld | 1 | -2/+2 | |
2018-05-29 | curve25519: x86_64: satisfy sparse | Jason A. Donenfeld | 1 | -260/+260 | |
2018-05-27 | wg-quick: freebsd: configure as p2p link | Jason A. Donenfeld | 1 | -3/+5 | |
2018-05-27 | wg-quick: darwin: add multiple IP addresses | Jason A. Donenfeld | 1 | -2/+2 | |
2018-05-27 | wg-quick: determine IPs when saving interface | Jason A. Donenfeld | 3 | -12/+14 | |
2018-05-24 | compat: don't clash with get_random_u32 backports | Jason A. Donenfeld | 1 | -3/+2 | |
Our previous heuristic wasn't good enough, since CopperheadOS backported CANARY_MASK without backporting get_random_u32, as Qualcomm did, so now we just entirely rename all invocations of the function. | |||||
2018-05-24 | version: bump snapshot0.0.20180524 | Jason A. Donenfeld | 2 | -2/+2 | |
2018-05-24 | wg-quick: freebsd: work around security vulnerabilities in bash | Jason A. Donenfeld | 1 | -7/+29 | |
2018-05-23 | wg-quick: allow enumeration of socket files | Jason A. Donenfeld | 2 | -2/+2 | |
These OSes have an unpriv'd ifconfig, so this isn't an even larger info leak. | |||||
2018-05-23 | wg-quick: better bash completion for non-renaming OSes | Jason A. Donenfeld | 1 | -5/+14 | |
2018-05-23 | wg-quick: support FreeBSD/Darwin search path | Jason A. Donenfeld | 4 | -16/+39 | |
2018-05-23 | tools: always pass -v as first argument to install | Jason A. Donenfeld | 1 | -7/+7 | |
This lets crippled OSes sed out our -v more easily. |