Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2016-11-21 | tests: veth does not come up immediately | Jason A. Donenfeld | 1 | -0/+7 | |
2016-11-21 | headers: cleanup notices | Jason A. Donenfeld | 65 | -56/+80 | |
2016-11-21 | main: add version to dmesg | Jason A. Donenfeld | 4 | -5/+14 | |
2016-11-16 | chacha20poly1305: sse/ymm should be implicitexperimental-0.0.20161116.1 | Jason A. Donenfeld | 1 | -1/+1 | |
2016-11-16 | chacha20poly1305: rely on avx and avx2experimental-0.0.20161116 | Jason A. Donenfeld | 1 | -1/+1 | |
It turns out some FrankenVMs disable AVX but keep AVX2, causing issues. The crypto code now relies on having both AVX and AVX2 and the right features. | |||||
2016-11-16 | device: better debug message | Jason A. Donenfeld | 1 | -1/+1 | |
2016-11-16 | device: we need NONE for libpcap | Jason A. Donenfeld | 1 | -2/+2 | |
This makes addrconf add a temporary IPv6 address, which is annoying, and currently there's not a work around for this. | |||||
2016-11-16 | packets: consolidate constants | Jason A. Donenfeld | 5 | -24/+21 | |
2016-11-15 | various: nits from willy | Jason A. Donenfeld | 4 | -8/+6 | |
2016-11-15 | tests: trim output | Jason A. Donenfeld | 1 | -20/+4 | |
2016-11-15 | tests: use private ipv6 addresses | Jason A. Donenfeld | 1 | -18/+18 | |
2016-11-15 | socket: ensure that saddr routing can deal with interface removal | Jason A. Donenfeld | 2 | -0/+43 | |
2016-11-15 | compat: rearrange | Jason A. Donenfeld | 1 | -7/+7 | |
2016-11-15 | debug: cleanup skb printing | Jason A. Donenfeld | 4 | -52/+37 | |
2016-11-15 | socket: keep track of src address in sending packets | Jason A. Donenfeld | 11 | -122/+135 | |
2016-11-10 | curve25519: use kmalloc in order to not overflow stackexperimental-0.0.20161110 | Jason A. Donenfeld | 1 | -89/+260 | |
On MIPS, the IRQ and SoftIRQ handlers share the stack with whatever kernel thread was interrupted. This means that Curve25519 can be interrupted by, say, an ethernet controller, that then gets handled by a SoftIRQ. If something like l2tp is being used, which uses quite a bit of stack, then by the time the SoftIRQ handler gets to WireGuard code and calls into the stack-heavy ChaPoly functions, our 8k stack is shot. In other words, since Curve25519 is such a big consumer of stack, if it's interrupted by anything else that uses a healthy amount of stack, then disaster strikes. The solution here is just to allocate using kmalloc. This is quite ugly, and if performance becomes an issue, we might consider moving to a kmem_cache allocator, or even having each peer keep its own preallocated space. But for now, we'll try this. | |||||
2016-11-09 | chacha20poly1305: don't forget version header | Jason A. Donenfeld | 1 | -0/+1 | |
2016-11-07 | routing-table: mask self for better IP display | Jason A. Donenfeld | 1 | -2/+6 | |
2016-11-07 | selftest: add routing table tests for small subnets | Jason A. Donenfeld | 1 | -0/+12 | |
2016-11-07 | send: simplify handshake initiation queueing and introduce lock | Jason A. Donenfeld | 4 | -36/+41 | |
2016-11-07 | chacha20poly1305: it's just as fast to use these more simple unaligned access helpers | Jason A. Donenfeld | 1 | -36/+7 | |
2016-11-07 | socket: use more reasonable skb padding | Jason A. Donenfeld | 1 | -1/+1 | |
2016-11-06 | data: only uses kmem_cache for parallism | Jason A. Donenfeld | 3 | -0/+11 | |
2016-11-06 | debug: support dynamic debug on skb addr | Jason A. Donenfeld | 3 | -6/+6 | |
2016-11-06 | cookie: avoid void pointer arithmatic | Jason A. Donenfeld | 1 | -3/+3 | |
2016-11-06 | send: remove redundant time stamp | Jason A. Donenfeld | 1 | -1/+0 | |
2016-11-06 | qemu: kasan needs more memory | Jason A. Donenfeld | 1 | -1/+1 | |
2016-11-06 | qemu: use sparsemem always, for kasan | Jason A. Donenfeld | 1 | -0/+1 | |
2016-11-06 | socket: release dst on routing loop | Jason A. Donenfeld | 1 | -0/+2 | |
2016-11-06 | data: squelch compiler warning on PARALLEL=n | Jason A. Donenfeld | 1 | -1/+1 | |
2016-11-06 | data: we care about per-peer, not per-device, inflight encryptions | Jason A. Donenfeld | 3 | -21/+14 | |
2016-11-05 | chacha20poly1305: cleanup magic constantsexperimental-0.0.20161105 | Jason A. Donenfeld | 1 | -3/+2 | |
2016-11-05 | c89: the static keyword is okay in c99, but not in c89 | Jason A. Donenfeld | 13 | -48/+48 | |
2016-11-05 | tools: chill modern gcc out | Jason A. Donenfeld | 1 | -22/+12 | |
2016-11-05 | qemu: fail if module selftests fail | Jason A. Donenfeld | 1 | -2/+12 | |
2016-11-05 | qemu: move marker to top and flush | Jason A. Donenfeld | 1 | -3/+3 | |
2016-11-05 | qemu: work around termio race condition | Jason A. Donenfeld | 1 | -1/+6 | |
2016-11-05 | compat: fix variable assumptions | Jason A. Donenfeld | 1 | -1/+1 | |
2016-11-05 | qemu: move build outside of kernel dir to avoid kernel's make clean | Jason A. Donenfeld | 4 | -6/+11 | |
2016-11-05 | socket: big refactoring | Jason A. Donenfeld | 3 | -193/+170 | |
2016-11-04 | socket: route() returns an error pointer, not NULL on failure | Jason A. Donenfeld | 1 | -2/+2 | |
Reported-by: Cedric Buxin <cedric.buxin@izri.org> | |||||
2016-11-04 | compat: some grsec have get_random_long; others do not | Jason A. Donenfeld | 1 | -2/+3 | |
2016-11-04 | data: use a memory cache for parallel ctx | Jason A. Donenfeld | 3 | -61/+91 | |
2016-11-04 | data: keep FPU on when possible | Jason A. Donenfeld | 3 | -59/+46 | |
2016-11-04 | send: queue bundles on same CPU | Jason A. Donenfeld | 3 | -216/+140 | |
2016-11-04 | data: use smaller types | Jason A. Donenfeld | 2 | -8/+8 | |
2016-11-04 | data: take reference to peer | Jason A. Donenfeld | 1 | -1/+8 | |
2016-11-04 | compat: stub out dst_cache for old kernels | Jason A. Donenfeld | 3 | -1/+16 | |
2016-11-04 | socket: use dst_cache instead of handrolled cache | Jason A. Donenfeld | 6 | -102/+68 | |
2016-11-03 | chacha20poly1305: src is different from dst on last pieceexperimental-0.0.20161103 | Jason A. Donenfeld | 1 | -1/+1 | |
This took hours of debugging. In some cases, the src and dst are different for the last piece, so the incorrect code here resulted in computing the poly1305 over the wrong data. This lead to packets being unnecessarily dropped. |