]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.13-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 8 Sep 2021 07:05:31 +0000 (09:05 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 8 Sep 2021 07:05:31 +0000 (09:05 +0200)
added patches:
firmware-dmi-move-product_sku-info-to-the-end-of-the-modalias.patch

queue-5.10/series [new file with mode: 0644]
queue-5.13/firmware-dmi-move-product_sku-info-to-the-end-of-the-modalias.patch [new file with mode: 0644]
queue-5.13/series [new file with mode: 0644]
queue-5.14/series [new file with mode: 0644]

diff --git a/queue-5.10/series b/queue-5.10/series
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/queue-5.13/firmware-dmi-move-product_sku-info-to-the-end-of-the-modalias.patch b/queue-5.13/firmware-dmi-move-product_sku-info-to-the-end-of-the-modalias.patch
new file mode 100644 (file)
index 0000000..84f7d1a
--- /dev/null
@@ -0,0 +1,88 @@
+From f97a2103f1a75ca70f23deadb4d96a16c4d85e7d Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Thu, 2 Sep 2021 17:28:53 +0200
+Subject: firmware: dmi: Move product_sku info to the end of the modalias
+
+From: Hans de Goede <hdegoede@redhat.com>
+
+commit f97a2103f1a75ca70f23deadb4d96a16c4d85e7d upstream.
+
+Commit e26f023e01ef ("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 f5152f4ded3c ("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: e26f023e01ef ("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: Hans de Goede <hdegoede@redhat.com>
+Signed-off-by: Jean Delvare <jdelvare@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/firmware/dmi-id.c |    6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+--- a/drivers/firmware/dmi-id.c
++++ b/drivers/firmware/dmi-id.c
+@@ -73,6 +73,10 @@ static void ascii_filter(char *d, const
+ static ssize_t get_modalias(char *buffer, size_t buffer_size)
+ {
++      /*
++       * Note new fields need to be added at the end to keep compatibility
++       * with udev's hwdb which does matches on "`cat dmi/id/modalias`*".
++       */
+       static const struct mafield {
+               const char *prefix;
+               int field;
+@@ -85,13 +89,13 @@ static ssize_t get_modalias(char *buffer
+               { "svn", DMI_SYS_VENDOR },
+               { "pn",  DMI_PRODUCT_NAME },
+               { "pvr", DMI_PRODUCT_VERSION },
+-              { "sku", DMI_PRODUCT_SKU },
+               { "rvn", DMI_BOARD_VENDOR },
+               { "rn",  DMI_BOARD_NAME },
+               { "rvr", DMI_BOARD_VERSION },
+               { "cvn", DMI_CHASSIS_VENDOR },
+               { "ct",  DMI_CHASSIS_TYPE },
+               { "cvr", DMI_CHASSIS_VERSION },
++              { "sku", DMI_PRODUCT_SKU },
+               { NULL,  DMI_NONE }
+       };
diff --git a/queue-5.13/series b/queue-5.13/series
new file mode 100644 (file)
index 0000000..a9f046b
--- /dev/null
@@ -0,0 +1 @@
+firmware-dmi-move-product_sku-info-to-the-end-of-the-modalias.patch
diff --git a/queue-5.14/series b/queue-5.14/series
new file mode 100644 (file)
index 0000000..c2c206f
--- /dev/null
@@ -0,0 +1,2 @@
+firmware-dmi-move-product_sku-info-to-the-end-of-the-modalias.patch
+can-c_can-fix-null-ptr-deref-on-ioctl.patch