All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] util/coroutine: trim sysctl's max_map_count newline before parsing
@ 2026-10-06 23:20 Hector Cao
  2026-10-07  7:16 ` Daniel P. Berrangé
  0 siblings, 1 reply; 2+ messages in thread
From: Hector Cao @ 2026-10-06 23:20 UTC (permalink / raw)
  To: qemu-devel; +Cc: stefanha

Strip trailing whitespace from max_map_count before passing it to
qemu_strtoi(), allowing the strict full-string parse to succeed.
Otherwise, qemu_strtoi() fails to parse the string and returns -22,
making the global cache pool cap size set to UINT_MAX.

Fixes: 86a637e48104 ("coroutine: cap per-thread local pool size")
Signed-off-by: Hector Cao <hector.cao@canonical.com>
---
 util/qemu-coroutine.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/util/qemu-coroutine.c b/util/qemu-coroutine.c
index d17135f585a..5af61995437 100644
--- a/util/qemu-coroutine.c
+++ b/util/qemu-coroutine.c
@@ -374,8 +374,12 @@ static unsigned int get_global_pool_hard_max_size(void)
      * VMAs.
      */
     if (g_file_get_contents("/proc/sys/vm/max_map_count", &contents, NULL,
-                            NULL) &&
-        qemu_strtoi(contents, NULL, 10, &max_map_count) == 0) {
+                            NULL)) {
+        /* contents has trailing newline, remove it before conversion */
+        g_strchomp(contents);
+        if (qemu_strtoi(contents, NULL, 10, &max_map_count) != 0) {
+            return UINT_MAX;
+        }
         /*
          * This is an upper bound that avoids exceeding max_map_count. Leave a
          * fixed amount for non-coroutine users like library dependencies,
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] util/coroutine: trim sysctl's max_map_count newline before parsing
  2026-10-06 23:20 [PATCH] util/coroutine: trim sysctl's max_map_count newline before parsing Hector Cao
@ 2026-10-07  7:16 ` Daniel P. Berrangé
  0 siblings, 0 replies; 2+ messages in thread
From: Daniel P. Berrangé @ 2026-10-07  7:16 UTC (permalink / raw)
  To: Hector Cao; +Cc: qemu-devel, stefanha

On Wed, Oct 07, 2026 at 01:20:18AM +0200, Hector Cao wrote:
> Strip trailing whitespace from max_map_count before passing it to
> qemu_strtoi(), allowing the strict full-string parse to succeed.
> Otherwise, qemu_strtoi() fails to parse the string and returns -22,
> making the global cache pool cap size set to UINT_MAX.
> 
> Fixes: 86a637e48104 ("coroutine: cap per-thread local pool size")
> Signed-off-by: Hector Cao <hector.cao@canonical.com>
> ---
>  util/qemu-coroutine.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>

> diff --git a/util/qemu-coroutine.c b/util/qemu-coroutine.c
> index d17135f585a..5af61995437 100644
> --- a/util/qemu-coroutine.c
> +++ b/util/qemu-coroutine.c
> @@ -374,8 +374,12 @@ static unsigned int get_global_pool_hard_max_size(void)
>       * VMAs.
>       */
>      if (g_file_get_contents("/proc/sys/vm/max_map_count", &contents, NULL,
> -                            NULL) &&
> -        qemu_strtoi(contents, NULL, 10, &max_map_count) == 0) {
> +                            NULL)) {
> +        /* contents has trailing newline, remove it before conversion */
> +        g_strchomp(contents);
> +        if (qemu_strtoi(contents, NULL, 10, &max_map_count) != 0) {
> +            return UINT_MAX;
> +        }
>          /*
>           * This is an upper bound that avoids exceeding max_map_count. Leave a
>           * fixed amount for non-coroutine users like library dependencies,

With regards,
Daniel
-- 
|: https://berrange.com       ~~        https://hachyderm.io/@berrange :|
|: https://libvirt.org          ~~          https://entangle-photo.org :|
|: https://pixelfed.art/berrange   ~~    https://fstop138.berrange.com :|



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-10-07  9:20 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-06 23:20 [PATCH] util/coroutine: trim sysctl's max_map_count newline before parsing Hector Cao
2026-10-07  7:16 ` Daniel P. Berrangé

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.