Hello,

Le jeu. 11 déc. 2025 à 15:46, amaury.couderc via
lists.openembedded.org
<[email protected]> a écrit :
>
> From: Amaury Couderc <[email protected]>
>
> procps: fixed large pid issue with top
>
> top -b -n1 -H -p 92233720368547758071
> signal 11 (SEGV) was caught by top, please
>
> Signed-off-by: Amaury Couderc <[email protected]>

It looks like this patch is also applicable&needed on master (the
fixing patch has not been in a procps release yet).
Can you send it there, then, ask for a backport on scarthgap when it
gets merged?

Thanks!

> ---
>  .../procps/procps/top_large_pid_fix.patch     | 52 +++++++++++++++++++
>  meta/recipes-extended/procps/procps_4.0.4.bb  |  1 +
>  2 files changed, 53 insertions(+)
>  create mode 100644 
> meta/recipes-extended/procps/procps/top_large_pid_fix.patch
>
> diff --git a/meta/recipes-extended/procps/procps/top_large_pid_fix.patch 
> b/meta/recipes-extended/procps/procps/top_large_pid_fix.patch
> new file mode 100644
> index 0000000000..d7e3141e06
> --- /dev/null
> +++ b/meta/recipes-extended/procps/procps/top_large_pid_fix.patch
> @@ -0,0 +1,52 @@
> +From f21fc624d960d12afa399af7333d4f9193fb2ffb Mon Sep 17 00:00:00 2001
> +From: Jim Warner <[email protected]>
> +Date: Tue, 16 Sep 2025 12:00:00 -0500
> +Subject: [PATCH] library: avoid possible segmentation fault, <pids> api
> +Upstream-Status: Backport
> +[https://gitlab.com/procps-ng/procps/-/commit/5461b50b1a85c5e556c4cd2739ca8ffdbc69399a]
> +
> +In the issue referenced below, that SEGV was caused by
> +passing a '-1' pid to the procps_pids_select function.
> +That value, in turn, is caused by providing a LONG_MAX
> +or greater number for what was assigned to an integer.
> +
> +So, this commit will help ensure we avoid a match when
> +we should fail plus skip some unproductive libc calls.
> +
> +[ the same problem occurs in that old 3.3.17 library ]
> +
> +Reference(s):
> +https://gitlab.com/procps-ng/procps/-/issues/394
> +
> +Signed-off-by: Jim Warner <[email protected]>
> +Signed-off-by: Amaury Couderc <[email protected]>
> +
> +---
> + library/readproc.c | 4 ++--
> + 1 file changed, 2 insertions(+), 2 deletions(-)
> +
> +diff --git a/library/readproc.c b/library/readproc.c
> +index 2dfe4c9e..d0e039bf 100644
> +--- a/library/readproc.c
> ++++ b/library/readproc.c
> +@@ -1434,7 +1434,7 @@ static int listed_nextpid (PROCTAB *PT, proc_t *p) {
> +   pid_t pid = *(PT->pids)++;
> +   char *path = PT->path;
> +
> +-  if (pid) {
> ++  if (pid > 0) {
> +     snprintf(path, PROCPATHLEN, "/proc/%d", pid);
> +     p->tid = p->tgid = pid;        // this tgid may be a huge fib |
> +
> +@@ -1546,7 +1546,7 @@ PROCTAB *openproc(unsigned flags, ...) {
> +         did_stat = 1;
> +     }
> +     PT->taskdir = NULL;
> +-    PT->taskdir_user = -1;
> ++    PT->taskdir_user = -2;
> +     PT->taskfinder = simple_nexttid;
> +     PT->taskreader = simple_readtask;
> +
> +--
> +2.43.0
> +
> diff --git a/meta/recipes-extended/procps/procps_4.0.4.bb 
> b/meta/recipes-extended/procps/procps_4.0.4.bb
> index ec8c4b0261..3c15f28a5b 100644
> --- a/meta/recipes-extended/procps/procps_4.0.4.bb
> +++ b/meta/recipes-extended/procps/procps_4.0.4.bb
> @@ -15,6 +15,7 @@ inherit autotools gettext pkgconfig update-alternatives
>  SRC_URI = 
> "git://gitlab.com/procps-ng/procps.git;protocol=https;branch=master \
>             file://sysctl.conf \
>             file://pidfd.patch \
> +           file://top_large_pid_fix.patch \
>             "
>  SRCREV = "4ddcef2fd843170c8e2d59a83042978f41037a2b"
>
> --
> 2.50.1
>
>
> 
>

-- 
Yoann Congal
Smile ECS
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#227546): 
https://lists.openembedded.org/g/openembedded-core/message/227546
Mute This Topic: https://lists.openembedded.org/mt/116729698/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to