aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* contrib: filter compat linesJason A. Donenfeld2017-10-111-1/+1
|
* receive: disable bh before using stats seq lockJason A. Donenfeld2017-10-111-0/+4
| | | | | | | | | | | | | | | | | | | | | | Otherwise we might get a situation like this: CPU0 CPU1 ---- ---- lock(tstats lock); local_irq_disable(); lock(queue lock); lock(tstats lock); <Interrupt> lock(queue lock); CPU1 is waiting for CPU0 to release tstats lock. But CPU0, in the interrupt handler, is waiting for CPU1 to release queue lock. The solution is to disable interrupts on CPU0, so that this can't happen. Note that this only affects 32-bit, since u64_stats_update_begin nops out on native 64-bit platforms. Reported-by: René van Dorst <opensource@vdorst.com>
* tools: man: include kill-switch documentation using fwmarkJason A. Donenfeld2017-10-111-0/+36
|
* socket: set skb->mark in addition to flowiJason A. Donenfeld2017-10-111-0/+2
| | | | | Otherwise netfilter's ip_route_me_harder doesn't know how to reroute this and we get a nasty loop.
* send: do not requeue if packet is deadJason A. Donenfeld2017-10-111-1/+6
|
* compat: move version logic to compat.h and out of main .cJason A. Donenfeld2017-10-113-8/+22
|
* tools: store tail pointer to make coalescing peers fastJason A. Donenfeld2017-10-102-74/+70
|
* tools: warn once on unrecognized itemsJason A. Donenfeld2017-10-092-0/+22
| | | | | | | | DaveM suggests we do in fact do this. Others on the same thread weren't happy about the length of the proposed message, so we also give a bit of a less dramatic warning. This reverts commit a2cc976a3b572cf308cc2d97c080eacac60416fe.
* routingtable: iterate progressivelyJason A. Donenfeld2017-10-094-53/+81
|
* routingtable: only use device's mutex, not a special rt oneJason A. Donenfeld2017-10-096-100/+38
|
* crypto/x86_64: satisfy stack validation 2.0Jason A. Donenfeld2017-10-093-31/+29
| | | | | We change this to look like the code gcc generates, so as to keep the objtool checker somewhat happy.
* qemu: bump stable kernelJason A. Donenfeld2017-10-091-1/+1
|
* Makefile: quiet recursive makeJason A. Donenfeld2017-10-091-10/+10
|
* tools: try again if dump is interruptedJason A. Donenfeld2017-10-081-1/+4
|
* socket: gcc inlining makes this fasterJason A. Donenfeld2017-10-063-11/+10
|
* socket: don't bother recomparing afterwardsJason A. Donenfeld2017-10-061-6/+4
| | | | | | | It doesn't actually matter if this races, so there's no point in making the hot path slower with the stack copy. Suggested-by: Willy Tarreau <w@1wt.eu>
* socket: compare while unlocked firstJason A. Donenfeld2017-10-062-27/+26
| | | | | | This should be a bit faster. Suggested-by: Willy Tarreau <w@1wt.eu>
* receive: do not consider 0 jiffies as being setJason A. Donenfeld2017-10-061-4/+4
| | | | | | | | | This causes tests to fail if run within the first 5 minutes. We also move to jiffies 64, so that there's low chance of wrapping in case handshakes are spread far apart. Reported-by: René van Dorst <opensource@vdorst.com>
* version: bump snapshot0.0.20171005Jason A. Donenfeld2017-10-062-2/+2
|
* queueing: cleanup skb_paddingJason A. Donenfeld2017-10-052-14/+14
|
* compat: macro rewrite netlink instead of clutteringJason A. Donenfeld2017-10-052-19/+23
|
* Makefile: clang now builds the kernel, so use scan-buildJason A. Donenfeld2017-10-054-10/+9
| | | | | Also add little stub for coccinelle and clean up semicolon issue it found.
* queueing: move from ctx to cbJason A. Donenfeld2017-10-055-151/+119
|
* receive: do not store endpoint in ctxJason A. Donenfeld2017-10-052-6/+21
|
* compat: RHEL backported netlink changesJason A. Donenfeld2017-10-051-1/+1
|
* compat: conditionally redefine GENL_UNS_ADMIN_PERMJason A. Donenfeld2017-10-051-0/+3
|
* compat: support ptr_ring for old kernelsJason A. Donenfeld2017-10-052-0/+644
|
* queueing: use ptr_ring instead of linked listsJason A. Donenfeld2017-10-057-76/+67
|
* receive: we're not planning on turning that into a while loop nowJason A. Donenfeld2017-10-051-6/+5
|
* send: put keypair referenceJason A. Donenfeld2017-10-052-0/+20
|
* receive: use local keypair, not ctx keypair in error pathJason A. Donenfeld2017-10-031-1/+1
|
* Makefile: add non-verbose mode to toolsJason A. Donenfeld2017-10-032-2/+23
|
* global: add space around variable declarationsJason A. Donenfeld2017-10-0313-1/+59
|
* global: use _WG prefix for include guardsJason A. Donenfeld2017-10-0320-60/+60
| | | | Suggested-by: Sultan Alsawaf <sultanxda@gmail.com>
* global: satisfy bitshift pedantryJason A. Donenfeld2017-10-038-24/+24
| | | | Suggested-by: Sultan Alsawaf <sultanxda@gmail.com>
* receive: simplify message type validationJason A. Donenfeld2017-10-032-42/+33
|
* curve25519-neon-arm: force ARM encoding, since this is unrepresentable in ThumbJason A. Donenfeld2017-10-021-0/+1
|
* tools: compile on non-LinuxJason A. Donenfeld2017-10-021-16/+22
|
* tools: simmer down silly compilersJason A. Donenfeld2017-10-021-1/+1
|
* version: bump snapshot0.0.20171001Jason A. Donenfeld2017-10-022-2/+2
|
* tools: do not warn on unrecognized itemsJason A. Donenfeld2017-10-022-26/+0
| | | | Upstream advice is to simply be silent.
* ratelimiter: wait for destruction, not for read_unlockJason A. Donenfeld2017-10-021-1/+1
|
* qemu: add watchdog for not hanging on oopsJason A. Donenfeld2017-10-023-1/+24
|
* messages: reduce maximum staged packets per peerJason A. Donenfeld2017-10-021-1/+1
|
* noise: use spinlock for rotating keysJason A. Donenfeld2017-10-023-21/+29
| | | | | This should only really be contended in extremely exceptional cases, so changing from a mutex to a spinlock is likely fine.
* wg-quick: check permissions of parent directoryJason A. Donenfeld2017-10-021-1/+1
| | | | | Also prefix octal 0, in case these files are actually of modes that don't start with 0 by accident (such as SUID or sticky bit).
* wg-quick: verify wireguard interface in more clever wayJason A. Donenfeld2017-10-021-1/+1
| | | | | This helps with old Debian which has ancient iproute2, as well as paving the path toward this script supporting userspace implementations.
* wg-quick: anchor sysctl regex to start and endJason A. Donenfeld2017-10-021-1/+1
| | | | | | | This doesn't actually fix a real problem, but it is more correct than not having it. Suggested-by: Aaron Sigel <aaron@vtty.com>
* debug: add better insert targetJason A. Donenfeld2017-10-021-4/+4
|
* peer: remove from RCU lists when the kref is zeroJason A. Donenfeld2017-10-021-4/+5
|