aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/compat/compat.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* compat: support rhel/centos 7.7Jason A. Donenfeld2019-09-131-1/+1
|
* compat: don't rewrite siphash when it's from compatJason A. Donenfeld2019-09-131-0/+2
|
* compat: support newer PaXJason A. Donenfeld2019-09-111-0/+1
| | | | Reported-by: PaX Team <pageexec@freemail.hu>
* compat: work around ubuntu breakageJason A. Donenfeld2019-09-051-0/+9
| | | | They forgot to backport hsiphash.
* compat: account for android-4.9 backport of addr_gen_modeNathan Chancellor2019-08-251-4/+0
| | | | | | | | Android kernels backported d35a00b8e33dab7385f724e713ae71c8be0a49f4, so now we need to do feature detection. Link: https://android-review.googlesource.com/c/kernel/common/+/1103831 Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
* compat: support running in OpenVZ environmentsJason A. Donenfeld2019-07-191-0/+8
| | | | | | | Overriding LLTX like this is pretty ugly, but at least it means we don't have to let OpenVZ infect the real source tree. Requested-by: Benedikt Braunger <b.braunger@syseleven.de>
* compat: define conversion constants for ancient kernelsJason A. Donenfeld2019-07-041-1/+1
|
* compat: support RHEL8's skb_mark_not_on_list backportJason A. Donenfeld2019-06-281-1/+3
|
* compat: rhel backported list modificationsJason A. Donenfeld2019-06-251-1/+1
|
* global: switch to coarse ktimeJason A. Donenfeld2019-06-251-16/+24
| | | | | | | | | | | | | Coarse ktime is broken until [1] in 5.2 and kernels without the backport, so we use fallback code there. The fallback code has also been improved significantly. It now only uses slower clocks on kernels < 3.17, at the expense of some accuracy we're not overly concerned about. [1] https://lore.kernel.org/lkml/tip-e3ff9c3678b4d80e22d2557b68726174578eaf52@git.kernel.org/ Suggested-by: Arnd Bergmann <arnd@arndb.de>
* compat: unify custom function prefix/suffixJason A. Donenfeld2019-06-241-31/+31
|
* compat: some kernels weirdly backport prandom_u32_maxJason A. Donenfeld2019-06-241-2/+3
|
* compat: don't call xgetbv on cpus with no XSAVEJason A. Donenfeld2019-05-311-1/+1
|
* zinc: arm64: use cpu_get_elf_hwcap accessor for 5.2Jason A. Donenfeld2019-05-291-0/+4
|
* netlink: use new strict length types in policy for 5.2Jason A. Donenfeld2019-05-291-0/+8
| | | | Reported-by: Bruno Wolff III <bruno@wolff.to>
* socket: set ignore_df=1 on xmitJoe Holden2019-05-291-0/+3
| | | | | | | This allows the kernel to generate ipv6 fragments. Apply the same to ipv4 for consistency. Signed-off-by: Joe Holden <jwh@zorins.us>
* compat: backport skb_mark_not_on_listJason A. Donenfeld2019-03-291-0/+7
|
* 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-071-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>
* 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>
* global: prefix functions used in callbacks with wg_Jason A. Donenfeld2018-10-081-15/+21
| | | | Suggested-by: Jiri Pirko <jiri@resnulli.us>
* 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-071-18/+0
| | | | Android kernels backported it, complicating things.
* allowedips: remove ifdefs in favor of IS_ENABLEDJason A. Donenfeld2018-10-061-0/+4
|
* simd: refactor simd availability handlingJason A. Donenfeld2018-10-021-0/+18
|
* 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-201-2/+2
| | | | | 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>
* 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.
* 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>