Version in base suite: 0.0+git20230324-1 Base version: openvpn-dco-dkms_0.0+git20230324-1 Target version: openvpn-dco-dkms_0.0+git20231103-1~deb12u1 Base file: /srv/ftp-master.debian.org/ftp/pool/main/o/openvpn-dco-dkms/openvpn-dco-dkms_0.0+git20230324-1.dsc Target file: /srv/ftp-master.debian.org/policy/pool/main/o/openvpn-dco-dkms/openvpn-dco-dkms_0.0+git20231103-1~deb12u1.dsc Makefile | 13 ++++++++++--- compat-include/net/gso.h | 20 ++++++++++++++++++++ debian/changelog | 28 ++++++++++++++++++++++++++++ debian/gbp.conf | 2 ++ debian/rules | 2 +- drivers/net/ovpn-dco/ovpn.c | 1 + drivers/net/ovpn-dco/tcp.c | 14 +++++++++++--- linux-compat.h | 4 ++-- 8 files changed, 75 insertions(+), 9 deletions(-) diff -Nru openvpn-dco-dkms-0.0+git20230324/Makefile openvpn-dco-dkms-0.0+git20231103/Makefile --- openvpn-dco-dkms-0.0+git20230324/Makefile 2023-03-24 23:00:30.000000000 +0000 +++ openvpn-dco-dkms-0.0+git20231103/Makefile 2023-11-11 21:20:11.000000000 +0000 @@ -24,11 +24,18 @@ EL8FLAG := -DEL8 endif +EL9 := $(shell cat /etc/redhat-release 2>/dev/null | grep -c " 9." ) +ifeq (1, $(EL9)) +EL9FLAG := -DEL9 +endif + +ELFLAG := $(EL8FLAG) $(EL9FLAG) + NOSTDINC_FLAGS += \ -I$(PWD)/include/ \ - $(CFLAGS) $(EL8FLAG) \ - -include $(PWD)/linux-compat.h -# -I$(PWD)/compat-include/ + $(CFLAGS) $(ELFLAG) \ + -include $(PWD)/linux-compat.h \ + -I$(PWD)/compat-include/ ifneq ($(REVISION),) NOSTDINC_FLAGS += -DOVPN_DCO_VERSION=\"$(REVISION)\" diff -Nru openvpn-dco-dkms-0.0+git20230324/compat-include/net/gso.h openvpn-dco-dkms-0.0+git20231103/compat-include/net/gso.h --- openvpn-dco-dkms-0.0+git20230324/compat-include/net/gso.h 1970-01-01 00:00:00.000000000 +0000 +++ openvpn-dco-dkms-0.0+git20231103/compat-include/net/gso.h 2023-11-11 21:20:11.000000000 +0000 @@ -0,0 +1,20 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* OpenVPN data channel accelerator + * + * Copyright (C) 2023 OpenVPN, Inc. + * + * Author: Antonio Quartulli + */ + +#ifndef _NET_OVPN_COMPAT_NET_GSO_H +#define _NET_OVPN_COMPAT_NET_GSO_H + +#include + +#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 4, 10) +#include_next +#else +#include +#endif + +#endif /* _NET_OVPN_COMPAT_NET_GSO_H */ diff -Nru openvpn-dco-dkms-0.0+git20230324/debian/changelog openvpn-dco-dkms-0.0+git20231103/debian/changelog --- openvpn-dco-dkms-0.0+git20230324/debian/changelog 2023-04-13 07:47:41.000000000 +0000 +++ openvpn-dco-dkms-0.0+git20231103/debian/changelog 2024-04-07 13:20:37.000000000 +0000 @@ -1,3 +1,31 @@ +openvpn-dco-dkms (0.0+git20231103-1~deb12u1) bookworm; urgency=medium + + * Upload 0.0+git20231103-1 to Debian Bookworm + * Add d/gbp.conf for debian/bookworm branch + + -- Bernhard Schmidt Sun, 07 Apr 2024 15:20:37 +0200 + +openvpn-dco-dkms (0.0+git20231103-1) unstable; urgency=medium + + * New upstream version 0.0+git20231103 + - fixes refcount imbalance ("waiting for tunxxx to become free") seen + on heavy loaded TCP servers + + -- Bernhard Schmidt Sat, 11 Nov 2023 22:20:21 +0100 + +openvpn-dco-dkms (0.0+git20230816-2) unstable; urgency=medium + + * Install compat-include directory (Closes: #1050211) + + -- Bernhard Schmidt Tue, 22 Aug 2023 18:00:24 +0200 + +openvpn-dco-dkms (0.0+git20230816-1) unstable; urgency=medium + + * New upstream version 0.0+git20230816 + - fix build error on kernel 6.5+ (Closes: #1043116) + + -- Bernhard Schmidt Mon, 21 Aug 2023 22:51:04 +0200 + openvpn-dco-dkms (0.0+git20230324-1) unstable; urgency=medium * Release to unstable targetting bookworm. diff -Nru openvpn-dco-dkms-0.0+git20230324/debian/gbp.conf openvpn-dco-dkms-0.0+git20231103/debian/gbp.conf --- openvpn-dco-dkms-0.0+git20230324/debian/gbp.conf 1970-01-01 00:00:00.000000000 +0000 +++ openvpn-dco-dkms-0.0+git20231103/debian/gbp.conf 2024-04-07 13:20:37.000000000 +0000 @@ -0,0 +1,2 @@ +[DEFAULT] +debian-branch=debian/bookworm diff -Nru openvpn-dco-dkms-0.0+git20230324/debian/rules openvpn-dco-dkms-0.0+git20231103/debian/rules --- openvpn-dco-dkms-0.0+git20230324/debian/rules 2023-04-13 07:47:41.000000000 +0000 +++ openvpn-dco-dkms-0.0+git20231103/debian/rules 2024-04-07 13:20:37.000000000 +0000 @@ -18,7 +18,7 @@ override_dh_auto_build: override_dh_auto_install: mkdir -p ${INSTALLDIR} - for f in drivers include linux-compat.h Makefile gen-compat-autoconf.sh; do \ + for f in compat-include drivers include linux-compat.h Makefile gen-compat-autoconf.sh; do \ cp -a $$f ${INSTALLDIR}; \ done diff -Nru openvpn-dco-dkms-0.0+git20230324/drivers/net/ovpn-dco/ovpn.c openvpn-dco-dkms-0.0+git20231103/drivers/net/ovpn-dco/ovpn.c --- openvpn-dco-dkms-0.0+git20230324/drivers/net/ovpn-dco/ovpn.c 2023-03-24 23:00:30.000000000 +0000 +++ openvpn-dco-dkms-0.0+git20231103/drivers/net/ovpn-dco/ovpn.c 2023-11-11 21:20:11.000000000 +0000 @@ -22,6 +22,7 @@ #include "udp.h" #include +#include #include static const unsigned char ovpn_keepalive_message[] = { diff -Nru openvpn-dco-dkms-0.0+git20230324/drivers/net/ovpn-dco/tcp.c openvpn-dco-dkms-0.0+git20231103/drivers/net/ovpn-dco/tcp.c --- openvpn-dco-dkms-0.0+git20230324/drivers/net/ovpn-dco/tcp.c 2023-03-24 23:00:30.000000000 +0000 +++ openvpn-dco-dkms-0.0+git20231103/drivers/net/ovpn-dco/tcp.c 2023-11-11 21:20:11.000000000 +0000 @@ -103,9 +103,17 @@ * Queue skb for sending to userspace via recvmsg on the socket */ if (likely(ovpn_opcode_from_skb(peer->tcp.skb, 0) == OVPN_DATA_V2)) { - /* hold reference to peer as requird by ovpn_recv() */ - ovpn_peer_hold(peer); + /* hold reference to peer as required by ovpn_recv(). + * + * NOTE: in this context we should already be holding a + * reference to this peer, therefore ovpn_peer_hold() is + * not expected to fail + */ + WARN_ON(!ovpn_peer_hold(peer)); status = ovpn_recv(peer->ovpn, peer, peer->tcp.skb); + if (unlikely(status < 0)) + ovpn_peer_put(peer); + } else { /* prepend skb with packet len. this way userspace can parse * the packet as if it just arrived from the remote endpoint @@ -169,7 +177,7 @@ } static bool ovpn_tcp_sock_is_readable( -#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0) +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0) && !defined(EL9) const struct sock *sk #else struct sock *sk diff -Nru openvpn-dco-dkms-0.0+git20230324/linux-compat.h openvpn-dco-dkms-0.0+git20231103/linux-compat.h --- openvpn-dco-dkms-0.0+git20230324/linux-compat.h 2023-03-24 23:00:30.000000000 +0000 +++ openvpn-dco-dkms-0.0+git20231103/linux-compat.h 2023-11-11 21:20:11.000000000 +0000 @@ -64,13 +64,13 @@ #endif /* LINUX_VERSION_CODE < KERNEL_VERSION(5, 11, 0) && !defined(EL8) */ -#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0) +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0) && !defined(EL8) #define genl_small_ops genl_ops #define small_ops ops #define n_small_ops n_ops -#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0) */ +#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0) && !defined(EL8) */ #if LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0) && !defined(EL8)