[Bug 263297] [netinet] [742e721] Changes in udp_tun_func_t() breaks if_wg from net/wireguard-kmod
Date: Fri, 15 Apr 2022 16:54:02 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=263297 Bug ID: 263297 Summary: [netinet] [742e721] Changes in udp_tun_func_t() breaks if_wg from net/wireguard-kmod Product: Base System Version: CURRENT Hardware: Any OS: Any Status: New Severity: Affects Only Me Priority: --- Component: kern Assignee: bugs@FreeBSD.org Reporter: rhurlin@FreeBSD.org On my 14.0-CURRENT amd64 box, it seems that since the commit of base #742e721 [1] ("allow udp_tun_func_t() to indicate it did not eat the packet"), the net/wireguard-kmod port build has stopped working: [..snip..] ===> Building for wireguard-kmod-0.0.20211105 machine -> /usr/src/sys/amd64/include x86 -> /usr/src/sys/x86/include awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/device_if.m -h awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/bus_if.m -h awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/net/ifdi_if.m -h touch opt_global.h Warning: Object directory not changed from original /usr/obj/usr/src/amd64.amd64/sys/RHURLIN/usr/ports/net/wireguard-kmod/work/wireguard-freebsd-0.0.20211105/src cc -O2 -pipe -fno-strict-aliasing -include compat.h -Werror -D_KERNEL -DKLD_MODULE -nostdinc -include /usr/obj/usr/src/amd64.amd64/sys/RHURLIN/usr/ports/net/wireguard-kmod/work/wireguard-freebsd-0.0.20211105/src/opt_global.h -I. -I/usr/src/sys -I/usr/src/sys/contrib/ck/include -fno-common -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdebug-prefix-map=./machine=/usr/src/sys/amd64/include -fdebug-prefix-map=./x86=/usr/src/sys/x86/include -MD -MF.depend.if_wg.o -MTif_wg.o -mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse -msoft-float -fno-asynchronous-unwind-tables -ffreestanding -fwrapv -fstack-protector -Wall -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=__freebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas -Wno-error=tautological-compare -Wno-error=empty-body -Wno-error=parentheses-equality -Wno-error=unused-function -Wno-error=pointer-sign -Wno-error=shift-negative-value -Wno-address-of-packed-member -Wno-unused-but-set-variable -Wno-format-zero-length -mno-aes -mno-avx -std=iso9899:1999 -c if_wg.c -o if_wg.o if_wg.c:711:37: error: incompatible function pointer types passing 'void (struct mbuf *, int, struct inpcb *, const struct sockaddr *, void *)' to parameter of type 'udp_tun_func_t' (aka '_Bool (*)(struct mbuf *, int, struct inpcb *, const struct sockaddr *, void *)') [-Werror,-Wincompatible-function-pointer-types] rc = udp_set_kernel_tunneling(so4, wg_input, NULL, sc); ^~~~~~~~ /usr/src/sys/netinet/udp_var.h:181:65: note: passing argument to parameter 'f' here int udp_set_kernel_tunneling(struct socket *so, udp_tun_func_t f, ^ if_wg.c:722:37: error: incompatible function pointer types passing 'void (struct mbuf *, int, struct inpcb *, const struct sockaddr *, void *)' to parameter of type 'udp_tun_func_t' (aka '_Bool (*)(struct mbuf *, int, struct inpcb *, const struct sockaddr *, void *)') [-Werror,-Wincompatible-function-pointer-types] rc = udp_set_kernel_tunneling(so6, wg_input, NULL, sc); ^~~~~~~~ /usr/src/sys/netinet/udp_var.h:181:65: note: passing argument to parameter 'f' here int udp_set_kernel_tunneling(struct socket *so, udp_tun_func_t f, ^ 2 errors generated. *** Error code 1 [1] https://freshbsd.org/freebsd/src/commit/88162f7abd61206c98432f2c0de869a59be13854 -- You are receiving this mail because: You are the assignee for the bug.