CVS commit: [pkgsrc-2026Q2] pkgsrc/devel/userspace-rcu

"Maya Rashish" <[email protected]> Sat, 1 Aug 2026 19:39:23 +0000
Newsgroups gmane.os.netbsd.devel.pkgsrc.cvs
Message-ID <[email protected]>
Module Name:	pkgsrc
Committed By:	maya
Date:		Sat Aug  1 19:39:23 UTC 2026

Modified Files:
	pkgsrc/devel/userspace-rcu [pkgsrc-2026Q2]: Makefile distinfo
Added Files:
	pkgsrc/devel/userspace-rcu/patches [pkgsrc-2026Q2]:
	    patch-src_urcu-call-rcu-impl.h

Log Message:
Pullup ticket #7199 - requested by taca
devel/usrespace-rcu: Bug fix

Revisions pulled up:
- devel/userspace-rcu/Makefile                                  1.20
- devel/userspace-rcu/distinfo                                  1.16
- devel/userspace-rcu/patches/patch-src_urcu-call-rcu-impl.h    1.1

---
   Module Name:	pkgsrc
   Committed By:	he
   Date:		Tue Jul 14 17:59:22 UTC 2026

   Modified Files:
   	pkgsrc/devel/userspace-rcu: Makefile distinfo
   Added Files:
   	pkgsrc/devel/userspace-rcu/patches: patch-src_urcu-call-rcu-impl.h

   Log Message:
   devel/userspace-rcu: close memory leak.

   This was found by others (ISC + FreeBSD developers) during resolution of
   https://gitlab.isc.org/isc-projects/bind9/-/work_items/5528

   Bump PKGREVISION.


To generate a diff of this commit:
cvs rdiff -u -r1.19 -r1.19.4.1 pkgsrc/devel/userspace-rcu/Makefile
cvs rdiff -u -r1.15 -r1.15.8.1 pkgsrc/devel/userspace-rcu/distinfo
cvs rdiff -u -r0 -r1.1.2.2 \
    pkgsrc/devel/userspace-rcu/patches/patch-src_urcu-call-rcu-impl.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
(unnamed) (text/x-diff, 3.7 KB)
Modified files:

Index: pkgsrc/devel/userspace-rcu/Makefile
diff -u pkgsrc/devel/userspace-rcu/Makefile:1.19 pkgsrc/devel/userspace-rcu/Makefile:1.19.4.1
--- pkgsrc/devel/userspace-rcu/Makefile:1.19	Mon Feb 16 08:20:13 2026
+++ pkgsrc/devel/userspace-rcu/Makefile	Sat Aug  1 19:39:23 2026
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.19 2026/02/16 08:20:13 wiz Exp $
+# $NetBSD: Makefile,v 1.19.4.1 2026/08/01 19:39:23 maya Exp $
 
 DISTNAME=	userspace-rcu-0.15.3
+PKGREVISION=	1
 CATEGORIES=	devel
 MASTER_SITES=	https://lttng.org/files/urcu/
 EXTRACT_SUFX=	.tar.bz2
@@ -21,12 +22,13 @@ TEST_TARGET=		check
 # only NetBSD-6 or later is supported.
 NOT_FOR_PLATFORM=	NetBSD-[0-5].*-*
 
-PKGCONFIG_OVERRIDE+=	liburcu-bp.pc.in
-PKGCONFIG_OVERRIDE+=	liburcu-cds.pc.in
-PKGCONFIG_OVERRIDE+=	liburcu-mb.pc.in
-PKGCONFIG_OVERRIDE+=	liburcu-qsbr.pc.in
-PKGCONFIG_OVERRIDE+=	liburcu-signal.pc.in
-PKGCONFIG_OVERRIDE+=	liburcu.pc.in
+
+PKGCONFIG_OVERRIDE+=	src/liburcu-bp.pc.in
+PKGCONFIG_OVERRIDE+=	src/liburcu-cds.pc.in
+PKGCONFIG_OVERRIDE+=	src/liburcu-mb.pc.in
+PKGCONFIG_OVERRIDE+=	src/liburcu-qsbr.pc.in
+PKGCONFIG_OVERRIDE+=	src/liburcu-signal.pc.in
+PKGCONFIG_OVERRIDE+=	src/liburcu.pc.in
 
 .include "../../mk/pthread.buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"

Index: pkgsrc/devel/userspace-rcu/distinfo
diff -u pkgsrc/devel/userspace-rcu/distinfo:1.15 pkgsrc/devel/userspace-rcu/distinfo:1.15.8.1
--- pkgsrc/devel/userspace-rcu/distinfo:1.15	Sat Sep  6 09:28:59 2025
+++ pkgsrc/devel/userspace-rcu/distinfo	Sat Aug  1 19:39:23 2026
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.15 2025/09/06 09:28:59 he Exp $
+$NetBSD: distinfo,v 1.15.8.1 2026/08/01 19:39:23 maya Exp $
 
 BLAKE2s (userspace-rcu-0.15.3.tar.bz2) = 23ae4c2be1d2ab6861dd8758ad0bee781b7c9cc836f1a9d3bb963e5b039c7344
 SHA512 (userspace-rcu-0.15.3.tar.bz2) = 9461f5f1ebfcfdb28bc9548738a030d0a29e754ae5340581d057c405c0fa5c17560a251fa15a20cf14d35f1fcc9aceac80841b37a5f348698da52a71ee4d4fe5
@@ -6,3 +6,4 @@ Size (userspace-rcu-0.15.3.tar.bz2) = 68
 SHA1 (patch-doc_examples_Makefile.am) = 0603f4a51ae591ba053fecde50d7dd515da1c16b
 SHA1 (patch-doc_examples_Makefile.in) = 219ead73e038385e42aba7e671f5929969eb76e8
 SHA1 (patch-include_urcu_syscall-compat.h) = fe6a35c925ec67fcb8454d90eccfc86855c6fad2
+SHA1 (patch-src_urcu-call-rcu-impl.h) = 77551ad78e90651716e275a827fee86bd98e2d95

Added files:

Index: pkgsrc/devel/userspace-rcu/patches/patch-src_urcu-call-rcu-impl.h
diff -u /dev/null pkgsrc/devel/userspace-rcu/patches/patch-src_urcu-call-rcu-impl.h:1.1.2.2
--- /dev/null	Sat Aug  1 19:39:23 2026
+++ pkgsrc/devel/userspace-rcu/patches/patch-src_urcu-call-rcu-impl.h	Sat Aug  1 19:39:23 2026
@@ -0,0 +1,33 @@
+$NetBSD: patch-src_urcu-call-rcu-impl.h,v 1.1.2.2 2026/08/01 19:39:23 maya Exp $
+
+Close memory leak, found in
+https://gitlab.isc.org/isc-projects/bind9/-/work_items/5528#note_725072
+
+--- src/urcu-call-rcu-impl.h.orig	2026-07-14 17:15:38.774411659 +0000
++++ src/urcu-call-rcu-impl.h
+@@ -333,7 +333,7 @@ static void *call_rcu_thread(void *arg)
+ 		cmm_smp_mb();
+ 	}
+ 	for (;;) {
+-		struct cds_wfcq_head cbs_tmp_head;
++		struct __cds_wfcq_head cbs_tmp_head;
+ 		struct cds_wfcq_tail cbs_tmp_tail;
+ 		struct cds_wfcq_node *cbs, *cbs_tmp_n;
+ 		enum cds_wfcq_ret splice_ret;
+@@ -358,7 +358,7 @@ static void *call_rcu_thread(void *arg)
+ 			rcu_register_thread();
+ 		}
+ 
+-		cds_wfcq_init(&cbs_tmp_head, &cbs_tmp_tail);
++		__cds_wfcq_init(&cbs_tmp_head, &cbs_tmp_tail);
+ 		splice_ret = __cds_wfcq_splice_blocking(&cbs_tmp_head,
+ 			&cbs_tmp_tail, &crdp->cbs_head, &crdp->cbs_tail);
+ 		urcu_posix_assert(splice_ret != CDS_WFCQ_RET_WOULDBLOCK);
+@@ -796,6 +796,7 @@ void _call_rcu_data_free(struct call_rcu
+ 		if (ret)
+ 			urcu_die(ret);
+ 	}
++	cds_wfcq_destroy(&crdp->cbs_head, &crdp->cbs_tail);
+ 	free(crdp);
+ }
+