Bug#1055966: bookworm-pu: package openvpn-dco-dkms/0.0+git20230324-1+deb12u1 (or 0.0+git20231103-0+deb12u1?)
- To: 1055966@bugs.debian.org
- Cc: Jonathan Wiltshire <jmw@debian.org>
- Subject: Bug#1055966: bookworm-pu: package openvpn-dco-dkms/0.0+git20230324-1+deb12u1 (or 0.0+git20231103-0+deb12u1?)
- From: Bernhard Schmidt <berni@debian.org>
- Date: Sun, 7 Apr 2024 15:37:18 +0200
- Message-id: <[🔎] ZhKhjoBbuByEs7-N@fliwatuet.svr02.mucip.net>
- Reply-to: Bernhard Schmidt <berni@debian.org>, 1055966@bugs.debian.org
- In-reply-to: <370ce87e-5d8e-4c8b-a796-bf02718ca887@debian.org>
- References: <170000081476.134215.14089004762094821305.reportbug@BOTOX.krs8.birkenwald.de> <ZcJ3tNkCIDKQkqeC@powdarrmonkey.net> <c7850043-8def-46b5-8fd5-e239861d5046@debian.org> <ZceLzew8E8W8Lgwe@powdarrmonkey.net> <170000081476.134215.14089004762094821305.reportbug@BOTOX.krs8.birkenwald.de> <370ce87e-5d8e-4c8b-a796-bf02718ca887@debian.org> <170000081476.134215.14089004762094821305.reportbug@BOTOX.krs8.birkenwald.de>
> > > 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: