• Hans de Goede's avatar
    firmware: dmi: Move product_sku info to the end of the modalias · f97a2103
    Hans de Goede authored
    Commit e26f023e ("firmware/dmi: Include product_sku info to modalias")
    added a new field to the modalias in the middle of the modalias, breaking
    some existing udev/hwdb matches on the whole modalias without a wildcard
    ('*') in between the pvr and rvn fields.
    
    All modalias matches in e.g. :
    https://github.com/systemd/systemd/blob/main/hwdb.d/60-sensor.hwdb
    deliberately end in ':*' so that new fields can be added at *the end* of
    the modalias, but adding a new field in the middle like this breaks things.
    
    Move the new sku field to the end of the modalias to fix some hwdb
    entries no longer matching.
    
    The new sku field has already been put to use in 2 new hwdb entries:
    
     sensor:modalias:platform:HID-SENSOR-200073:dmi:*svnDell*:sku0A3E:*
      ACCEL_LOCATION=base
    
     sensor:modalias:platform:HID-SENSOR-200073:dmi:*svnDell*:sku0B0B:*
      ACCEL_LOCATION=base
    
    The wildcard use before and after the sku in these matches means that they
    should keep working with the sku moved to the end.
    
    Note that there is a second instance of in essence the same problem,
    commit f5152f4d ("firmware/dmi: Report DMI Bios & EC firmware release")
    
    Added 2 new br and efr fields in the middle of the modalias. This too
    breaks some hwdb modalias matches, but this has gone unnoticed for over
    a year. So some newer hwdb modalias matches actually depend on these
    fields being in the middle of the string. Moving these to the end now
    would break 3 hwdb entries, while fixing 8 entries.
    
    Since there is no good answer for the new br and efr fields I have chosen
    to leave these as is. Instead I'll submit a hwdb update to put a wildcard
    at the place where these fields may or may not be present depending on the
    kernel version.
    
    BugLink: https://github.com/systemd/systemd/issues/20550
    Link: https://github.com/systemd/systemd/pull/20562
    Fixes: e26f023e ("firmware/dmi: Include product_sku info to modalias")
    Cc: stable@vger.kernel.org
    Cc: Kai-Chuan Hsieh <kaichuan.hsieh@canonical.com>
    Cc: Erwan Velu <e.velu@criteo.com>
    Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
    Signed-off-by: default avatarJean Delvare <jdelvare@suse.de>
    f97a2103
dmi-id.c 7.23 KB