jammy: 4.21.0-7 dropped mstlink binary

Bug #2051571 reported by Dan Watkins
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
mstflint (Ubuntu)
New
Undecided
Unassigned
Jammy
Fix Committed
Critical
dann frazier

Bug Description

[Impact]
The mstlink and mstreg binaries have regressed in the last jammy update. This is because a new upstream landed in jammy as an SRU outside of the SRU process, and is based on upstream's debian/ packaging, not Debian's. One of the differences between these version is the use of different configure flags.

[Test Case]
/usr/bin/mstlink and /usr/bin/mstreg have returned.

[What Could Go Wrong]
While this update does restore files that were dropped in the last "SRU", it does drop some files that the Debian packaging does not ship. This includes some header files, some .a files, and 2 manpages for binaries that neither version of the package ships.

It is possible that somebody has started using these files, and by taking them away we break someone. That seems unlikely - these appear to be for internal-use only.

Here's a complete diff:

--- mstflint.jammy.orig 2024-04-12 21:40:42.700199967 +0000
+++ mstflint.jammy.ppa 2024-04-12 21:58:59.495997299 +0000
@@ -6,37 +6,20 @@
 /usr/bin/mstflint
 /usr/bin/mstfwreset
 /usr/bin/mstfwtrace
+/usr/bin/mstlink
 /usr/bin/mstmcra
 /usr/bin/mstmread
 /usr/bin/mstmtserver
 /usr/bin/mstmwrite
 /usr/bin/mstprivhost
+/usr/bin/mstreg
 /usr/bin/mstregdump
 /usr/bin/mstresourcedump
 /usr/bin/mstresourceparse
 /usr/bin/mstvpd
-/usr/include
-/usr/include/mstflint
-/usr/include/mstflint/cmdif
-/usr/include/mstflint/cmdif/icmd_cif_common.h
-/usr/include/mstflint/cmdif/icmd_cif_open.h
-/usr/include/mstflint/common
-/usr/include/mstflint/common/compatibility.h
-/usr/include/mstflint/mtcr.h
-/usr/include/mstflint/mtcr_com_defs.h
-/usr/include/mstflint/mtcr_mf.h
-/usr/include/mstflint/tools_layouts
-/usr/include/mstflint/tools_layouts/adb_to_c_utils.h
-/usr/include/mstflint/tools_layouts/icmd_layouts.h
-/usr/include/mtcr_ul
 /usr/lib
 /usr/lib/x86_64-linux-gnu
-/usr/lib/x86_64-linux-gnu/libcmdif.a
-/usr/lib/x86_64-linux-gnu/libdev_mgt.a
-/usr/lib/x86_64-linux-gnu/libreg_access.a
-/usr/lib/x86_64-linux-gnu/libtools_layouts.a
 /usr/lib/x86_64-linux-gnu/mstflint
-/usr/lib/x86_64-linux-gnu/mstflint/libmtcr_ul.a
 /usr/lib/x86_64-linux-gnu/mstflint/python_tools
 /usr/lib/x86_64-linux-gnu/mstflint/python_tools/c_dev_mgt.so
 /usr/lib/x86_64-linux-gnu/mstflint/python_tools/ccmdif.so
@@ -150,13 +133,14 @@
 /usr/share/doc/mstflint/README.gz
 /usr/share/doc/mstflint/changelog.Debian.gz
 /usr/share/doc/mstflint/copyright
+/usr/share/lintian
+/usr/share/lintian/overrides
+/usr/share/lintian/overrides/mstflint
 /usr/share/man
 /usr/share/man/man1
-/usr/share/man/man1/mstarchive.1.gz
 /usr/share/man/man1/mstconfig.1.gz
 /usr/share/man/man1/mstcongestion.1.gz
 /usr/share/man/man1/mstflint.1.gz
-/usr/share/man/man1/mstfwmanager.1.gz
 /usr/share/man/man1/mstfwreset.1.gz
 /usr/share/man/man1/mstfwtrace.1.gz
 /usr/share/man/man1/mstlink.1.gz
@@ -196,6 +180,10 @@
 /usr/share/mstflint/mlxconfig_dbs
 /usr/share/mstflint/mlxconfig_dbs/mlxconfig_host.db
 /usr/share/mstflint/mlxconfig_dbs/mlxconfig_switch.db
-/usr/include/mtcr_ul/mtcr.h
-/usr/include/mtcr_ul/mtcr_com_defs.h
-/usr/lib/libmtcr_ul.a
+/usr/share/mstflint/prm_dbs
+/usr/share/mstflint/prm_dbs/hca
+/usr/share/mstflint/prm_dbs/hca/ext
+/usr/share/mstflint/prm_dbs/hca/ext/register_access_table.adb
+/usr/share/mstflint/prm_dbs/switch
+/usr/share/mstflint/prm_dbs/switch/ext
+/usr/share/mstflint/prm_dbs/switch/ext/register_access_table.adb

Brad Figg (brad-figg)
Changed in mstflint (Ubuntu):
assignee: nobody → Brad Figg (brad-figg)
Revision history for this message
dann frazier (dannf) wrote :

The specific problem here is that the newer problem dropped the --enable-db-generic-tools configure flag.

But there seems to be a *much* bigger problem here. I see that an entirely new mstflint upstream release landed in both the updates and security pockets with no reference to either a bug or a CVE in the changelog. The packaging looks completely different to what was there before, with no common entries in the changelog. It bears little resemblance even to the same upstream version that landed in mantic;

$ debdiff mstflint_4.21.0+1-1.dsc mstflint_4.21.0-7.dsc
[...]
 126 files changed, 8106 insertions(+), 62755 deletions(-)

I do understand the need for new mstflint packages in stable releases - in fact, I've done one before:
  https://launchpad.net/bugs/1864475

.. but this seems to have sidestepped the SRU procedure altogether.

Note that I had proposed a special case policy for doing these updates, which specifically requires testing that no binaries were removed:
  https://wiki.ubuntu.com/mstflint-Updates

The SRU team elected to hold off on approving that because it wasn't clear if that time was a one-off.

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

@Brad Figg (brad-figg)
You can subscribe to the bug to get updates, please do not mark yourself as assignee.

Changed in mstflint (Ubuntu):
assignee: Brad Figg (brad-figg) → nobody
tags: added: jammy regression-update
Changed in mstflint (Ubuntu Jammy):
importance: Undecided → Critical
Revision history for this message
Dimitri John Ledkov (xnox) wrote :

i am very confused how this has happened and left undetected for this long

Revision history for this message
Robie Basak (racb) wrote :

Looks like @apw copied this into jammy-security and jammy-updates, so subscribing Andy.

Revision history for this message
dann frazier (dannf) wrote :

The SRU includes a new binary package, mstflint-dkms, that is unique to that version. Perhaps we need to split that into a separate source package, and then see about SRU'ing a userspace-only-mstflint from a later Ubuntu release back to fix this issue? Is the userspace version tightly coupled to the module version?

Revision history for this message
dann frazier (dannf) wrote :

I've add mstflint-dkms to mstflint/noble:

https://launchpad.net/ubuntu/+source/mstflint/4.26.0+1-2ubuntu1

dann frazier (dannf)
Changed in mstflint (Ubuntu Jammy):
status: New → In Progress
assignee: nobody → dann frazier (dannf)
dann frazier (dannf)
description: updated
description: updated
dann frazier (dannf)
description: updated
Revision history for this message
Timo Aaltonen (tjaalton) wrote : Please test proposed package

Hello Dan, or anyone else affected,

Accepted mstflint into jammy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/mstflint/4.21.0+1-1ubuntu0.1~22.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-jammy to verification-done-jammy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-jammy. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in mstflint (Ubuntu Jammy):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-jammy
Revision history for this message
dann frazier (dannf) wrote :

# verification

ubuntu@hinyari:~$ ls -l /usr/bin/mstflint /usr/bin/mstreg
-rwxr-xr-x 1 root root 943848 Apr 12 20:33 /usr/bin/mstflint
-rwxr-xr-x 1 root root 447160 Apr 12 20:33 /usr/bin/mstreg
ubuntu@hinyari:~$ dpkg -l mstflint
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============-===========================-============-===========================>
ii mstflint 4.21.0+1-1ubuntu0.1~22.04.1 arm64 Mellanox firmware burning a>

tags: added: verification-done verification-done-jammy
removed: verification-needed verification-needed-jammy
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.