Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 Mar 2025 16:06:28 +0100 (CET)
From:      Ronald Klop <ronald-lists@klop.ws>
To:        Konstantin Belousov <kib@FreeBSD.org>
Cc:        dev-commits-src-all@FreeBSD.org, src-committers@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   Re: git: c18a16ebcf5b - main - kern_proc_kqueues_out(): maxlen  == -1 means there is no maxlen
Message-ID:  <1305725331.9507.1742828788168@localhost>
In-Reply-To: <202503240454.52O4s0Xi051381@gitrepo.freebsd.org>
References:  <202503240454.52O4s0Xi051381@gitrepo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
------=_Part_9506_724619219.1742828787966
Content-Type: text/plain; charset=us-ascii; format=flowed
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
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<html><head></head><body><br>
<p><strong>Van:</strong> Konstantin Belousov &lt;kib@FreeBSD.org&gt;<br>
<strong>Datum:</strong> maandag, 24 maart 2025 05:54<br>
<strong>Aan:</strong> src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org<br>
<strong>Onderwerp:</strong> git: c18a16ebcf5b - main - kern_proc_kqueues_out(): maxlen == -1 means there is no maxlen</p>

<blockquote style="padding-right: 0px; padding-left: 5px; margin-left: 5px; border-left: #000000 2px solid; margin-right: 0px">
<div class="MessageRFC822Viewer" id="P">
<div class="TextPlainViewer" id="P.P">The branch main has been updated by kib:<br>
<br>
URL: <a href="https://cgit.FreeBSD.org/src/commit/?id=c18a16ebcf5bf0bad19be10f58d9f42cbc079057">https://cgit.FreeBSD.org/src/commit/?id=c18a16ebcf5bf0bad19be10f58d9f42cbc079057</a><br>;
<br>
commit c18a16ebcf5bf0bad19be10f58d9f42cbc079057<br>
Author: &nbsp;&nbsp;&nbsp;&nbsp;Konstantin Belousov &lt;kib@FreeBSD.org&gt;<br>
AuthorDate: 2025-03-24 04:29:15 +0000<br>
Commit: &nbsp;&nbsp;&nbsp;&nbsp;Konstantin Belousov &lt;kib@FreeBSD.org&gt;<br>
CommitDate: 2025-03-24 04:48:08 +0000<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;kern_proc_kqueues_out(): maxlen == -1 means there is no maxlen<br>
&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;Sponsored by: &nbsp;&nbsp;The FreeBSD Foundation<br>
&nbsp;&nbsp;&nbsp;&nbsp;MFC after: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1 week<br>
---<br>
&nbsp;sys/kern/kern_event.c | 14 +++++++++++---<br>
&nbsp;1 file changed, 11 insertions(+), 3 deletions(-)<br>
<br>
diff --git a/sys/kern/kern_event.c b/sys/kern/kern_event.c<br>
index e891cb7c094a..eb77a5064113 100644<br>
--- a/sys/kern/kern_event.c<br>
+++ b/sys/kern/kern_event.c<br>
@@ -2974,13 +2974,21 @@ kern_proc_kqueues_out(struct proc *p, struct sbuf *sb, size_t maxlen,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bool compat32)<br>
&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;struct sbuf *s, sm;<br>
+ &nbsp;&nbsp;size_t sb_len;<br>
&nbsp;&nbsp;&nbsp;&nbsp;int error;<br>
&nbsp;<br>
- &nbsp;&nbsp;s = sbuf_new(&amp;sm, NULL, maxlen, SBUF_FIXEDLEN);<br>
+ &nbsp;&nbsp;if (maxlen == -1 || maxlen == 0)<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb_len = 128;<br>
+ &nbsp;&nbsp;else<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb_len = maxlen;<br>
+ &nbsp;&nbsp;s = sbuf_new(&amp;sm, NULL, sb_len, maxlen == -1 ? SBUF_AUTOEXTEND :<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SBUF_FIXEDLEN);<br>
&nbsp;&nbsp;&nbsp;&nbsp;error = kern_proc_kqueues_out1(curthread, p, s, compat32);<br>
&nbsp;&nbsp;&nbsp;&nbsp;sbuf_finish(s);<br>
- &nbsp;&nbsp;if (error == 0)<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sbuf_bcat(sb, sbuf_data(s), MIN(sbuf_len(s), maxlen));<br>
+ &nbsp;&nbsp;if (error == 0) {<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sbuf_bcat(sb, sbuf_data(s), MIN(sbuf_len(s), maxlen == -1 ?<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SIZE_T_MAX : maxlen));<br>
+ &nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;sbuf_delete(s);<br>
&nbsp;&nbsp;&nbsp;&nbsp;return (error);<br>
&nbsp;}<br>
&nbsp;</div>

<hr></div>
</blockquote>
<br>
<br>
As maxlen is of the unsigned type size_t, how can it be -1?<br>
Or am I mistaken on this?<br>
<br>
Regards,<br>
Ronald.<br>
&nbsp;</body></html>
------=_Part_9506_724619219.1742828787966--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1305725331.9507.1742828788168>