aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/compat (follow)
Commit message (Collapse)AuthorAgeFilesLines
* makefile: use immediate expansion and use correct template patternsJason A. Donenfeld2018-12-181-1/+1
|
* compat: account for Clang CFIJason A. Donenfeld2018-12-121-1/+1
|
* compat: don't undef BUILD_BUG_ON for Clang >=8Nathan Chancellor2018-12-071-1/+1
| | | | | | | | | | | | | | | | | This has been fixed upstream. To keep this hack working for toolchains that don't have it, use CONFIG_CLANG_VERSION, which was added in commit 469cb7376c06 ("kconfig: add CC_IS_CLANG and CLANG_VERSION"), introduced in 4.18. I have added the '!defined(CONFIG_CLANG_VERSION)' to keep the hack around for Android. Most custom kernel developers are using AOSP's Clang, which currently does not have the fix and might not for a while (although it is probably on Google's mind given that it has been an issue for ChromeOS on 4.19: https://crbug.com/897215). I have verified this change against my Pixel 2 kernel and 4.20-rc3 with the latest ToT Clang. Link: https://github.com/ClangBuiltLinux/linux/issues/7 Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
* crypto: better path resolution and more specific generated .SJason A. Donenfeld2018-11-161-8/+4
|
* compat: csum_levels is new in 3.18 but backported to RHELJason A. Donenfeld2018-11-051-0/+1
|
* global: rename struct wireguard_ to struct wg_Jason A. Donenfeld2018-10-081-1/+1
| | | | | | This required a bit of pruning of our christmas trees. Suggested-by: Jiri Pirko <jiri@resnulli.us>
* compat: look in Kbuild and Makefile since they differ based on archJason A. Donenfeld2018-10-081-1/+1
|
* global: prefix functions used in callbacks with wg_Jason A. Donenfeld2018-10-081-15/+21
| | | | Suggested-by: Jiri Pirko <jiri@resnulli.us>
* compat: don't output for grep errorsDavide Garberi2018-10-071-2/+2
| | | | | | | | This will make it so that kernels not having arch/$(SRCARCH)/Kbuild no longer give any (non-fatal) grep errors such as "grep: arch/arm64/Kbuild: No such file or directory". Signed-off-by: Davide Garberi <dade.garberi@gmail.com>
* compat: clang cannot handle __builtin_constant_pJason A. Donenfeld2018-10-071-0/+7
| | | | | | Or, put differently, we don't want to go chasing down random versions of clang used by XDA users, so we just disable this checking on clang all together.
* compat: make asm/simd.h conditional on its existenceJason A. Donenfeld2018-10-075-23/+24
| | | | Android kernels backported it, complicating things.
* compat: account for ancient ARM assemblerJason A. Donenfeld2018-10-061-0/+25
|
* allowedips: remove ifdefs in favor of IS_ENABLEDJason A. Donenfeld2018-10-061-0/+4
|
* simd: introduce useful disabling macroJason A. Donenfeld2018-10-031-0/+2
|
* simd: refactor simd availability handlingJason A. Donenfeld2018-10-022-16/+24
|
* simd: return a bool from simd_relaxJason A. Donenfeld2018-10-021-1/+3
| | | | Suggested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
* blake2s: rename arch function and use slicker le32 helperJason A. Donenfeld2018-10-021-0/+7
|
* compat: kernels < 3.17 don't have read_cpuid_partNathan Chancellor2018-10-021-0/+4
| | | | | | | | Use read_cpuid_part_number, which was the same thing before upstream commit af040ffc9ba1 ("ARM: make it easier to check the CPU part number correctly"). Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
* global: put SPDX identifier on its own lineJason A. Donenfeld2018-09-205-10/+10
| | | | | The kernel has very specific rules correlating file type with comment type, and also SPDX identifiers can't be merged with other comments.
* chacha20: prefer crypto_xor_cpy to avoid memmoveJason A. Donenfeld2018-09-201-0/+28
| | | | Suggested-by: Eric Biggers <ebiggers@kernel.org>
* blake2s: simplify final functionJason A. Donenfeld2018-09-191-0/+10
| | | | Suggested-by: Eric Biggers <ebiggers@kernel.org>
* crypto: pass simd by referenceJason A. Donenfeld2018-09-171-16/+28
|
* simd: add __must_check annotationJason A. Donenfeld2018-09-151-2/+2
| | | | Suggested-by: Andy Lutomirski <luto@amacapital.net>
* compat: move simd.h from crypto to compat since it's going upstreamJason A. Donenfeld2018-09-062-0/+69
|
* compat: arch-namespace certain includesJason A. Donenfeld2018-09-065-8/+8
|
* compat: support neon.h on old kernelsJason A. Donenfeld2018-09-062-0/+14
| | | | Reported-by: Philipp Richter <richterphilipp.pops@gmail.com>
* compat: rng_is_initialized made it into 4.19Jason A. Donenfeld2018-08-281-53/+53
|
* compat: better atomic acquire/release backportJason A. Donenfeld2018-08-041-16/+10
|
* peer: ensure destruction doesn't raceJason A. Donenfeld2018-08-031-0/+3
| | | | | Completely rework peer removal to ensure peers don't jump between contexts and create races.
* queueing: ensure strictly ordered loads and storesJason A. Donenfeld2018-08-021-0/+28
| | | | | | | We don't want a consumer to read plaintext when it's supposed to be reading ciphertext, which means we need to synchronize across cores. Suggested-by: Jann Horn <jann@thejh.net>
* recieve: disable NAPI busy pollingThomas Gschwantner2018-07-181-0/+9
| | | | | | | | | | | | | | This avoids adding one reference per peer to the napi_hash hashtable, as normally done by netif_napi_add(). Since we potentially could have up to 2^20 peers this would make busy polling very slow globally. This approach is preferable to having only a single napi struct because we get one gro_list per peer, which means packets can be combined nicely even if we have a large number of peers. This is also done by gro_cells_init() in net/core/gro_cells.c . Signed-off-by: Thomas Gschwantner <tharre3@gmail.com>
* receive: use NAPI on the receive pathJonathan Neuschäfer2018-07-081-0/+4
| | | | | | Suggested-by: Jason A. Donenfeld <Jason@zx2c4.com> [Jason: fixed up the flushing of the rx_queue in peer_remove] Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
* compat: more robust ktime backportJason A. Donenfeld2018-06-241-3/+8
| | | | This is needed for frankenkernels, like android-common.
* global: use fast boottime instead of normal boottimeJason A. Donenfeld2018-06-231-3/+3
| | | | Generally if we're inaccurate by a few nanoseconds, it doesn't matter.
* global: use ktime boottime instead of jiffiesJason A. Donenfeld2018-06-231-9/+10
| | | | | | | | Since this is a network protocol, expirations need to be accounted for, even across system suspend. On real systems, this isn't a problem, since we're clearing all keys before suspend. But on Android, where we don't do that, this is something of a problem. So, we switch to using boottime instead of jiffies.
* global: fix a few typosJonathan Neuschäfer2018-06-221-1/+1
| | | | Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
* compat: use stabler lkml linksJason A. Donenfeld2018-06-191-2/+2
| | | | | | This will redirect to whichever archive kernel.org thinks is best. Suggested-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
* receive: drop handshake packets if rng is not initializedJason A. Donenfeld2018-06-191-0/+53
| | | | Otherwise it's too easy to trigger cookie reply messages.
* compat: don't clash with get_random_u32 backportsJason A. Donenfeld2018-05-241-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.
* compat: work around qcom 4.9 backportsJason A. Donenfeld2018-05-221-0/+3
| | | | | | | Qualcomm backported the get_random_u32 patch, even though kernel.org didn't, which is a problem. They also backported another patch in the same place which defines a new macro variable, so use this as a differentiator.
* compat: backport for OpenSUSE 15Jason A. Donenfeld2018-05-141-1/+1
|
* compat: don't clear header bits on RHELJason A. Donenfeld2018-05-131-1/+4
| | | | | | | | | | The 3.10 kernel from Red Hat puts head_frag in between headers_start and headers_end. This is triggered on the latest i40e driver. This results in the packet being freed incorrectly, crashing the system. So, this patch just ensures we don't zero any of the header bits. The whole issue of zeroing header bits probably should be revisited sometime somewhat soon.
* compat: handle RHEL 7.5's recent backportsJason A. Donenfeld2018-05-131-5/+5
|
* socket: use skb_put_dataJason A. Donenfeld2018-05-131-0/+9
|
* compat: remove unused dev_recursion_level backportJason A. Donenfeld2018-04-161-7/+0
|
* compat: support OpenSUSE 15Jason A. Donenfeld2018-03-091-3/+6
|
* compat: silence warning on frankenkernelsJason A. Donenfeld2018-03-091-0/+3
| | | | Some Android 3.18 devices backport this macro.
* compat: stable kernels are now receiving b87b619Jason A. Donenfeld2018-03-071-1/+1
|
* compat: use correct -include pathJason A. Donenfeld2018-03-021-5/+6
|
* global: in gnu code, use un-underscored asmJason A. Donenfeld2018-03-021-1/+1
|