head 1.1; access; symbols pkgsrc-2026Q2:1.1.0.2; locks; strict; comment @ * @; 1.1 date 2026.07.14.17.59.22; author he; state Exp; branches 1.1.2.1; next ; commitid FJIHThGbco8AcENG; 1.1.2.1 date 2026.07.14.17.59.22; author maya; state dead; branches; next 1.1.2.2; commitid Mk2le7cpEEQkfYPG; 1.1.2.2 date 2026.08.01.19.39.23; author maya; state Exp; branches; next ; commitid Mk2le7cpEEQkfYPG; desc @@ 1.1 log @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. @ text @$NetBSD$ 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); } @ 1.1.2.1 log @file patch-src_urcu-call-rcu-impl.h was added on branch pkgsrc-2026Q2 on 2026-08-01 19:39:23 +0000 @ text @d1 33 @ 1.1.2.2 log @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. @ text @a0 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); } @