[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1055966: bookworm-pu: package openvpn-dco-dkms/0.0+git20230324-1+deb12u1 (or 0.0+git20231103-0+deb12u1?)



> > > Considering the version in unstable is currently
> > > 
> > > 0.0+git20231103-1
> > > 
> > > should the upload be versioned
> > > 
> > > 0.0+git20231103-0+deb12u1 (like originally proposed) or
> > > 0.0+git20231103-1~deb12u1
> > 
> > As originally proposed please. You're not backporting 0.0+git20231103-1
> > directly as far as I know, because you have intermediate changes which
> > should not be included (correct me if I'm wrong about that).
> 
> There have been no changes in unstable other than the new upstream version,
> so technically it would be a backport of 0.0+git20231103-1. This is a diff
> between 0.0+git20230324-1 and 0.0+git20231103-1.
> 
>  Makefile                    | 13 ++++++++++---
>  compat-include/net/gso.h    | 20 ++++++++++++++++++++
>  debian/changelog            | 21 +++++++++++++++++++++
>  debian/rules                |  2 +-
>  drivers/net/ovpn-dco/ovpn.c |  1 +
>  drivers/net/ovpn-dco/tcp.c  | 14 +++++++++++---
>  linux-compat.h              |  4 ++--
>  7 files changed, 66 insertions(+), 9 deletions(-)
> 
> The change in d/rules is a new directory in the new upstream version.
> 
> I would just add a d/gbp.conf for the bookworm branch.
> 
> So 0.0+git20231103-1~deb12u1 ?

Uploaded as this version.

Final diff against the version in bookworm is attached

 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(-)

FTR, the diff between 0.0+git20231103-1 and 0.0+git20231103-1~deb12u1 is

 debian/changelog | 7 +++++++
 debian/gbp.conf  | 2 ++
 2 files changed, 9 insertions(+)

Bernhard
diffstat for openvpn-dco-dkms-0.0+git20230324 openvpn-dco-dkms-0.0+git20231103

 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/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 01:00:00.000000000 +0100
+++ openvpn-dco-dkms-0.0+git20231103/compat-include/net/gso.h	2023-11-11 22:20:11.000000000 +0100
@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/* OpenVPN data channel accelerator
+ *
+ *  Copyright (C) 2023 OpenVPN, Inc.
+ *
+ *  Author:	Antonio Quartulli <antonio@openvpn.net>
+ */
+
+#ifndef _NET_OVPN_COMPAT_NET_GSO_H
+#define _NET_OVPN_COMPAT_NET_GSO_H
+
+#include <linux/version.h>
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 4, 10)
+#include_next <net/gso.h>
+#else
+#include <linux/netdevice.h>
+#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 09:47:41.000000000 +0200
+++ openvpn-dco-dkms-0.0+git20231103/debian/changelog	2024-04-07 15:20:37.000000000 +0200
@@ -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 <berni@debian.org>  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 <berni@debian.org>  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 <berni@debian.org>  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 <berni@debian.org>  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 01:00:00.000000000 +0100
+++ openvpn-dco-dkms-0.0+git20231103/debian/gbp.conf	2024-04-07 15:20:37.000000000 +0200
@@ -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 09:47:41.000000000 +0200
+++ openvpn-dco-dkms-0.0+git20231103/debian/rules	2024-04-07 15:20:37.000000000 +0200
@@ -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-25 00:00:30.000000000 +0100
+++ openvpn-dco-dkms-0.0+git20231103/drivers/net/ovpn-dco/ovpn.c	2023-11-11 22:20:11.000000000 +0100
@@ -22,6 +22,7 @@
 #include "udp.h"
 
 #include <linux/workqueue.h>
+#include <net/gso.h>
 #include <uapi/linux/if_ether.h>
 
 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-25 00:00:30.000000000 +0100
+++ openvpn-dco-dkms-0.0+git20231103/drivers/net/ovpn-dco/tcp.c	2023-11-11 22:20:11.000000000 +0100
@@ -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-25 00:00:30.000000000 +0100
+++ openvpn-dco-dkms-0.0+git20231103/linux-compat.h	2023-11-11 22:20:11.000000000 +0100
@@ -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)
 
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-25 00:00:30.000000000 +0100
+++ openvpn-dco-dkms-0.0+git20231103/Makefile	2023-11-11 22:20:11.000000000 +0100
@@ -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)\"

Reply to: