Package: release.debian.org
Severity: normal
X-Debbugs-Cc: [email protected], [email protected], 
[email protected]
Control: affects -1 + src:ethtool
User: [email protected]
Usertags: unblock

Hi Release team

I would like to request an approval for an unblock for
ethtool/1:6.14.1-1 uploaded to unstable.

Please unblock package ethtool

[ Reason ]
There is a new upstream bugfix release containing:

Version 6.14.1 - June 23, 2025
       * Fix: incorrect data in appstream metainfo XML
       * Fix: prevent potential null pointer dereferences
       * Fix: more consistent and better parseable per lane signal info (-d)

The first change is what we cherry-picked already in 1.6.14-2, so the
debdiff will contain the dropping of our cherry-picked patch.

[ Impact ]
The impact of the inocrrect data in appstream metainfo XML is not
anymore relevant as we have the change already. But ethtool remains
potential affected by the NULL pointer dereferences and the missing
bugfix to have more consistent and better parseable per lane signal
info.

[ Tests ]
Just basic functional test.

[ Risks ]
All upstream cherry-picked changes for their v6.14.1 release on top of
v6.14. 

[ 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 testing

unblock ethtool/1:6.14.1-1

Regards,
Salvatore
diff -Nru ethtool-6.14/NEWS ethtool-6.14.1/NEWS
--- ethtool-6.14/NEWS   2025-04-07 22:26:40.000000000 +0200
+++ ethtool-6.14.1/NEWS 2025-06-23 21:24:14.000000000 +0200
@@ -1,3 +1,8 @@
+Version 6.14.1 - June 23, 2025
+       * Fix: incorrect data in appstream metainfo XML
+       * Fix: prevent potential null pointer dereferences
+       * Fix: more consistent and better parseable per lane signal info (-d)
+
 Version 6.14 - April 7, 2025
        * Feature: list PHYs (--show-phys)
        * Feature: target a specific PHY with some commands (--phy)
diff -Nru ethtool-6.14/common.c ethtool-6.14.1/common.c
--- ethtool-6.14/common.c       2025-04-07 22:26:40.000000000 +0200
+++ ethtool-6.14.1/common.c     2025-06-23 21:24:14.000000000 +0200
@@ -233,8 +233,10 @@
        u32 i;
 
        printf("RSS hash key:\n");
-       if (!hkey_size || !hkey)
+       if (!hkey_size || !hkey) {
                printf("Operation not supported\n");
+               return;
+       }
 
        for (i = 0; i < hkey_size; i++) {
                if (i == (hkey_size - 1))
diff -Nru ethtool-6.14/configure.ac ethtool-6.14.1/configure.ac
--- ethtool-6.14/configure.ac   2025-04-07 22:26:40.000000000 +0200
+++ ethtool-6.14.1/configure.ac 2025-06-23 21:24:14.000000000 +0200
@@ -1,5 +1,5 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_INIT(ethtool, 6.14, [email protected])
+AC_INIT(ethtool, 6.14.1, [email protected])
 AC_PREREQ(2.52)
 AC_CONFIG_MACRO_DIR([m4])
 AC_CONFIG_SRCDIR([ethtool.c])
diff -Nru ethtool-6.14/debian/changelog ethtool-6.14.1/debian/changelog
--- ethtool-6.14/debian/changelog       2025-04-30 06:38:17.000000000 +0200
+++ ethtool-6.14.1/debian/changelog     2025-06-26 11:16:23.000000000 +0200
@@ -1,3 +1,9 @@
+ethtool (1:6.14.1-1) unstable; urgency=medium
+
+  * New upstream release: 6.14.1
+
+ -- Salvatore Bonaccorso <[email protected]>  Thu, 26 Jun 2025 11:16:23 +0200
+
 ethtool (1:6.14-2) unstable; urgency=medium
 
   * Set type property to console-application for provided AppStream metainfo
diff -Nru 
ethtool-6.14/debian/patches/Set-type-property-to-console-application-for-provide.patch
 
ethtool-6.14.1/debian/patches/Set-type-property-to-console-application-for-provide.patch
--- 
ethtool-6.14/debian/patches/Set-type-property-to-console-application-for-provide.patch
      2025-04-30 06:38:17.000000000 +0200
+++ 
ethtool-6.14.1/debian/patches/Set-type-property-to-console-application-for-provide.patch
    1970-01-01 01:00:00.000000000 +0100
@@ -1,51 +0,0 @@
-From: Salvatore Bonaccorso <[email protected]>
-Date: Fri, 11 Apr 2025 15:58:55 +0200
-Subject: Set type property to console-application for provided AppStream
- metainfo XML
-Origin: 
https://git.kernel.org/cgit/network/ethtool/ethtool.git/commit?id=cf3a1369647e68d919c9a51f0f252c499962d6a0
-Bug-Debian: https://bugs.debian.org/1102647
-
-As pointed out in the Debian downstream report, as ethtool is a
-command-line tool the XML root myst have the type property set to
-console-application.
-
-Additionally with the type propety set to desktop, ethtool is user
-uninstallable via GUI (such as GNOME Software or KDE Discover).
-
-console-application AppStream metainfo XML at least one binary provided
-must be listed in the <binary> tag, thus add the required value along.
-
-Fixes: 02d505bba6fe ("Add AppStream metainfo XML with modalias documented 
supported hardware.")
-Reported-by: Daniel Rusek <[email protected]>
-Co-Developed-by: Daniel Rusek <[email protected]>
-Link: https://bugs.debian.org/1102647
-Link: https://bugzilla.redhat.com/show_bug.cgi?id=2359069
-Link: 
https://freedesktop.org/software/appstream/docs/sect-Metadata-ConsoleApplication.html
-Tested-by: Petter Reinholdtsen <[email protected]>
-Signed-off-by: Salvatore Bonaccorso <[email protected]>
----
- org.kernel.software.network.ethtool.metainfo.xml | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/org.kernel.software.network.ethtool.metainfo.xml 
b/org.kernel.software.network.ethtool.metainfo.xml
-index efe84c17e4cd..7cfacf223af7 100644
---- a/org.kernel.software.network.ethtool.metainfo.xml
-+++ b/org.kernel.software.network.ethtool.metainfo.xml
-@@ -1,5 +1,5 @@
- <?xml version="1.0" encoding="UTF-8"?>
--<component type="desktop">
-+<component type="console-application">
-   <id>org.kernel.software.network.ethtool</id>
-   <metadata_license>MIT</metadata_license>
-   <name>ethtool</name>
-@@ -11,6 +11,7 @@
-   </description>
-   <url 
type="homepage">https://www.kernel.org/pub/software/network/ethtool/</url>
-   <provides>
-+    <binary>ethtool</binary>
-     <modalias>pci:v*d*sv*sd*bc02sc80i*</modalias>
-   </provides>
- </component>
--- 
-2.49.0
-
diff -Nru ethtool-6.14/debian/patches/series 
ethtool-6.14.1/debian/patches/series
--- ethtool-6.14/debian/patches/series  2025-04-30 06:38:17.000000000 +0200
+++ ethtool-6.14.1/debian/patches/series        1970-01-01 01:00:00.000000000 
+0100
@@ -1 +0,0 @@
-Set-type-property-to-console-application-for-provide.patch
diff -Nru ethtool-6.14/ethtool.8.in ethtool-6.14.1/ethtool.8.in
--- ethtool-6.14/ethtool.8.in   2025-04-07 22:26:40.000000000 +0200
+++ ethtool-6.14.1/ethtool.8.in 2025-06-23 21:24:14.000000000 +0200
@@ -117,7 +117,7 @@
 .  hy \\n(HY
 ..
 .
-.TH ETHTOOL 8 "April 2025" "Ethtool version @VERSION@"
+.TH ETHTOOL 8 "June 2025" "Ethtool version @VERSION@"
 .SH NAME
 ethtool \- query or control network driver and hardware settings
 .
diff -Nru ethtool-6.14/json_print.c ethtool-6.14.1/json_print.c
--- ethtool-6.14/json_print.c   2025-04-07 22:26:40.000000000 +0200
+++ ethtool-6.14.1/json_print.c 2025-06-23 21:24:14.000000000 +0200
@@ -138,13 +138,15 @@
                        jsonw_name(_jw, key);
                else if (!key && value)
                        jsonw_string(_jw, value);
-               else
+               else if (key && value)
                        jsonw_string_field(_jw, key, value);
        } else if (_IS_FP_CONTEXT(type)) {
-               fprintf(stdout, fmt, value);
+               if (value)
+                       fprintf(stdout, fmt, value);
        }
 }
 
+
 /*
  * 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
diff -Nru ethtool-6.14/module-common.c ethtool-6.14.1/module-common.c
--- ethtool-6.14/module-common.c        2025-04-07 22:26:40.000000000 +0200
+++ ethtool-6.14.1/module-common.c      2025-06-23 21:24:14.000000000 +0200
@@ -308,11 +308,8 @@
 
        convert_json_field_name(name, json_fn);
 
-       if (!value) {
-               if (is_json_context())
-                       print_bool(PRINT_JSON, json_fn, NULL, false);
-               else
-                       printf("\t%-41s : None\n", name);
+       if (!value && !is_json_context()) {
+               printf("\t%-41s : None\n", name);
                return;
        }
 
@@ -320,8 +317,7 @@
                open_json_array(json_fn, "");
 
                while (lane_cnt--) {
-                       print_string(PRINT_JSON, NULL, "%s",
-                                    value & 1 ? yes : no);
+                       print_bool(PRINT_JSON, NULL, NULL, value & 1);
                        value >>= 1;
                }
                close_json_array("");
diff -Nru ethtool-6.14/netlink/features.c ethtool-6.14.1/netlink/features.c
--- ethtool-6.14/netlink/features.c     2025-04-07 22:26:40.000000000 +0200
+++ ethtool-6.14.1/netlink/features.c   2025-06-23 21:24:14.000000000 +0200
@@ -275,9 +275,11 @@
        const unsigned int count = get_count(feature_names);
        unsigned int i;
 
-       for (i = 0; i < count; i++)
-               if (!strcmp(name, get_string(feature_names, i)))
+       for (i = 0; i < count; i++) {
+               const char *str = get_string(feature_names, i);
+               if (str && !strcmp(name, str))
                        return i;
+       }
 
        return -1;
 }
diff -Nru ethtool-6.14/netlink/fec.c ethtool-6.14.1/netlink/fec.c
--- ethtool-6.14/netlink/fec.c  2025-04-07 22:26:40.000000000 +0200
+++ ethtool-6.14.1/netlink/fec.c        2025-06-23 21:24:14.000000000 +0200
@@ -27,6 +27,8 @@
 
        if (!val)
                return;
+       if (!name)
+               return;
        if (empty)
                *empty = false;
 
diff -Nru ethtool-6.14/org.kernel.software.network.ethtool.metainfo.xml 
ethtool-6.14.1/org.kernel.software.network.ethtool.metainfo.xml
--- ethtool-6.14/org.kernel.software.network.ethtool.metainfo.xml       
2025-04-07 22:26:40.000000000 +0200
+++ ethtool-6.14.1/org.kernel.software.network.ethtool.metainfo.xml     
2025-06-23 21:24:14.000000000 +0200
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<component type="desktop">
+<component type="console-application">
   <id>org.kernel.software.network.ethtool</id>
   <metadata_license>MIT</metadata_license>
   <name>ethtool</name>
@@ -11,6 +11,7 @@
   </description>
   <url 
type="homepage">https://www.kernel.org/pub/software/network/ethtool/</url>
   <provides>
+    <binary>ethtool</binary>
     <modalias>pci:v*d*sv*sd*bc02sc80i*</modalias>
   </provides>
 </component>

Reply via email to