The branch releng/15.0 has been updated by cperciva:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=40056e8abc4261651991320488d5e9a1068e6888

commit 40056e8abc4261651991320488d5e9a1068e6888
Author:     Bruno Silvestre <[email protected]>
AuthorDate: 2025-11-08 18:02:32 +0000
Commit:     Colin Percival <[email protected]>
CommitDate: 2025-11-10 18:49:11 +0000

    netlink: plug lock leak in genl_register_family()
    
    Approved by:    re (cperciva)
    PR:             290893
    (cherry picked from commit 335fc09ab8d25c3ced027d46f5a0f4103d5c8bee)
    (cherry picked from commit a3cd3a4fd68c8a2ea9264f168441a2ce7d51b4c8)
---
 sys/netlink/netlink_generic.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/sys/netlink/netlink_generic.c b/sys/netlink/netlink_generic.c
index 00f47e60f013..d20ec4c7545f 100644
--- a/sys/netlink/netlink_generic.c
+++ b/sys/netlink/netlink_generic.c
@@ -366,8 +366,10 @@ genl_register_family(const char *family_name, size_t 
hdrsize,
        GENL_LOCK();
        for (u_int i = 0; i < MAX_FAMILIES; i++)
                if (families[i].family_name != NULL &&
-                   strcmp(families[i].family_name, family_name) == 0)
+                   strcmp(families[i].family_name, family_name) == 0) {
+                       GENL_UNLOCK();
                        return (0);
+               }
 
        /* Microoptimization: index 0 is reserved for the control family. */
        gf = NULL;

Reply via email to