Bug#1111960: trixie-pu: package ethtool/1:6.14.2-1
Package: release.debian.org
Severity: normal
Tags: trixie
X-Debbugs-Cc: ethtool@packages.debian.org, debian-kernel@lists.debian.org, carnil@debian.org
Control: affects -1 + src:ethtool
User: release.debian.org@packages.debian.org
Usertags: pu
Hi,
[ Reason ]
ethtoool in trixie has minor displaying issue where there are missing
headers in text output.
For instance the headers are missing in --show-eee, unpatched we get
for a specific tested interface:
[...]
EEE settings for enp0s31f6:
enabled - inactive
17 (us)
Supported EEE link modes: 100baseT/Full
1000baseT/Full
Advertised EEE link modes: 100baseT/Full
1000baseT/Full
[...]
and with the patched version
[...]
EEE settings for enp0s31f6:
EEE status: enabled - inactive
Tx LPI: 17 (us)
Supported EEE link modes: 100baseT/Full
1000baseT/Full
Advertised EEE link modes: 100baseT/Full
1000baseT/Full
[...]
upstream has released stable bugfix releases for the 6.14.y series
which we have in trixie, so would like to follow that. On top it
contains a fix to address FTBFS if compiled with
-Werror=format-security. Upstream had planned to release 6.14.3 as
well on top with that, but has not done so yet, so cherry picking that
commit.
[ Impact ]
Displaying with missing headers on certain text output.
[ Tests ]
Manual tests with the package only.
[ Risks ]
Minor, very targeted fix for the issue.
[ Checklist ]
[x] *all* changes are documented in the d/changelog
[x] I reviewed all changes and I approve them
[x] attach debdiff against the package in (old)stable
[x] the issue is verified as fixed in unstable (fixed in 1:6.15-3).
[ Changes ]
- Changes to properly print out the headers
- salsa-ci.yml set the release to trixie for the CI runs.
[ Other info ]
Nothing I'm aware of.
Regards,
Salvatore
diff -Nru ethtool-6.14.1/NEWS ethtool-6.14.2/NEWS
--- ethtool-6.14.1/NEWS 2025-06-23 21:24:14.000000000 +0200
+++ ethtool-6.14.2/NEWS 2025-07-22 00:29:53.000000000 +0200
@@ -1,3 +1,6 @@
+Version 6.14.2 - July 22, 2025
+ * Fix: missing header in text output
+
Version 6.14.1 - June 23, 2025
* Fix: incorrect data in appstream metainfo XML
* Fix: prevent potential null pointer dereferences
diff -Nru ethtool-6.14.1/configure.ac ethtool-6.14.2/configure.ac
--- ethtool-6.14.1/configure.ac 2025-06-23 21:24:14.000000000 +0200
+++ ethtool-6.14.2/configure.ac 2025-07-22 00:29:53.000000000 +0200
@@ -1,5 +1,5 @@
dnl Process this file with autoconf to produce a configure script.
-AC_INIT(ethtool, 6.14.1, netdev@vger.kernel.org)
+AC_INIT(ethtool, 6.14.2, netdev@vger.kernel.org)
AC_PREREQ(2.52)
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SRCDIR([ethtool.c])
diff -Nru ethtool-6.14.1/debian/changelog ethtool-6.14.2/debian/changelog
--- ethtool-6.14.1/debian/changelog 2025-06-26 20:30:58.000000000 +0200
+++ ethtool-6.14.2/debian/changelog 2025-08-23 21:10:25.000000000 +0200
@@ -1,3 +1,13 @@
+ethtool (1:6.14.2-1) trixie; urgency=medium
+
+ * New upstream release: 6.14.2
+
+ [ Salvatore Bonaccorso ]
+ * debian/salsa-ci.yml: Set release to trixie
+ * netlink: fix print_string when the value is NULL
+
+ -- Salvatore Bonaccorso <carnil@debian.org> Sat, 23 Aug 2025 21:10:25 +0200
+
ethtool (1:6.14.1-1) unstable; urgency=medium
* New upstream release: 6.14.1
diff -Nru ethtool-6.14.1/debian/patches/netlink-fix-print_string-when-the-value-is-NULL.patch ethtool-6.14.2/debian/patches/netlink-fix-print_string-when-the-value-is-NULL.patch
--- ethtool-6.14.1/debian/patches/netlink-fix-print_string-when-the-value-is-NULL.patch 1970-01-01 01:00:00.000000000 +0100
+++ ethtool-6.14.2/debian/patches/netlink-fix-print_string-when-the-value-is-NULL.patch 2025-08-23 21:10:25.000000000 +0200
@@ -0,0 +1,45 @@
+From: Michel Lind <michel@michel-slm.name>
+Date: Thu, 24 Jul 2025 19:48:11 -0500
+Subject: netlink: fix print_string when the value is NULL
+Origin: https://git.kernel.org/pub/scm/network/ethtool/ethtool.git/commit?id=41d6105250c8293eddeb5f9332434728e7da4335
+
+The previous fix in commit b70c92866102 ("netlink: fix missing headers
+in text output") handles the case when value is NULL by still using
+`fprintf` but passing no value.
+
+This fails if `-Werror=format-security` is passed to gcc, as is the
+default in distros like Fedora.
+
+```
+json_print.c: In function 'print_string':
+json_print.c:147:25: error: format not a string literal and no format arguments [-Werror=format-security]
+ 147 | fprintf(stdout, fmt);
+ |
+```
+
+Use `fprintf(stdout, "%s", fmt)` instead, using the format string as the
+value, since in this case we know it is just a string without format
+chracters.
+
+Reviewed-by: Jakub Kicinski <kuba@kernel.org>
+Signed-off-by: Michel Lind <michel@michel-slm.name>
+---
+ json_print.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/json_print.c b/json_print.c
+index e07c651f477b..75e6cd97048c 100644
+--- a/json_print.c
++++ b/json_print.c
+@@ -144,7 +144,7 @@ void print_string(enum output_type type,
+ if (value)
+ fprintf(stdout, fmt, value);
+ else
+- fprintf(stdout, fmt);
++ fprintf(stdout, "%s", fmt);
+ }
+ }
+
+--
+2.50.1
+
diff -Nru ethtool-6.14.1/debian/patches/series ethtool-6.14.2/debian/patches/series
--- ethtool-6.14.1/debian/patches/series 1970-01-01 01:00:00.000000000 +0100
+++ ethtool-6.14.2/debian/patches/series 2025-08-23 21:10:25.000000000 +0200
@@ -0,0 +1 @@
+netlink-fix-print_string-when-the-value-is-NULL.patch
diff -Nru ethtool-6.14.1/debian/salsa-ci.yml ethtool-6.14.2/debian/salsa-ci.yml
--- ethtool-6.14.1/debian/salsa-ci.yml 2025-06-26 20:30:58.000000000 +0200
+++ ethtool-6.14.2/debian/salsa-ci.yml 2025-08-23 21:10:25.000000000 +0200
@@ -3,7 +3,7 @@
- https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml
variables:
- RELEASE: 'unstable'
+ RELEASE: 'trixie'
# We don't build any arch:all packages
SALSA_CI_DISABLE_BUILD_PACKAGE_ALL: 'true'
# Currently triggering falsely (bugs #973313, #1000977)
diff -Nru ethtool-6.14.1/ethtool.8.in ethtool-6.14.2/ethtool.8.in
--- ethtool-6.14.1/ethtool.8.in 2025-06-23 21:24:14.000000000 +0200
+++ ethtool-6.14.2/ethtool.8.in 2025-07-22 00:29:53.000000000 +0200
@@ -117,7 +117,7 @@
. hy \\n(HY
..
.
-.TH ETHTOOL 8 "June 2025" "Ethtool version @VERSION@"
+.TH ETHTOOL 8 "July 2025" "Ethtool version @VERSION@"
.SH NAME
ethtool \- query or control network driver and hardware settings
.
diff -Nru ethtool-6.14.1/json_print.c ethtool-6.14.2/json_print.c
--- ethtool-6.14.1/json_print.c 2025-06-23 21:24:14.000000000 +0200
+++ ethtool-6.14.2/json_print.c 2025-07-22 00:29:53.000000000 +0200
@@ -143,10 +143,11 @@
} else if (_IS_FP_CONTEXT(type)) {
if (value)
fprintf(stdout, fmt, value);
+ else
+ fprintf(stdout, fmt);
}
}
-
/*
* value's type is bool. When using this function in FP context you can't pass
* a value to it, you will need to use "is_json_context()" to have different
Reply to: