From nobody Mon Mar 24 15:06:28 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZLxGH0XRJz5s2BP; Mon, 24 Mar 2025 15:06:31 +0000 (UTC) (envelope-from SRS0=qcs0=WL=klop.ws=ronald-lists@realworks.nl) Received: from smtp-relay-int.realworks.nl (smtp-relay-int.realworks.nl [194.109.157.24]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZLxGG4BLYz3Yfm; Mon, 24 Mar 2025 15:06:30 +0000 (UTC) (envelope-from SRS0=qcs0=WL=klop.ws=ronald-lists@realworks.nl) Authentication-Results: mx1.freebsd.org; none Date: Mon, 24 Mar 2025 16:06:28 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=klop.ws; s=rw2; t=1742828788; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=L/8y4OpZBabNdHUlLaigtbAZ0qvJya1pqM2XNPLqKk8=; b=UhcYME0mXQlyuw/3608L7T+C+QFqv9c410DLKRrsEmQ5wq1B1ZztI+KqpHL2l3TMnQnti6 Ef0ChzEnJDq3bl9otu15qzeCC8lO2F8PdpC/fYDRvOdFUWc8WG7Bs0lRZwjZ4bdi2rKX/a OUppht5zCNDGygVcN/NzR9i1vjrF3+vOpIzg2LYT5WCW9+C8ZAE44jsI15NM1Il4YOKOwt jfR1JjHyXrm6O4OWa5d9HxwGGSd7NENZQQ1dIf40DNucsmSwp3O9UJM34ZI9TwOcviItYO Q7G1M1icqNLjwiMViDMtGg5sK9+tpx4YA0fBrHtnpjnCsjaZhfnFTvAPrVx6VQ== From: Ronald Klop To: Konstantin Belousov Cc: dev-commits-src-all@FreeBSD.org, src-committers@FreeBSD.org, dev-commits-src-main@FreeBSD.org Message-ID: <1305725331.9507.1742828788168@localhost> In-Reply-To: <202503240454.52O4s0Xi051381@gitrepo.freebsd.org> References: <202503240454.52O4s0Xi051381@gitrepo.freebsd.org> Subject: Re: git: c18a16ebcf5b - main - kern_proc_kqueues_out(): maxlen == -1 means there is no maxlen List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_9506_724619219.1742828787966" X-Mailer: Realworks (743.26) Importance: Normal X-Priority: 3 (Normal) X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:3265, ipnet:194.109.0.0/16, country:NL] X-Rspamd-Queue-Id: 4ZLxGG4BLYz3Yfm X-Spamd-Bar: ---- ------=_Part_9506_724619219.1742828787966 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Van: Konstantin Belousov Datum: maandag, 24 maart 2025 05:54 Aan: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Onderwerp: git: c18a16ebcf5b - main - kern_proc_kqueues_out(): maxlen == -1 means there is no maxlen > > The branch main has been updated by kib: > > URL: https://cgit.FreeBSD.org/src/commit/?id=c18a16ebcf5bf0bad19be10f58d9f42cbc079057 > > commit c18a16ebcf5bf0bad19be10f58d9f42cbc079057 > Author: Konstantin Belousov > AuthorDate: 2025-03-24 04:29:15 +0000 > Commit: Konstantin Belousov > CommitDate: 2025-03-24 04:48:08 +0000 > > kern_proc_kqueues_out(): maxlen == -1 means there is no maxlen > > Sponsored by: The FreeBSD Foundation > MFC after: 1 week > --- > sys/kern/kern_event.c | 14 +++++++++++--- > 1 file changed, 11 insertions(+), 3 deletions(-) > > diff --git a/sys/kern/kern_event.c b/sys/kern/kern_event.c > index e891cb7c094a..eb77a5064113 100644 > --- a/sys/kern/kern_event.c > +++ b/sys/kern/kern_event.c > @@ -2974,13 +2974,21 @@ kern_proc_kqueues_out(struct proc *p, struct sbuf *sb, size_t maxlen, > bool compat32) > { > struct sbuf *s, sm; > + size_t sb_len; > int error; > > - s = sbuf_new(&sm, NULL, maxlen, SBUF_FIXEDLEN); > + if (maxlen == -1 || maxlen == 0) > + sb_len = 128; > + else > + sb_len = maxlen; > + s = sbuf_new(&sm, NULL, sb_len, maxlen == -1 ? SBUF_AUTOEXTEND : > + SBUF_FIXEDLEN); > error = kern_proc_kqueues_out1(curthread, p, s, compat32); > sbuf_finish(s); > - if (error == 0) > - sbuf_bcat(sb, sbuf_data(s), MIN(sbuf_len(s), maxlen)); > + if (error == 0) { > + sbuf_bcat(sb, sbuf_data(s), MIN(sbuf_len(s), maxlen == -1 ? > + SIZE_T_MAX : maxlen)); > + } > sbuf_delete(s); > return (error); > } > > > > As maxlen is of the unsigned type size_t, how can it be -1? Or am I mistaken on this? Regards, Ronald. ------=_Part_9506_724619219.1742828787966 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit

Van: Konstantin Belousov <kib@FreeBSD.org>
Datum: maandag, 24 maart 2025 05:54
Aan: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Onderwerp: git: c18a16ebcf5b - main - kern_proc_kqueues_out(): maxlen == -1 means there is no maxlen

The branch main has been updated by kib:

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

commit c18a16ebcf5bf0bad19be10f58d9f42cbc079057
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2025-03-24 04:29:15 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2025-03-24 04:48:08 +0000

    kern_proc_kqueues_out(): maxlen == -1 means there is no maxlen
    
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
---
 sys/kern/kern_event.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/sys/kern/kern_event.c b/sys/kern/kern_event.c
index e891cb7c094a..eb77a5064113 100644
--- a/sys/kern/kern_event.c
+++ b/sys/kern/kern_event.c
@@ -2974,13 +2974,21 @@ kern_proc_kqueues_out(struct proc *p, struct sbuf *sb, size_t maxlen,
     bool compat32)
 {
    struct sbuf *s, sm;
+   size_t sb_len;
    int error;
 
-   s = sbuf_new(&sm, NULL, maxlen, SBUF_FIXEDLEN);
+   if (maxlen == -1 || maxlen == 0)
+       sb_len = 128;
+   else
+       sb_len = maxlen;
+   s = sbuf_new(&sm, NULL, sb_len, maxlen == -1 ? SBUF_AUTOEXTEND :
+       SBUF_FIXEDLEN);
    error = kern_proc_kqueues_out1(curthread, p, s, compat32);
    sbuf_finish(s);
-   if (error == 0)
-       sbuf_bcat(sb, sbuf_data(s), MIN(sbuf_len(s), maxlen));
+   if (error == 0) {
+       sbuf_bcat(sb, sbuf_data(s), MIN(sbuf_len(s), maxlen == -1 ?
+           SIZE_T_MAX : maxlen));
+   }
    sbuf_delete(s);
    return (error);
 }
 



As maxlen is of the unsigned type size_t, how can it be -1?
Or am I mistaken on this?

Regards,
Ronald.
  ------=_Part_9506_724619219.1742828787966--