pkgsrc-Changes archive

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

CVS commit: pkgsrc/devel/userspace-rcu



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.20 pkgsrc/devel/userspace-rcu/Makefile
cvs rdiff -u -r1.15 -r1.16 pkgsrc/devel/userspace-rcu/distinfo
cvs rdiff -u -r0 -r1.1 \
    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.

Modified files:

Index: pkgsrc/devel/userspace-rcu/Makefile
diff -u pkgsrc/devel/userspace-rcu/Makefile:1.19 pkgsrc/devel/userspace-rcu/Makefile:1.20
--- pkgsrc/devel/userspace-rcu/Makefile:1.19    Mon Feb 16 08:20:13 2026
+++ pkgsrc/devel/userspace-rcu/Makefile Tue Jul 14 17:59:22 2026
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.19 2026/02/16 08:20:13 wiz Exp $
+# $NetBSD: Makefile,v 1.20 2026/07/14 17:59:22 he 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,5 @@ 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
-
 .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.16
--- pkgsrc/devel/userspace-rcu/distinfo:1.15    Sat Sep  6 09:28:59 2025
+++ pkgsrc/devel/userspace-rcu/distinfo Tue Jul 14 17:59:22 2026
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.15 2025/09/06 09:28:59 he Exp $
+$NetBSD: distinfo,v 1.16 2026/07/14 17:59:22 he 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
--- /dev/null   Tue Jul 14 17:59:22 2026
+++ pkgsrc/devel/userspace-rcu/patches/patch-src_urcu-call-rcu-impl.h   Tue Jul 14 17:59:22 2026
@@ -0,0 +1,33 @@
+$NetBSD: patch-src_urcu-call-rcu-impl.h,v 1.1 2026/07/14 17:59:22 he 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);
+ }
+ 



Home | Main Index | Thread Index | Old Index