1 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2 From: "Jason A. Donenfeld" <Jason@zx2c4.com>
3 Date: Thu, 2 Jan 2020 17:47:49 +0100
4 Subject: [PATCH] wireguard: selftests: remove ancient kernel compatibility
7 commit 9a69a4c8802adf642bc4a13d471b5a86b44ed434 upstream.
9 Quite a bit of the test suite was designed to work with ancient kernels.
10 Thankfully we no longer have to deal with this. This commit updates
11 things that we can finally update and removes things that we can finally
12 remove, to avoid the build-up of the last several years as a result of
13 having to support ancient kernels. We can finally rely on suppress_
14 prefixlength being available. On the build side of things, the no-PIE
15 hack is no longer required, and we can bump some of the tools, repair
16 our m68k and i686-kvm support, and get better coverage of the static
17 branches used in the crypto lib and in udp_tunnel.
19 Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
20 Signed-off-by: David S. Miller <davem@davemloft.net>
21 Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
23 tools/testing/selftests/wireguard/netns.sh | 11 +--
24 .../testing/selftests/wireguard/qemu/Makefile | 82 ++++++++++---------
25 .../selftests/wireguard/qemu/arch/m68k.config | 2 +-
26 tools/testing/selftests/wireguard/qemu/init.c | 1 +
27 .../selftests/wireguard/qemu/kernel.config | 2 +
28 5 files changed, 50 insertions(+), 48 deletions(-)
30 --- a/tools/testing/selftests/wireguard/netns.sh
31 +++ b/tools/testing/selftests/wireguard/netns.sh
32 @@ -37,7 +37,7 @@ n2() { pretty 2 "$*"; maybe_exec ip netn
33 ip0() { pretty 0 "ip $*"; ip -n $netns0 "$@"; }
34 ip1() { pretty 1 "ip $*"; ip -n $netns1 "$@"; }
35 ip2() { pretty 2 "ip $*"; ip -n $netns2 "$@"; }
36 -sleep() { read -t "$1" -N 0 || true; }
37 +sleep() { read -t "$1" -N 1 || true; }
38 waitiperf() { pretty "${1//*-}" "wait for iperf:5201"; while [[ $(ss -N "$1" -tlp 'sport = 5201') != *iperf3* ]]; do sleep 0.1; done; }
39 waitncatudp() { pretty "${1//*-}" "wait for udp:1111"; while [[ $(ss -N "$1" -ulp 'sport = 1111') != *ncat* ]]; do sleep 0.1; done; }
40 waitncattcp() { pretty "${1//*-}" "wait for tcp:1111"; while [[ $(ss -N "$1" -tlp 'sport = 1111') != *ncat* ]]; do sleep 0.1; done; }
41 @@ -294,12 +294,9 @@ ip1 -6 rule add table main suppress_pref
42 ip1 -4 route add default dev wg0 table 51820
43 ip1 -4 rule add not fwmark 51820 table 51820
44 ip1 -4 rule add table main suppress_prefixlength 0
45 -# suppress_prefixlength only got added in 3.12, and we want to support 3.10+.
46 -if [[ $(ip1 -4 rule show all) == *suppress_prefixlength* ]]; then
47 - # Flood the pings instead of sending just one, to trigger routing table reference counting bugs.
48 - n1 ping -W 1 -c 100 -f 192.168.99.7
49 - n1 ping -W 1 -c 100 -f abab::1111
51 +# Flood the pings instead of sending just one, to trigger routing table reference counting bugs.
52 +n1 ping -W 1 -c 100 -f 192.168.99.7
53 +n1 ping -W 1 -c 100 -f abab::1111
57 --- a/tools/testing/selftests/wireguard/qemu/Makefile
58 +++ b/tools/testing/selftests/wireguard/qemu/Makefile
62 CHOST := $(shell gcc -dumpmachine)
63 +HOST_ARCH := $(firstword $(subst -, ,$(CHOST)))
65 CBUILD := $(subst -gcc,,$(lastword $(subst /, ,$(firstword $(wildcard $(foreach bindir,$(subst :, ,$(PATH)),$(bindir)/$(ARCH)-*-gcc))))))
67 @@ -37,19 +38,19 @@ endef
68 define file_download =
69 $(DISTFILES_PATH)/$(1):
70 mkdir -p $(DISTFILES_PATH)
71 - flock -x $$@.lock -c '[ -f $$@ ] && exit 0; wget -O $$@.tmp $(MIRROR)$(1) || wget -t inf --retry-on-http-error=404 -O $$@.tmp $(2)$(1) || rm -f $$@.tmp'
72 + flock -x $$@.lock -c '[ -f $$@ ] && exit 0; wget -O $$@.tmp $(MIRROR)$(1) || wget -O $$@.tmp $(2)$(1) || rm -f $$@.tmp'
73 if echo "$(3) $$@.tmp" | sha256sum -c -; then mv $$@.tmp $$@; else rm -f $$@.tmp; exit 71; fi
76 -$(eval $(call tar_download,MUSL,musl,1.1.20,.tar.gz,https://www.musl-libc.org/releases/,44be8771d0e6c6b5f82dd15662eb2957c9a3173a19a8b49966ac0542bbd40d61))
77 +$(eval $(call tar_download,MUSL,musl,1.1.24,.tar.gz,https://www.musl-libc.org/releases/,1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3))
78 $(eval $(call tar_download,LIBMNL,libmnl,1.0.4,.tar.bz2,https://www.netfilter.org/projects/libmnl/files/,171f89699f286a5854b72b91d06e8f8e3683064c5901fb09d954a9ab6f551f81))
79 -$(eval $(call tar_download,IPERF,iperf,3.1.7,.tar.gz,http://downloads.es.net/pub/iperf/,a4ef73406fe92250602b8da2ae89ec53211f805df97a1d1d629db5a14043734f))
80 +$(eval $(call tar_download,IPERF,iperf,3.7,.tar.gz,https://downloads.es.net/pub/iperf/,d846040224317caf2f75c843d309a950a7db23f9b44b94688ccbe557d6d1710c))
81 $(eval $(call tar_download,BASH,bash,5.0,.tar.gz,https://ftp.gnu.org/gnu/bash/,b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d))
82 -$(eval $(call tar_download,IPROUTE2,iproute2,5.1.0,.tar.gz,https://www.kernel.org/pub/linux/utils/net/iproute2/,9b43707d6075ecdca14803ca8ce0c8553848c49fa1586d12fd508d66577243f2))
83 -$(eval $(call tar_download,IPTABLES,iptables,1.6.1,.tar.bz2,https://www.netfilter.org/projects/iptables/files/,0fc2d7bd5d7be11311726466789d4c65fb4c8e096c9182b56ce97440864f0cf5))
84 -$(eval $(call tar_download,NMAP,nmap,7.60,.tar.bz2,https://nmap.org/dist/,a8796ecc4fa6c38aad6139d9515dc8113023a82e9d787e5a5fb5fa1b05516f21))
85 -$(eval $(call tar_download,IPUTILS,iputils,s20161105,.tar.gz,https://github.com/iputils/iputils/archive/s20161105.tar.gz/#,f813092f03d17294fd23544b129b95cdb87fe19f7970a51908a6b88509acad8a))
86 -$(eval $(call tar_download,WIREGUARD_TOOLS,WireGuard,0.0.20191212,.tar.xz,https://git.zx2c4.com/WireGuard/snapshot/,b0d718380f7a8822b2f12d75e462fa4eafa3a77871002981f367cd4fe2a1b071))
87 +$(eval $(call tar_download,IPROUTE2,iproute2,5.4.0,.tar.xz,https://www.kernel.org/pub/linux/utils/net/iproute2/,fe97aa60a0d4c5ac830be18937e18dc3400ca713a33a89ad896ff1e3d46086ae))
88 +$(eval $(call tar_download,IPTABLES,iptables,1.8.4,.tar.bz2,https://www.netfilter.org/projects/iptables/files/,993a3a5490a544c2cbf2ef15cf7e7ed21af1845baf228318d5c36ef8827e157c))
89 +$(eval $(call tar_download,NMAP,nmap,7.80,.tar.bz2,https://nmap.org/dist/,fcfa5a0e42099e12e4bf7a68ebe6fde05553383a682e816a7ec9256ab4773faa))
90 +$(eval $(call tar_download,IPUTILS,iputils,s20190709,.tar.gz,https://github.com/iputils/iputils/archive/s20190709.tar.gz/#,a15720dd741d7538dd2645f9f516d193636ae4300ff7dbc8bfca757bf166490a))
91 +$(eval $(call tar_download,WIREGUARD_TOOLS,wireguard-tools,1.0.20191226,.tar.xz,https://git.zx2c4.com/wireguard-tools/snapshot/,aa8af0fdc9872d369d8c890a84dbc2a2466b55795dccd5b47721b2d97644b04f))
93 KERNEL_BUILD_PATH := $(BUILD_PATH)/kernel$(if $(findstring yes,$(DEBUG_KERNEL)),-debug)
94 rwildcard=$(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d))
95 @@ -59,23 +60,21 @@ export CFLAGS ?= -O3 -pipe
97 export CPPFLAGS := -I$(BUILD_PATH)/include
99 -ifeq ($(CHOST),$(CBUILD))
100 +ifeq ($(HOST_ARCH),$(ARCH))
101 CROSS_COMPILE_FLAG := --host=$(CHOST)
102 -NOPIE_GCC := gcc -fno-PIE
103 CFLAGS += -march=native
106 $(info Cross compilation: building for $(CBUILD) using $(CHOST))
107 CROSS_COMPILE_FLAG := --build=$(CBUILD) --host=$(CHOST)
108 export CROSS_COMPILE=$(CBUILD)-
109 -NOPIE_GCC := $(CBUILD)-gcc -fno-PIE
110 STRIP := $(CBUILD)-strip
112 ifeq ($(ARCH),aarch64)
115 KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/arch/arm64/boot/Image
116 -ifeq ($(CHOST),$(CBUILD))
117 +ifeq ($(HOST_ARCH),$(ARCH))
118 QEMU_MACHINE := -cpu host -machine virt,gic_version=host,accel=kvm
120 QEMU_MACHINE := -cpu cortex-a53 -machine virt
121 @@ -85,7 +84,7 @@ else ifeq ($(ARCH),aarch64_be)
124 KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/arch/arm64/boot/Image
125 -ifeq ($(CHOST),$(CBUILD))
126 +ifeq ($(HOST_ARCH),$(ARCH))
127 QEMU_MACHINE := -cpu host -machine virt,gic_version=host,accel=kvm
129 QEMU_MACHINE := -cpu cortex-a53 -machine virt
130 @@ -95,7 +94,7 @@ else ifeq ($(ARCH),arm)
133 KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/arch/arm/boot/zImage
134 -ifeq ($(CHOST),$(CBUILD))
135 +ifeq ($(HOST_ARCH),$(ARCH))
136 QEMU_MACHINE := -cpu host -machine virt,gic_version=host,accel=kvm
138 QEMU_MACHINE := -cpu cortex-a15 -machine virt
139 @@ -105,7 +104,7 @@ else ifeq ($(ARCH),armeb)
142 KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/arch/arm/boot/zImage
143 -ifeq ($(CHOST),$(CBUILD))
144 +ifeq ($(HOST_ARCH),$(ARCH))
145 QEMU_MACHINE := -cpu host -machine virt,gic_version=host,accel=kvm
147 QEMU_MACHINE := -cpu cortex-a15 -machine virt
148 @@ -116,7 +115,7 @@ else ifeq ($(ARCH),x86_64)
150 KERNEL_ARCH := x86_64
151 KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/arch/x86/boot/bzImage
152 -ifeq ($(CHOST),$(CBUILD))
153 +ifeq ($(HOST_ARCH),$(ARCH))
154 QEMU_MACHINE := -cpu host -machine q35,accel=kvm
156 QEMU_MACHINE := -cpu Skylake-Server -machine q35
157 @@ -126,7 +125,7 @@ else ifeq ($(ARCH),i686)
160 KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/arch/x86/boot/bzImage
161 -ifeq ($(subst i686,x86_64,$(CBUILD)),$(CHOST))
162 +ifeq ($(subst x86_64,i686,$(HOST_ARCH)),$(ARCH))
163 QEMU_MACHINE := -cpu host -machine q35,accel=kvm
165 QEMU_MACHINE := -cpu coreduo -machine q35
166 @@ -136,7 +135,7 @@ else ifeq ($(ARCH),mips64)
169 KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/vmlinux
170 -ifeq ($(CHOST),$(CBUILD))
171 +ifeq ($(HOST_ARCH),$(ARCH))
172 QEMU_MACHINE := -cpu host -machine malta,accel=kvm
175 @@ -147,7 +146,7 @@ else ifeq ($(ARCH),mips64el)
176 QEMU_ARCH := mips64el
178 KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/vmlinux
179 -ifeq ($(CHOST),$(CBUILD))
180 +ifeq ($(HOST_ARCH),$(ARCH))
181 QEMU_MACHINE := -cpu host -machine malta,accel=kvm
184 @@ -158,7 +157,7 @@ else ifeq ($(ARCH),mips)
187 KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/vmlinux
188 -ifeq ($(CHOST),$(CBUILD))
189 +ifeq ($(HOST_ARCH),$(ARCH))
190 QEMU_MACHINE := -cpu host -machine malta,accel=kvm
193 @@ -169,7 +168,7 @@ else ifeq ($(ARCH),mipsel)
196 KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/vmlinux
197 -ifeq ($(CHOST),$(CBUILD))
198 +ifeq ($(HOST_ARCH),$(ARCH))
199 QEMU_MACHINE := -cpu host -machine malta,accel=kvm
202 @@ -180,7 +179,7 @@ else ifeq ($(ARCH),powerpc64le)
204 KERNEL_ARCH := powerpc
205 KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/vmlinux
206 -ifeq ($(CHOST),$(CBUILD))
207 +ifeq ($(HOST_ARCH),$(ARCH))
208 QEMU_MACHINE := -cpu host,accel=kvm -machine pseries
210 QEMU_MACHINE := -machine pseries
211 @@ -190,7 +189,7 @@ else ifeq ($(ARCH),powerpc)
213 KERNEL_ARCH := powerpc
214 KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/arch/powerpc/boot/uImage
215 -ifeq ($(CHOST),$(CBUILD))
216 +ifeq ($(HOST_ARCH),$(ARCH))
217 QEMU_MACHINE := -cpu host,accel=kvm -machine ppce500
219 QEMU_MACHINE := -machine ppce500
220 @@ -200,10 +199,11 @@ else ifeq ($(ARCH),m68k)
223 KERNEL_BZIMAGE := $(KERNEL_BUILD_PATH)/vmlinux
224 -ifeq ($(CHOST),$(CBUILD))
225 -QEMU_MACHINE := -cpu host,accel=kvm -machine q800
226 +KERNEL_CMDLINE := $(shell sed -n 's/CONFIG_CMDLINE=\(.*\)/\1/p' arch/m68k.config)
227 +ifeq ($(HOST_ARCH),$(ARCH))
228 +QEMU_MACHINE := -cpu host,accel=kvm -machine q800 -smp 1 -append $(KERNEL_CMDLINE)
230 -QEMU_MACHINE := -machine q800
231 +QEMU_MACHINE := -machine q800 -smp 1 -append $(KERNEL_CMDLINE)
234 $(error I only build: x86_64, i686, arm, armeb, aarch64, aarch64_be, mips, mipsel, mips64, mips64el, powerpc64le, powerpc, m68k)
235 @@ -238,14 +238,14 @@ $(BUILD_PATH)/init-cpio-spec.txt:
236 echo "nod /dev/console 644 0 0 c 5 1" >> $@
237 echo "dir /bin 755 0 0" >> $@
238 echo "file /bin/iperf3 $(IPERF_PATH)/src/iperf3 755 0 0" >> $@
239 - echo "file /bin/wg $(WIREGUARD_TOOLS_PATH)/src/tools/wg 755 0 0" >> $@
240 + echo "file /bin/wg $(WIREGUARD_TOOLS_PATH)/src/wg 755 0 0" >> $@
241 echo "file /bin/bash $(BASH_PATH)/bash 755 0 0" >> $@
242 echo "file /bin/ip $(IPROUTE2_PATH)/ip/ip 755 0 0" >> $@
243 echo "file /bin/ss $(IPROUTE2_PATH)/misc/ss 755 0 0" >> $@
244 echo "file /bin/ping $(IPUTILS_PATH)/ping 755 0 0" >> $@
245 echo "file /bin/ncat $(NMAP_PATH)/ncat/ncat 755 0 0" >> $@
246 - echo "file /bin/xtables-multi $(IPTABLES_PATH)/iptables/xtables-multi 755 0 0" >> $@
247 - echo "slink /bin/iptables xtables-multi 777 0 0" >> $@
248 + echo "file /bin/xtables-legacy-multi $(IPTABLES_PATH)/iptables/xtables-legacy-multi 755 0 0" >> $@
249 + echo "slink /bin/iptables xtables-legacy-multi 777 0 0" >> $@
250 echo "slink /bin/ping6 ping 777 0 0" >> $@
251 echo "dir /lib 755 0 0" >> $@
252 echo "file /lib/libc.so $(MUSL_PATH)/lib/libc.so 755 0 0" >> $@
253 @@ -260,8 +260,8 @@ $(KERNEL_BUILD_PATH)/.config: kernel.con
254 cd $(KERNEL_BUILD_PATH) && ARCH=$(KERNEL_ARCH) $(KERNEL_PATH)/scripts/kconfig/merge_config.sh -n $(KERNEL_BUILD_PATH)/.config $(KERNEL_BUILD_PATH)/minimal.config
255 $(if $(findstring yes,$(DEBUG_KERNEL)),cp debug.config $(KERNEL_BUILD_PATH) && cd $(KERNEL_BUILD_PATH) && ARCH=$(KERNEL_ARCH) $(KERNEL_PATH)/scripts/kconfig/merge_config.sh -n $(KERNEL_BUILD_PATH)/.config debug.config,)
257 -$(KERNEL_BZIMAGE): $(KERNEL_BUILD_PATH)/.config $(BUILD_PATH)/init-cpio-spec.txt $(MUSL_PATH)/lib/libc.so $(IPERF_PATH)/src/iperf3 $(IPUTILS_PATH)/ping $(BASH_PATH)/bash $(IPROUTE2_PATH)/misc/ss $(IPROUTE2_PATH)/ip/ip $(IPTABLES_PATH)/iptables/xtables-multi $(NMAP_PATH)/ncat/ncat $(WIREGUARD_TOOLS_PATH)/src/tools/wg $(BUILD_PATH)/init ../netns.sh $(WIREGUARD_SOURCES)
258 - $(MAKE) -C $(KERNEL_PATH) O=$(KERNEL_BUILD_PATH) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(CROSS_COMPILE) CC="$(NOPIE_GCC)"
259 +$(KERNEL_BZIMAGE): $(KERNEL_BUILD_PATH)/.config $(BUILD_PATH)/init-cpio-spec.txt $(MUSL_PATH)/lib/libc.so $(IPERF_PATH)/src/iperf3 $(IPUTILS_PATH)/ping $(BASH_PATH)/bash $(IPROUTE2_PATH)/misc/ss $(IPROUTE2_PATH)/ip/ip $(IPTABLES_PATH)/iptables/xtables-legacy-multi $(NMAP_PATH)/ncat/ncat $(WIREGUARD_TOOLS_PATH)/src/wg $(BUILD_PATH)/init ../netns.sh $(WIREGUARD_SOURCES)
260 + $(MAKE) -C $(KERNEL_PATH) O=$(KERNEL_BUILD_PATH) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(CROSS_COMPILE)
262 $(BUILD_PATH)/include/linux/.installed: | $(KERNEL_BUILD_PATH)/.config
263 $(MAKE) -C $(KERNEL_PATH) O=$(KERNEL_BUILD_PATH) INSTALL_HDR_PATH=$(BUILD_PATH) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(CROSS_COMPILE) headers_install
264 @@ -280,7 +280,7 @@ $(BUILD_PATH)/include/.installed: $(MUSL
266 $(MUSL_CC): $(MUSL_PATH)/lib/libc.so
267 sh $(MUSL_PATH)/tools/musl-gcc.specs.sh $(BUILD_PATH)/include $(MUSL_PATH)/lib /lib/ld-linux.so.1 > $(BUILD_PATH)/musl-gcc.specs
268 - printf '#!/bin/sh\nexec "$(REAL_CC)" --specs="$(BUILD_PATH)/musl-gcc.specs" -fno-stack-protector -no-pie "$$@"\n' > $(BUILD_PATH)/musl-gcc
269 + printf '#!/bin/sh\nexec "$(REAL_CC)" --specs="$(BUILD_PATH)/musl-gcc.specs" "$$@"\n' > $(BUILD_PATH)/musl-gcc
270 chmod +x $(BUILD_PATH)/musl-gcc
272 $(IPERF_PATH)/.installed: $(IPERF_TAR)
273 @@ -291,7 +291,7 @@ $(IPERF_PATH)/.installed: $(IPERF_TAR)
276 $(IPERF_PATH)/src/iperf3: | $(IPERF_PATH)/.installed $(USERSPACE_DEPS)
277 - cd $(IPERF_PATH) && CFLAGS="$(CFLAGS) -D_GNU_SOURCE" ./configure --prefix=/ $(CROSS_COMPILE_FLAG) --enable-static --disable-shared
278 + cd $(IPERF_PATH) && CFLAGS="$(CFLAGS) -D_GNU_SOURCE" ./configure --prefix=/ $(CROSS_COMPILE_FLAG) --enable-static --disable-shared --with-openssl=no
279 $(MAKE) -C $(IPERF_PATH)
282 @@ -308,8 +308,8 @@ $(WIREGUARD_TOOLS_PATH)/.installed: $(WI
283 flock -s $<.lock tar -C $(BUILD_PATH) -xf $<
286 -$(WIREGUARD_TOOLS_PATH)/src/tools/wg: | $(WIREGUARD_TOOLS_PATH)/.installed $(LIBMNL_PATH)/src/.libs/libmnl.a $(USERSPACE_DEPS)
287 - LDFLAGS="$(LDFLAGS) -L$(LIBMNL_PATH)/src/.libs" $(MAKE) -C $(WIREGUARD_TOOLS_PATH)/src/tools LIBMNL_CFLAGS="-I$(LIBMNL_PATH)/include" LIBMNL_LDLIBS="-lmnl" wg
288 +$(WIREGUARD_TOOLS_PATH)/src/wg: | $(WIREGUARD_TOOLS_PATH)/.installed $(LIBMNL_PATH)/src/.libs/libmnl.a $(USERSPACE_DEPS)
289 + LDFLAGS="$(LDFLAGS) -L$(LIBMNL_PATH)/src/.libs" $(MAKE) -C $(WIREGUARD_TOOLS_PATH)/src LIBMNL_CFLAGS="-I$(LIBMNL_PATH)/include" LIBMNL_LDLIBS="-lmnl" wg
292 $(BUILD_PATH)/init: init.c | $(USERSPACE_DEPS)
293 @@ -323,7 +323,8 @@ $(IPUTILS_PATH)/.installed: $(IPUTILS_TA
296 $(IPUTILS_PATH)/ping: | $(IPUTILS_PATH)/.installed $(USERSPACE_DEPS)
297 - $(MAKE) -C $(IPUTILS_PATH) USE_CAP=no USE_IDN=no USE_NETTLE=no USE_CRYPTO=no ping
298 + sed -i /atexit/d $(IPUTILS_PATH)/ping.c
299 + cd $(IPUTILS_PATH) && $(CC) $(CFLAGS) -std=c99 -o $@ ping.c ping_common.c ping6_common.c iputils_common.c -D_GNU_SOURCE -D'IPUTILS_VERSION(f)=f' -lresolv $(LDFLAGS)
302 $(BASH_PATH)/.installed: $(BASH_TAR)
303 @@ -357,7 +358,7 @@ $(IPTABLES_PATH)/.installed: $(IPTABLES_
304 sed -i -e "/nfnetlink=[01]/s:=[01]:=0:" -e "/nfconntrack=[01]/s:=[01]:=0:" $(IPTABLES_PATH)/configure
307 -$(IPTABLES_PATH)/iptables/xtables-multi: | $(IPTABLES_PATH)/.installed $(LIBMNL_PATH)/src/.libs/libmnl.a $(USERSPACE_DEPS)
308 +$(IPTABLES_PATH)/iptables/xtables-legacy-multi: | $(IPTABLES_PATH)/.installed $(LIBMNL_PATH)/src/.libs/libmnl.a $(USERSPACE_DEPS)
309 cd $(IPTABLES_PATH) && PKG_CONFIG_LIBDIR="$(LIBMNL_PATH)" ./configure --prefix=/ $(CROSS_COMPILE_FLAG) --enable-static --disable-shared --disable-nftables --disable-bpf-compiler --disable-nfsynproxy --disable-libipq --with-kernel=$(BUILD_PATH)/include
310 $(MAKE) -C $(IPTABLES_PATH)
312 @@ -368,8 +369,9 @@ $(NMAP_PATH)/.installed: $(NMAP_TAR)
315 $(NMAP_PATH)/ncat/ncat: | $(NMAP_PATH)/.installed $(USERSPACE_DEPS)
316 - cd $(NMAP_PATH) && ./configure --prefix=/ $(CROSS_COMPILE_FLAG) --enable-static --disable-shared --without-ndiff --without-zenmap --without-nping --with-libpcap=included --with-libpcre=included --with-libdnet=included --without-liblua --with-liblinear=included --without-nmap-update --without-openssl --with-pcap=linux
317 - $(MAKE) -C $(NMAP_PATH) build-ncat
318 + cd $(NMAP_PATH) && ./configure --prefix=/ $(CROSS_COMPILE_FLAG) --enable-static --disable-shared --without-ndiff --without-zenmap --without-nping --with-libpcap=included --with-libpcre=included --with-libdnet=included --without-liblua --with-liblinear=included --without-nmap-update --without-openssl --with-pcap=linux --without-libssh
319 + $(MAKE) -C $(NMAP_PATH)/libpcap
320 + $(MAKE) -C $(NMAP_PATH)/ncat
324 @@ -379,7 +381,7 @@ distclean: clean
325 rm -rf $(DISTFILES_PATH)
327 menuconfig: $(KERNEL_BUILD_PATH)/.config
328 - $(MAKE) -C $(KERNEL_PATH) O=$(KERNEL_BUILD_PATH) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(CROSS_COMPILE) CC="$(NOPIE_GCC)" menuconfig
329 + $(MAKE) -C $(KERNEL_PATH) O=$(KERNEL_BUILD_PATH) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(CROSS_COMPILE) menuconfig
331 .PHONY: qemu build clean distclean menuconfig
333 --- a/tools/testing/selftests/wireguard/qemu/arch/m68k.config
334 +++ b/tools/testing/selftests/wireguard/qemu/arch/m68k.config
337 +CONFIG_M68KCLASSIC=y
340 CONFIG_SERIAL_PMACZILOG=y
341 CONFIG_SERIAL_PMACZILOG_TTYS=y
342 CONFIG_SERIAL_PMACZILOG_CONSOLE=y
343 -CONFIG_CMDLINE_BOOL=y
344 CONFIG_CMDLINE="console=ttyS0 wg.success=ttyS1"
345 CONFIG_FRAME_WARN=1024
346 --- a/tools/testing/selftests/wireguard/qemu/init.c
347 +++ b/tools/testing/selftests/wireguard/qemu/init.c
349 #include <sys/reboot.h>
350 #include <sys/utsname.h>
351 #include <sys/sendfile.h>
352 +#include <sys/sysmacros.h>
353 #include <linux/random.h>
354 #include <linux/version.h>
356 --- a/tools/testing/selftests/wireguard/qemu/kernel.config
357 +++ b/tools/testing/selftests/wireguard/qemu/kernel.config
358 @@ -39,6 +39,7 @@ CONFIG_PRINTK=y
361 CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
366 @@ -55,6 +56,7 @@ CONFIG_NO_HZ_IDLE=y
369 CONFIG_HIGH_RES_TIMERS=y
370 +CONFIG_COMPAT_32BIT_TIME=y
372 CONFIG_FILE_LOCKING=y
373 CONFIG_POSIX_TIMERS=y