aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/compat (follow)
Commit message (Collapse)AuthorAgeFilesLines
* global: the _bh variety of rcu helpers have been unifiedJason A. Donenfeld2019-03-171-0/+33
|
* compat: nf_nat_core.h was removed upstreamBruno Wolff III2019-03-141-0/+2
| | | | | | | In d2c5c103b133 ("netfilter: nat: remove nf_nat_l3proto.h and nf_nat_core.h"). Signed-off-by: Bruno Wolff III <bruno@wolff.to>
* queueing: net-next has changed signature of skb_probe_transport_headerJason A. Donenfeld2019-02-271-0/+5
|
* compat: backport ALIGN_DOWNJason A. Donenfeld2019-02-171-0/+7
|
* compat: ipv6_stub is sometimes nullJason A. Donenfeld2019-02-171-1/+1
| | | | | | | On ancient kernels, ipv6_stub is sometimes null in cases where IPv6 has been disabled with a command line flag or other failures. Reported-by: Anatoli <me@anatoli.ws>
* netlink: use __kernel_timespec for handshake timeJason A. Donenfeld2019-01-231-1/+15
|
* ratelimiter: totalram_pages is now a functionJason A. Donenfeld2019-01-231-0/+4
| | | | Reported-by: Alex Xu <alex@alxu.ca>
* noise: replace getnstimeofday64 with ktime_get_real_ts64Jason A. Donenfeld2019-01-231-1/+1
| | | | | | | | | The former was just a wrapper around the latter, and so upstream is now removing it. Also adjust the compat kludge to deal with this. Reported-by: Alex Xu <alex@alxu.ca>
* global: update copyrightJason A. Donenfeld2019-01-078-8/+8
|
* 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
|