GNU bug report logs -
#73733
[PATCH] gnu: lsof: fix build in Linux 6.9
Previous Next
Reported by: Ekaitz Zarraga <ekaitz <at> elenq.tech>
Date: Thu, 10 Oct 2024 13:16:02 UTC
Severity: normal
Tags: patch
Done: Efraim Flashner <efraim <at> flashner.co.il>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 73733 in the body.
You can then email your comments to 73733 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
guix-patches <at> gnu.org
:
bug#73733
; Package
guix-patches
.
(Thu, 10 Oct 2024 13:16:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Ekaitz Zarraga <ekaitz <at> elenq.tech>
:
New bug report received and forwarded. Copy sent to
guix-patches <at> gnu.org
.
(Thu, 10 Oct 2024 13:16:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
This commit adds the patch that fixes:
<https://github.com/lsof-org/lsof/issues/317>
The issue was triggering the following error in the `test` phase that
resulted in a build failure in Linux 6.9 or higher:
FAIL: lib/dialects/linux/tests/case-20-pidfd-pid.bash
* gnu/packages/lsof.scm(patches): Add `lsof-compat-linux-6.9.patch`.
* gnu/packages/patches/lsof-compat-linux-6.9.patch: New file.
Change-Id: I98b895ecaf1b952bfd33ea7ae3af70b1c39a0a94
---
gnu/packages/lsof.scm | 4 +-
.../patches/lsof-compat-linux-6.9.patch | 58 +++++++++++++++++++
2 files changed, 61 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/lsof-compat-linux-6.9.patch
diff --git a/gnu/packages/lsof.scm b/gnu/packages/lsof.scm
index 7d849c80b5..d76ef585c3 100644
--- a/gnu/packages/lsof.scm
+++ b/gnu/packages/lsof.scm
@@ -46,7 +46,9 @@ (define-public lsof
(file-name (git-file-name name version))
(sha256
(base32
- "1v32407al4j0hhcph95lv4xvr9h012lii29iyq41iwj39zwfavax"))))
+ "1v32407al4j0hhcph95lv4xvr9h012lii29iyq41iwj39zwfavax"))
+ ;; FIXES: https://github.com/lsof-org/lsof/issues/317
+ (patches (search-patches "lsof-compat-linux-6.9.patch"))))
(build-system gnu-build-system)
(native-inputs (list automake
autoconf
diff --git a/gnu/packages/patches/lsof-compat-linux-6.9.patch b/gnu/packages/patches/lsof-compat-linux-6.9.patch
new file mode 100644
index 0000000000..419cae927a
--- /dev/null
+++ b/gnu/packages/patches/lsof-compat-linux-6.9.patch
@@ -0,0 +1,58 @@
+From c1678e3f6e4b4d984cb3078b7bf0c9e24bedb8ca Mon Sep 17 00:00:00 2001
+From: Jiajie Chen <c <at> jia.je>
+Date: Fri, 17 May 2024 15:22:35 +0800
+Subject: [PATCH] [linux] Maintain original output for pidfd in linux 6.9
+
+---
+ 00DIST | 3 +++
+ lib/dialects/linux/dproc.c | 13 +++++++++++++
+ 2 files changed, 16 insertions(+)
+
+diff --git a/00DIST b/00DIST
+index d5a0349..9a29611 100644
+--- a/00DIST
++++ b/00DIST
+@@ -5605,6 +5605,9 @@ Supplement Regenerated the 4.04 distribution to correct a non-
+
+ [linux] Do not embed kernel version in CFLAGS (#314)
+
++ [linux] Linux 6.9 changed the pidfs appearence in procfs. Try
++ to maintain original output in lsof (#317)
++
+
+ Vic Abell <abe <at> purdue.edu>
+ July 14, 2018
+diff --git a/lib/dialects/linux/dproc.c b/lib/dialects/linux/dproc.c
+index cb6bb64..3a7a120 100644
+--- a/lib/dialects/linux/dproc.c
++++ b/lib/dialects/linux/dproc.c
+@@ -1273,6 +1273,10 @@ static int process_id(struct lsof_context *ctx, /* context */
+ #endif /* defined(HASEPTOPTS) */
+ if (rest && rest[0] == '[' && rest[1] == 'p')
+ fdinfo_mask |= FDINFO_PID;
++ else if (Lf->ntype == N_REGLR && rest && *rest && strcmp(pbuf, "pidfd") == 0) {
++ // https://github.com/lsof-org/lsof/issues/317
++ fdinfo_mask |= FDINFO_PID;
++ }
+
+ if ((av = get_fdinfo(ctx, pathi, fdinfo_mask, &fi)) &
+ FDINFO_POS) {
+@@ -1338,6 +1342,15 @@ static int process_id(struct lsof_context *ctx, /* context */
+ Lf->sf |= SELPTYINFO;
+ }
+ #endif /* defined(HASEPTOPTS) && defined(HASPTYEPT) */
++ else if (Lf->ntype == N_REGLR && rest && *rest && Lf->nm &&
++ strcmp(Lf->nm, "pidfd") == 0) {
++ // https://github.com/lsof-org/lsof/issues/317
++ // pidfd since Linux 6.9 becomes a regular file:
++ // /proc/PID/fd/FD -> pidfd:[INODE]
++ (void)snpf(rest, sizeof(pbuf) - (rest - pbuf),
++ "[pidfd:%d]", fi.pid);
++ enter_nm(ctx, rest);
++ }
+
+ if (Lf->sf)
+ link_lfile(ctx);
+--
+2.45.2
+
base-commit: f5aff5b3972b9a3342b1ce807f7ed68289cce74d
--
2.46.0
Reply sent
to
Efraim Flashner <efraim <at> flashner.co.il>
:
You have taken responsibility.
(Thu, 10 Oct 2024 14:53:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Ekaitz Zarraga <ekaitz <at> elenq.tech>
:
bug acknowledged by developer.
(Thu, 10 Oct 2024 14:53:02 GMT)
Full text and
rfc822 format available.
Message #10 received at 73733-done <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Thanks for the patch. I added a line to gnu/local.mk.
--
Efraim Flashner <efraim <at> flashner.co.il> רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Fri, 08 Nov 2024 12:24:08 GMT)
Full text and
rfc822 format available.
This bug report was last modified 276 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.