[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: