Package: release.debian.org
Severity: normal
Tags: trixie
X-Debbugs-Cc: [email protected], [email protected], 
[email protected]
Control: affects -1 + src:ethtool
User: [email protected]
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, [email protected])
+AC_INIT(ethtool, 6.14.2, [email protected])
 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 <[email protected]>  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 <[email protected]>
+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 <[email protected]>
+Signed-off-by: Michel Lind <[email protected]>
+---
+ 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 via email to