The branch main has been updated by glebius:

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

commit ea03febed52855247691ded13be97125fbf984f3
Author:     Gleb Smirnoff <gleb...@freebsd.org>
AuthorDate: 2025-02-05 18:09:06 +0000
Commit:     Gleb Smirnoff <gleb...@freebsd.org>
CommitDate: 2025-02-05 18:09:06 +0000

    netlink: fix a panic with verbose debugging printfs
    
    While here improve general debugging of this function.
    
    Fixes:  660bd40a598a498ad850911772fcff3f2511875a
---
 sys/netlink/netlink_domain.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/sys/netlink/netlink_domain.c b/sys/netlink/netlink_domain.c
index 7fabb222665e..a7ceae687d86 100644
--- a/sys/netlink/netlink_domain.c
+++ b/sys/netlink/netlink_domain.c
@@ -557,8 +557,6 @@ nl_sosend(struct socket *so, struct sockaddr *addr, struct 
uio *uio,
 
        MPASS(m == NULL && uio != NULL);
 
-        NL_LOG(LOG_DEBUG2, "sending message to kernel");
-
        if (__predict_false(control != NULL)) {
                m_freem(control);
                return (EINVAL);
@@ -570,8 +568,6 @@ nl_sosend(struct socket *so, struct sockaddr *addr, struct 
uio *uio,
        if (__predict_false(uio->uio_resid < sizeof(struct nlmsghdr)))
                return (ENOBUFS);               /* XXXGL: any better error? */
 
-       NL_LOG(LOG_DEBUG3, "sending message to kernel async processing");
-
        error = SOCK_IO_SEND_LOCK(so, SBLOCKWAIT(flags));
        if (error)
                return (error);
@@ -585,6 +581,8 @@ nl_sosend(struct socket *so, struct sockaddr *addr, struct 
uio *uio,
        if (__predict_false(error))
                goto out;
 
+        NL_LOG(LOG_DEBUG2, "sending message to kernel %u bytes", nb->datalen);
+
        SOCK_SENDBUF_LOCK(so);
 restart:
        if (sb->sb_hiwat - sb->sb_ccc >= nb->datalen) {
@@ -607,7 +605,7 @@ restart:
        SOCK_SENDBUF_UNLOCK(so);
 
        if (nb == NULL) {
-               NL_LOG(LOG_DEBUG3, "enqueue %u bytes", nb->datalen);
+               NL_LOG(LOG_DEBUG3, "success");
                NLP_LOCK(nlp);
                nl_schedule_taskqueue(nlp);
                NLP_UNLOCK(nlp);
@@ -615,8 +613,10 @@ restart:
 
 out:
        SOCK_IO_SEND_UNLOCK(so);
-       if (nb != NULL)
+       if (nb != NULL) {
+               NL_LOG(LOG_DEBUG3, "failure, error %d", error);
                nl_buf_free(nb);
+       }
        return (error);
 }
 

Reply via email to