[SRU][PULL][F] merge upstream wireguard
Andrea Righi
andrea.righi at canonical.com
Tue Dec 6 10:57:08 UTC 2022
BugLink: https://bugs.launchpad.net/bugs/1998902
[Impact]
In older kernels, like focal, Wireguard used to be maintained as an
external module (wireguard-dkms). This dkms is not maintained anymore,
but upstream maintainer periodically provides backported patches for
older kernels (like 5.4) in this git repository
https://git.zx2c4.com/wireguard-linux.
In order to properly support Wireguard with all the recent security
updates, fixes, etc. it would be more efficient for us to apply the
backported patch set officially provided by the upstream maintainer,
instead of maintaining these changes in a separate dkms.
[Test case]
We need to figure out a proper test case to verify that wireguard is
applied and it's working correctly.
Right now the best option is to verify the availability of the
wireguard.ko module and run the kernel selftests in
tools/testing/selftests/wireguard/ (specifically
./tools/testing/selftests/wireguard/netns.sh - we can just run it
directly, but it requires iperf3 and ncat installed and a
`modprobe nf_conntrack` before starting the test).
[Fix]
Apply the backported wireguard patch set provided by the upstream
maintainer as UBUNTU SAUCE patches (patch set available in
https://git.zx2c4.com/wireguard-linux branch backport-5.4.y).
[Where things could go wrong]
We don't have a precise plan to keep the wireguard patches updated after
some SRU patches are applied to our kernel. A quick and dirty solution
could be to revert the wireguard patch set entirely, apply the SRU
patches, then re-apply the latest wireguard patch set on top. But we
probably need to figure out a better workflow.
Also this patch set is probably going to conflict with wireguard-dkms,
but that is the whole point, we want to deprecate this dkms and merge
wireguard into our kernel directly.
---
The following changes since commit b3f6cc8080a4bb1693c308f0586edc8de13d8ecf:
UBUNTU: Upstream stable to v5.4.222 (2022-11-28 15:25:46 +0100)
are available in the Git repository at:
git://git.launchpad.net/~arighi/+git/focal wireguard-backport
for you to fetch changes up to 3cf8b3b59573a62263302f1b3196829c54661c91:
UBUNTU: [Packaging] drop wireguard dkms (2022-12-06 11:54:12 +0100)
----------------------------------------------------------------
Andrea Righi (2):
UBUNTU: [Config] enable wireguard
UBUNTU: [Packaging] drop wireguard dkms
Antonio Quartulli (1):
UBUNTU: SAUCE: wireguard: avoid double unlikely() notation when using IS_ERR()
Ard Biesheuvel (29):
UBUNTU: SAUCE: crypto: lib - tidy up lib/crypto Kconfig and Makefile
UBUNTU: SAUCE: crypto: chacha - move existing library code into lib/crypto
UBUNTU: SAUCE: crypto: x86/chacha - depend on generic chacha library instead of crypto driver
UBUNTU: SAUCE: crypto: x86/chacha - expose SIMD ChaCha routine as library function
UBUNTU: SAUCE: crypto: arm64/chacha - depend on generic chacha library instead of crypto driver
UBUNTU: SAUCE: crypto: arm64/chacha - expose arm64 ChaCha routine as library function
UBUNTU: SAUCE: crypto: arm/chacha - import Eric Biggers's scalar accelerated ChaCha code
UBUNTU: SAUCE: crypto: arm/chacha - remove dependency on generic ChaCha driver
UBUNTU: SAUCE: crypto: arm/chacha - expose ARM ChaCha routine as library function
UBUNTU: SAUCE: crypto: mips/chacha - wire up accelerated 32r2 code from Zinc
UBUNTU: SAUCE: crypto: chacha - unexport chacha_generic routines
UBUNTU: SAUCE: crypto: poly1305 - move core routines into a separate library
UBUNTU: SAUCE: crypto: x86/poly1305 - unify Poly1305 state struct with generic code
UBUNTU: SAUCE: crypto: poly1305 - expose init/update/final library interface
UBUNTU: SAUCE: crypto: x86/poly1305 - depend on generic library not generic shash
UBUNTU: SAUCE: crypto: x86/poly1305 - expose existing driver as poly1305 library
UBUNTU: SAUCE: crypto: arm64/poly1305 - incorporate OpenSSL/CRYPTOGAMS NEON implementation
UBUNTU: SAUCE: crypto: arm/poly1305 - incorporate OpenSSL/CRYPTOGAMS NEON implementation
UBUNTU: SAUCE: crypto: mips/poly1305 - incorporate OpenSSL/CRYPTOGAMS optimized implementation
UBUNTU: SAUCE: crypto: curve25519 - add kpp selftest
UBUNTU: SAUCE: crypto: curve25519 - implement generic KPP driver
UBUNTU: SAUCE: crypto: lib/curve25519 - work around Clang stack spilling issue
UBUNTU: SAUCE: crypto: chacha20poly1305 - import construction and selftest from Zinc
UBUNTU: SAUCE: crypto: lib/chacha20poly1305 - reimplement crypt_from_sg() routine
UBUNTU: SAUCE: crypto: arm/chacha - fix build failured when kernel mode NEON is disabled
UBUNTU: SAUCE: crypto: x86/chacha-sse3 - use unaligned loads for state array
UBUNTU: SAUCE: crypto: arm/chacha-neon - optimize for non-block size multiples
UBUNTU: SAUCE: crypto: arm64/chacha - simplify tail block handling
UBUNTU: SAUCE: crypto: arm/chacha-neon - add missing counter increment
Arnd Bergmann (1):
UBUNTU: SAUCE: crypto: poly1305 - fix poly1305_core_setkey() declaration
Eric Biggers (4):
UBUNTU: SAUCE: crypto: chacha_generic - remove unnecessary setkey() functions
UBUNTU: SAUCE: crypto: x86/chacha - only unregister algorithms if registered
UBUNTU: SAUCE: crypto: lib/chacha20poly1305 - use chacha20_crypt()
UBUNTU: SAUCE: crypto: x86/poly1305 - add back a needed assignment
Eric Dumazet (1):
UBUNTU: SAUCE: wireguard: allowedips: fix use-after-free in root_remove_peer_lists
Fabio Estevam (1):
UBUNTU: SAUCE: crypto: arm/curve25519 - include <linux/scatterlist.h>
Frank Werner-Krippendorf (1):
UBUNTU: SAUCE: wireguard: noise: do not assign initiation time in if condition
Gustavo A. R. Silva (1):
UBUNTU: SAUCE: wireguard: ratelimiter: use kvcalloc() instead of kvzalloc()
Hangbin Liu (1):
UBUNTU: SAUCE: crypto: x86/curve25519 - fix cpu feature checking logic in mod_exit
Herbert Xu (5):
UBUNTU: SAUCE: crypto: curve25519 - Fix selftest build error
UBUNTU: SAUCE: crypto: lib/chacha20poly1305 - Add missing function declaration
UBUNTU: SAUCE: crypto: x86/curve25519 - Remove unused carry variables
UBUNTU: SAUCE: crypto: arm/poly1305 - Add prototype for poly1305_blocks_neon
UBUNTU: SAUCE: crypto: x86/poly1305 - Remove assignments with no effect
Ilya Lipnitskiy (1):
UBUNTU: SAUCE: crypto: mips: add poly1305-core.S to .gitignore
Jann Horn (1):
UBUNTU: SAUCE: wireguard: socket: remove bogus __be32 annotation
Jason A. Donenfeld (94):
UBUNTU: SAUCE: crypto: mips/chacha - import 32r2 ChaCha code from Zinc
UBUNTU: SAUCE: crypto: curve25519 - generic C library implementations
UBUNTU: SAUCE: crypto: curve25519 - x86_64 library and KPP implementations
UBUNTU: SAUCE: crypto: arm/curve25519 - import Bernstein and Schwabe's Curve25519 ARM implementation
UBUNTU: SAUCE: crypto: arm/curve25519 - wire up NEON implementation
UBUNTU: SAUCE: crypto: arch - conditionalize crypto api in arch glue for lib code
UBUNTU: SAUCE: crypto: arm/curve25519 - add arch-specific key generation function
UBUNTU: SAUCE: crypto: lib/curve25519 - re-add selftests
UBUNTU: SAUCE: crypto: poly1305 - add new 32 and 64-bit generic versions
UBUNTU: SAUCE: crypto: x86/poly1305 - import unmodified cryptogams implementation
UBUNTU: SAUCE: crypto: x86/poly1305 - wire up faster implementations for kernel
UBUNTU: SAUCE: crypto: {arm,arm64,mips}/poly1305 - remove redundant non-reduction from emit
UBUNTU: SAUCE: crypto: x86/poly1305 - fix .gitignore typo
UBUNTU: SAUCE: crypto: chacha20poly1305 - add back missing test vectors and test chunking
UBUNTU: SAUCE: crypto: x86/poly1305 - emit does base conversion itself
UBUNTU: SAUCE: crypto: Kconfig - allow tests to be disabled when manager is disabled
UBUNTU: SAUCE: crypto: chacha20poly1305 - prevent integer overflow on large input
UBUNTU: SAUCE: crypto: x86/curve25519 - support assemblers with no adx support
UBUNTU: SAUCE: crypto: arm64/chacha - correctly walk through blocks
UBUNTU: SAUCE: crypto: x86/curve25519 - replace with formally verified implementation
UBUNTU: SAUCE: crypto: x86/curve25519 - leave r12 as spare register
UBUNTU: SAUCE: crypto: arm[64]/poly1305 - add artifact to .gitignore files
UBUNTU: SAUCE: crypto: arch/lib - limit simd usage to 4k chunks
UBUNTU: SAUCE: crypto: Kconfig - CRYPTO_MANAGER_EXTRA_TESTS requires the manager
UBUNTU: SAUCE: crypto: lib/chacha20poly1305 - define empty module exit function
UBUNTU: SAUCE: net: WireGuard secure network tunnel
UBUNTU: SAUCE: wireguard: selftests: import harness makefile for test suite
UBUNTU: SAUCE: wireguard: Kconfig: select parent dependency for crypto
UBUNTU: SAUCE: wireguard: selftests: remove ancient kernel compatibility code
UBUNTU: SAUCE: wireguard: queueing: do not account for pfmemalloc when clearing skb header
UBUNTU: SAUCE: wireguard: socket: mark skbs as not on list when receiving via gro
UBUNTU: SAUCE: wireguard: noise: reject peers with low order public keys
UBUNTU: SAUCE: wireguard: selftests: ensure non-addition of peers with failed precomputation
UBUNTU: SAUCE: wireguard: selftests: tie socket waiting to target pid
UBUNTU: SAUCE: wireguard: device: use icmp_ndo_send helper
UBUNTU: SAUCE: wireguard: selftests: reduce complexity and fix make races
UBUNTU: SAUCE: wireguard: receive: reset last_under_load to zero
UBUNTU: SAUCE: wireguard: send: account for mtu=0 devices
UBUNTU: SAUCE: wireguard: socket: remove extra call to synchronize_net
UBUNTU: SAUCE: wireguard: queueing: account for skb->protocol==0
UBUNTU: SAUCE: wireguard: receive: remove dead code from default packet type case
UBUNTU: SAUCE: wireguard: noise: error out precomputed DH during handshake rather than config
UBUNTU: SAUCE: wireguard: queueing: cleanup ptr_ring in error path of packet_queue_init
UBUNTU: SAUCE: wireguard: selftests: use normal kernel stack size on ppc64
UBUNTU: SAUCE: wireguard: socket: remove errant restriction on looping to self
UBUNTU: SAUCE: wireguard: send/receive: cond_resched() when processing worker ringbuffers
UBUNTU: SAUCE: wireguard: selftests: initalize ipv6 members to NULL to squelch clang warning
UBUNTU: SAUCE: wireguard: send/receive: use explicit unlikely branch instead of implicit coalescing
UBUNTU: SAUCE: wireguard: selftests: use newer iproute2 for gcc-10
UBUNTU: SAUCE: wireguard: noise: read preshared key while taking lock
UBUNTU: SAUCE: wireguard: queueing: preserve flow hash across packet scrubbing
UBUNTU: SAUCE: wireguard: noise: separate receive counter from send counter
UBUNTU: SAUCE: wireguard: device: avoid circular netns references
UBUNTU: SAUCE: wireguard: receive: account for napi_gro_receive never returning GRO_DROP
UBUNTU: SAUCE: net: ip_tunnel: add header_ops for layer 3 devices
UBUNTU: SAUCE: wireguard: implement header_ops->parse_protocol for AF_PACKET
UBUNTU: SAUCE: wireguard: queueing: make use of ip_tunnel_parse_protocol
UBUNTU: SAUCE: wireguard: noise: take lock when removing handshake entry from table
UBUNTU: SAUCE: wireguard: peerlookup: take lock before checking hash in replace operation
UBUNTU: SAUCE: wireguard: selftests: check that route_me_harder packets use the right sk
UBUNTU: SAUCE: wireguard: selftests: test multiple parallel streams
UBUNTU: SAUCE: wireguard: peer: put frequently used members above cache lines
UBUNTU: SAUCE: wireguard: device: do not generate ICMP for non-IP packets
UBUNTU: SAUCE: wireguard: queueing: get rid of per-peer ring buffers
UBUNTU: SAUCE: wireguard: kconfig: use arm chacha even with no neon
UBUNTU: SAUCE: wireguard: selftests: remove old conntrack kconfig value
UBUNTU: SAUCE: wireguard: selftests: make sure rp_filter is disabled on vethc
UBUNTU: SAUCE: wireguard: do not use -O3
UBUNTU: SAUCE: wireguard: use synchronize_net rather than synchronize_rcu
UBUNTU: SAUCE: wireguard: peer: allocate in kmem_cache
UBUNTU: SAUCE: wireguard: allowedips: initialize list head in selftest
UBUNTU: SAUCE: wireguard: allowedips: remove nodes in O(1)
UBUNTU: SAUCE: wireguard: allowedips: allocate nodes in kmem_cache
UBUNTU: SAUCE: wireguard: allowedips: free empty intermediate nodes when removing single node
UBUNTU: SAUCE: wireguard: allowedips: add missing __rcu annotation to satisfy sparse
UBUNTU: SAUCE: wireguard: selftests: increase default dmesg log size
UBUNTU: SAUCE: wireguard: selftests: actually test for routing loops
UBUNTU: SAUCE: wireguard: device: reset peer src endpoint when netns exits
UBUNTU: SAUCE: wireguard: receive: use ring buffer for incoming handshakes
UBUNTU: SAUCE: wireguard: receive: drop handshakes if queue lock is contended
UBUNTU: SAUCE: crypto: x86/curve25519 - use in/out register constraints more precisely
UBUNTU: SAUCE: wireguard: queueing: use CFI-safe ptr_ring cleanup function
UBUNTU: SAUCE: wireguard: selftests: simplify RNG seeding
UBUNTU: SAUCE: wireguard: socket: ignore v6 endpoints when ipv6 is disabled
UBUNTU: SAUCE: wireguard: selftests: enable ACPI for SMP
UBUNTU: SAUCE: wireguard: selftests: make routing loop test non-fatal
UBUNTU: SAUCE: wireguard: selftests: limit parallelism to $(nproc) tests at once
UBUNTU: SAUCE: wireguard: selftests: use newer toolchains to fill out architectures
UBUNTU: SAUCE: wireguard: selftests: restore support for ccache
UBUNTU: SAUCE: wireguard: selftests: bump package deps
UBUNTU: SAUCE: wireguard: selftests: set panic_on_warn=1 from cmdline
UBUNTU: SAUCE: wireguard: selftests: set fake real time in init
UBUNTU: SAUCE: wireguard: selftests: always call kernel makefile
UBUNTU: SAUCE: wireguard: selftests: use microvm on x86
Johannes Berg (2):
UBUNTU: SAUCE: netlink: consistently use NLA_POLICY_EXACT_LEN()
UBUNTU: SAUCE: netlink: consistently use NLA_POLICY_MIN_LEN()
Josh Soref (1):
UBUNTU: SAUCE: wireguard: global: fix spelling mistakes in comments
Li Zhijian (1):
UBUNTU: SAUCE: wireguard: selftests: rename DEBUG_PI_LIST to DEBUG_PLIST
Maciej W. Rozycki (1):
UBUNTU: SAUCE: crypto: mips/poly1305 - enable for all MIPS processors
Nikolay Aleksandrov (1):
UBUNTU: SAUCE: wireguard: device: check for metadata_dst with skb_valid_dst()
Randy Dunlap (1):
UBUNTU: SAUCE: wireguard: main: rename 'mod_init' & 'mod_exit' functions to be module-specific
Sultan Alsawaf (1):
UBUNTU: SAUCE: wireguard: send: remove errant newline from packet_encrypt_worker
Toke Høiland-Jørgensen (1):
UBUNTU: SAUCE: wireguard: receive: use tunnel helpers for decapsulating ECN markings
Uros Bizjak (2):
UBUNTU: SAUCE: crypto: curve25519-x86_64 - Use XORL r32,32
UBUNTU: SAUCE: crypto: poly1305-x86_64 - Use XORL r32,32
Valdis Kletnieks (1):
UBUNTU: SAUCE: crypto: chacha - fix warning message in header file
Wang Hai (1):
UBUNTU: SAUCE: wireguard: socket: free skb in send6 when ipv6 is disabled
Wei Yongjun (1):
UBUNTU: SAUCE: wireguard: allowedips: use kfree_rcu() instead of call_rcu()
YueHaibing (2):
UBUNTU: SAUCE: wireguard: main: remove unused include <linux/version.h>
UBUNTU: SAUCE: wireguard: selftests: remove duplicated include <sys/types.h>
MAINTAINERS | 8 +
arch/arm/crypto/.gitignore | 1 +
arch/arm/crypto/Kconfig | 16 +-
arch/arm/crypto/Makefile | 17 +-
arch/arm/crypto/chacha-glue.c | 358 +
arch/arm/crypto/chacha-neon-core.S | 97 +-
arch/arm/crypto/chacha-neon-glue.c | 202 -
arch/arm/crypto/chacha-scalar-core.S | 460 +
arch/arm/crypto/curve25519-core.S | 2062 +++++
arch/arm/crypto/curve25519-glue.c | 136 +
arch/arm/crypto/poly1305-armv4.pl | 1236 +++
arch/arm/crypto/poly1305-core.S_shipped | 1158 +++
arch/arm/crypto/poly1305-glue.c | 273 +
arch/arm64/crypto/.gitignore | 1 +
arch/arm64/crypto/Kconfig | 9 +-
arch/arm64/crypto/Makefile | 10 +-
arch/arm64/crypto/chacha-neon-core.S | 193 +-
arch/arm64/crypto/chacha-neon-glue.c | 100 +-
arch/arm64/crypto/poly1305-armv8.pl | 913 ++
arch/arm64/crypto/poly1305-core.S_shipped | 835 ++
arch/arm64/crypto/poly1305-glue.c | 231 +
arch/mips/Makefile | 2 +-
arch/mips/crypto/.gitignore | 2 +
arch/mips/crypto/Makefile | 18 +
arch/mips/crypto/chacha-core.S | 497 ++
arch/mips/crypto/chacha-glue.c | 152 +
arch/mips/crypto/poly1305-glue.c | 191 +
arch/mips/crypto/poly1305-mips.pl | 1273 +++
arch/x86/Makefile | 5 +-
arch/x86/crypto/.gitignore | 1 +
arch/x86/crypto/Makefile | 17 +-
arch/x86/crypto/chacha-ssse3-x86_64.S | 16 +-
arch/x86/crypto/chacha_glue.c | 194 +-
arch/x86/crypto/curve25519-x86_64.c | 1724 ++++
arch/x86/crypto/poly1305-avx2-x86_64.S | 390 -
arch/x86/crypto/poly1305-sse2-x86_64.S | 590 --
arch/x86/crypto/poly1305-x86_64-cryptogams.pl | 4265 +++++++++
arch/x86/crypto/poly1305_glue.c | 327 +-
crypto/Kconfig | 53 +-
crypto/Makefile | 1 +
crypto/adiantum.c | 9 +-
crypto/chacha_generic.c | 94 +-
crypto/curve25519-generic.c | 90 +
crypto/nhpoly1305.c | 5 +-
crypto/poly1305_generic.c | 213 +-
crypto/testmgr.c | 6 +
crypto/testmgr.h | 1225 +++
debian.master/config/amd64/config.common.amd64 | 1 +
debian.master/config/annotations | 2 +
debian.master/config/arm64/config.common.arm64 | 1 +
debian.master/config/armhf/config.common.armhf | 1 +
debian.master/config/config.common.ubuntu | 17 +
debian.master/config/i386/config.common.i386 | 1 +
debian.master/config/ppc64el/config.common.ppc64el | 1 +
debian.master/config/s390x/config.common.s390x | 1 +
debian.master/rules.d/amd64.mk | 1 -
debian.master/rules.d/arm64.mk | 1 -
debian.master/rules.d/armhf.mk | 2 -
debian.master/rules.d/ppc64el.mk | 1 -
debian.master/rules.d/s390x.mk | 1 -
debian/dkms-versions | 1 -
debian/rules | 6 -
debian/rules.d/2-binary-arch.mk | 2 -
drivers/net/Kconfig | 41 +
drivers/net/Makefile | 1 +
drivers/net/wireguard/Makefile | 17 +
drivers/net/wireguard/allowedips.c | 386 +
drivers/net/wireguard/allowedips.h | 59 +
drivers/net/wireguard/cookie.c | 236 +
drivers/net/wireguard/cookie.h | 59 +
drivers/net/wireguard/device.c | 461 +
drivers/net/wireguard/device.h | 62 +
drivers/net/wireguard/main.c | 78 +
drivers/net/wireguard/messages.h | 128 +
drivers/net/wireguard/netlink.c | 646 ++
drivers/net/wireguard/netlink.h | 12 +
drivers/net/wireguard/noise.c | 861 ++
drivers/net/wireguard/noise.h | 135 +
drivers/net/wireguard/peer.c | 240 +
drivers/net/wireguard/peer.h | 86 +
drivers/net/wireguard/peerlookup.c | 226 +
drivers/net/wireguard/peerlookup.h | 64 +
drivers/net/wireguard/queueing.c | 108 +
drivers/net/wireguard/queueing.h | 214 +
drivers/net/wireguard/ratelimiter.c | 223 +
drivers/net/wireguard/ratelimiter.h | 19 +
drivers/net/wireguard/receive.c | 593 ++
drivers/net/wireguard/selftest/allowedips.c | 676 ++
drivers/net/wireguard/selftest/counter.c | 111 +
drivers/net/wireguard/selftest/ratelimiter.c | 226 +
drivers/net/wireguard/send.c | 413 +
drivers/net/wireguard/socket.c | 437 +
drivers/net/wireguard/socket.h | 44 +
drivers/net/wireguard/timers.c | 243 +
drivers/net/wireguard/timers.h | 31 +
drivers/net/wireguard/version.h | 1 +
include/crypto/chacha.h | 79 +-
include/crypto/chacha20poly1305.h | 50 +
include/crypto/curve25519.h | 73 +
include/crypto/internal/chacha.h | 43 +
include/crypto/internal/poly1305.h | 34 +
include/crypto/nhpoly1305.h | 4 +-
include/crypto/poly1305.h | 95 +-
include/net/dst_cache.h | 11 +
include/net/ip_tunnels.h | 3 +
include/uapi/linux/wireguard.h | 196 +
lib/Makefile | 3 +-
lib/crypto/Kconfig | 105 +
lib/crypto/Makefile | 44 +-
lib/{ => crypto}/chacha.c | 20 +-
lib/crypto/chacha20poly1305-selftest.c | 9082 ++++++++++++++++++++
lib/crypto/chacha20poly1305.c | 375 +
lib/crypto/curve25519-fiat32.c | 864 ++
lib/crypto/curve25519-generic.c | 24 +
lib/crypto/curve25519-hacl64.c | 788 ++
lib/crypto/curve25519-selftest.c | 1321 +++
lib/crypto/curve25519.c | 35 +
lib/crypto/libchacha.c | 35 +
lib/crypto/poly1305-donna32.c | 205 +
lib/crypto/poly1305-donna64.c | 186 +
lib/crypto/poly1305.c | 78 +
net/core/dst_cache.c | 19 +
net/ipv4/ip_tunnel_core.c | 18 +
tools/testing/selftests/wireguard/netns.sh | 674 ++
tools/testing/selftests/wireguard/qemu/.gitignore | 4 +
tools/testing/selftests/wireguard/qemu/Makefile | 421 +
.../selftests/wireguard/qemu/arch/aarch64.config | 8 +
.../wireguard/qemu/arch/aarch64_be.config | 9 +
.../selftests/wireguard/qemu/arch/arm.config | 13 +
.../selftests/wireguard/qemu/arch/armeb.config | 14 +
.../selftests/wireguard/qemu/arch/i686.config | 10 +
.../selftests/wireguard/qemu/arch/m68k.config | 10 +
.../selftests/wireguard/qemu/arch/mips.config | 12 +
.../selftests/wireguard/qemu/arch/mips64.config | 14 +
.../selftests/wireguard/qemu/arch/mips64el.config | 15 +
.../selftests/wireguard/qemu/arch/mipsel.config | 13 +
.../selftests/wireguard/qemu/arch/powerpc.config | 11 +
.../selftests/wireguard/qemu/arch/powerpc64.config | 13 +
.../wireguard/qemu/arch/powerpc64le.config | 13 +
.../selftests/wireguard/qemu/arch/s390x.config | 6 +
.../selftests/wireguard/qemu/arch/x86_64.config | 9 +
.../testing/selftests/wireguard/qemu/debug.config | 67 +
tools/testing/selftests/wireguard/qemu/init.c | 277 +
.../testing/selftests/wireguard/qemu/kernel.config | 90 +
144 files changed, 40385 insertions(+), 1961 deletions(-)
create mode 100644 arch/arm/crypto/chacha-glue.c
delete mode 100644 arch/arm/crypto/chacha-neon-glue.c
create mode 100644 arch/arm/crypto/chacha-scalar-core.S
create mode 100644 arch/arm/crypto/curve25519-core.S
create mode 100644 arch/arm/crypto/curve25519-glue.c
create mode 100644 arch/arm/crypto/poly1305-armv4.pl
create mode 100644 arch/arm/crypto/poly1305-core.S_shipped
create mode 100644 arch/arm/crypto/poly1305-glue.c
create mode 100644 arch/arm64/crypto/poly1305-armv8.pl
create mode 100644 arch/arm64/crypto/poly1305-core.S_shipped
create mode 100644 arch/arm64/crypto/poly1305-glue.c
create mode 100644 arch/mips/crypto/.gitignore
create mode 100644 arch/mips/crypto/chacha-core.S
create mode 100644 arch/mips/crypto/chacha-glue.c
create mode 100644 arch/mips/crypto/poly1305-glue.c
create mode 100644 arch/mips/crypto/poly1305-mips.pl
create mode 100644 arch/x86/crypto/.gitignore
create mode 100644 arch/x86/crypto/curve25519-x86_64.c
delete mode 100644 arch/x86/crypto/poly1305-avx2-x86_64.S
delete mode 100644 arch/x86/crypto/poly1305-sse2-x86_64.S
create mode 100644 arch/x86/crypto/poly1305-x86_64-cryptogams.pl
create mode 100644 crypto/curve25519-generic.c
create mode 100644 drivers/net/wireguard/Makefile
create mode 100644 drivers/net/wireguard/allowedips.c
create mode 100644 drivers/net/wireguard/allowedips.h
create mode 100644 drivers/net/wireguard/cookie.c
create mode 100644 drivers/net/wireguard/cookie.h
create mode 100644 drivers/net/wireguard/device.c
create mode 100644 drivers/net/wireguard/device.h
create mode 100644 drivers/net/wireguard/main.c
create mode 100644 drivers/net/wireguard/messages.h
create mode 100644 drivers/net/wireguard/netlink.c
create mode 100644 drivers/net/wireguard/netlink.h
create mode 100644 drivers/net/wireguard/noise.c
create mode 100644 drivers/net/wireguard/noise.h
create mode 100644 drivers/net/wireguard/peer.c
create mode 100644 drivers/net/wireguard/peer.h
create mode 100644 drivers/net/wireguard/peerlookup.c
create mode 100644 drivers/net/wireguard/peerlookup.h
create mode 100644 drivers/net/wireguard/queueing.c
create mode 100644 drivers/net/wireguard/queueing.h
create mode 100644 drivers/net/wireguard/ratelimiter.c
create mode 100644 drivers/net/wireguard/ratelimiter.h
create mode 100644 drivers/net/wireguard/receive.c
create mode 100644 drivers/net/wireguard/selftest/allowedips.c
create mode 100644 drivers/net/wireguard/selftest/counter.c
create mode 100644 drivers/net/wireguard/selftest/ratelimiter.c
create mode 100644 drivers/net/wireguard/send.c
create mode 100644 drivers/net/wireguard/socket.c
create mode 100644 drivers/net/wireguard/socket.h
create mode 100644 drivers/net/wireguard/timers.c
create mode 100644 drivers/net/wireguard/timers.h
create mode 100644 drivers/net/wireguard/version.h
create mode 100644 include/crypto/chacha20poly1305.h
create mode 100644 include/crypto/curve25519.h
create mode 100644 include/crypto/internal/chacha.h
create mode 100644 include/crypto/internal/poly1305.h
create mode 100644 include/uapi/linux/wireguard.h
create mode 100644 lib/crypto/Kconfig
rename lib/{ => crypto}/chacha.c (88%)
create mode 100644 lib/crypto/chacha20poly1305-selftest.c
create mode 100644 lib/crypto/chacha20poly1305.c
create mode 100644 lib/crypto/curve25519-fiat32.c
create mode 100644 lib/crypto/curve25519-generic.c
create mode 100644 lib/crypto/curve25519-hacl64.c
create mode 100644 lib/crypto/curve25519-selftest.c
create mode 100644 lib/crypto/curve25519.c
create mode 100644 lib/crypto/libchacha.c
create mode 100644 lib/crypto/poly1305-donna32.c
create mode 100644 lib/crypto/poly1305-donna64.c
create mode 100644 lib/crypto/poly1305.c
create mode 100755 tools/testing/selftests/wireguard/netns.sh
create mode 100644 tools/testing/selftests/wireguard/qemu/.gitignore
create mode 100644 tools/testing/selftests/wireguard/qemu/Makefile
create mode 100644 tools/testing/selftests/wireguard/qemu/arch/aarch64.config
create mode 100644 tools/testing/selftests/wireguard/qemu/arch/aarch64_be.config
create mode 100644 tools/testing/selftests/wireguard/qemu/arch/arm.config
create mode 100644 tools/testing/selftests/wireguard/qemu/arch/armeb.config
create mode 100644 tools/testing/selftests/wireguard/qemu/arch/i686.config
create mode 100644 tools/testing/selftests/wireguard/qemu/arch/m68k.config
create mode 100644 tools/testing/selftests/wireguard/qemu/arch/mips.config
create mode 100644 tools/testing/selftests/wireguard/qemu/arch/mips64.config
create mode 100644 tools/testing/selftests/wireguard/qemu/arch/mips64el.config
create mode 100644 tools/testing/selftests/wireguard/qemu/arch/mipsel.config
create mode 100644 tools/testing/selftests/wireguard/qemu/arch/powerpc.config
create mode 100644 tools/testing/selftests/wireguard/qemu/arch/powerpc64.config
create mode 100644 tools/testing/selftests/wireguard/qemu/arch/powerpc64le.config
create mode 100644 tools/testing/selftests/wireguard/qemu/arch/s390x.config
create mode 100644 tools/testing/selftests/wireguard/qemu/arch/x86_64.config
create mode 100644 tools/testing/selftests/wireguard/qemu/debug.config
create mode 100644 tools/testing/selftests/wireguard/qemu/init.c
create mode 100644 tools/testing/selftests/wireguard/qemu/kernel.config
More information about the kernel-team
mailing list