All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Jason A. Donenfeld" <Jason@zx2c4.com>
To: Len Brown <lenb@kernel.org>, "Rafael J. Wysocki" <rafael@kernel.org>
Cc: "Jason A. Donenfeld" <Jason@zx2c4.com>,
	linux-crypto@vger.kernel.org, linux-acpi@vger.kernel.org,
	linux-kernel@vger.kernel.org, Alexander Graf <graf@amazon.com>,
	Ard Biesheuvel <ardb@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Subject: [PATCH v5 2/3] ACPI: allow longer device IDs
Date: Sat, 26 Feb 2022 23:06:38 +0100	[thread overview]
Message-ID: <20220226220639.1173594-3-Jason@zx2c4.com> (raw)
In-Reply-To: <20220226220639.1173594-1-Jason@zx2c4.com>

From: Alexander Graf <graf@amazon.com>

We create a list of ACPI "PNP" IDs which contains _HID, _CID, and CLS
entries of the respective devices. However, we squeeze them into struct
acpi_device_id, which only has 9 bytes space to store the identifier. It
originally had 16 bytes, but was changed to only have 9 in 6543becf26ff
("mod/file2alias: make modalias generation safe for cross compiling"),
presumably on the theory that it would match the ACPI spec so it didn't
matter.

Unfortunately, while most people adhere to the ACPI specs, Microsoft
decided that its VM Generation Counter device [1] should only be
identifiable by _CID with a value of "VM_Gen_Counter", which is longer
than 9 characters.

To allow device drivers to match identifiers that exceed the 9 byte
limit, this simply ups the length to 16, just like it was before the
aforementioned commit. Empirical testing indicates that this
doesn't actually increase vmlinux size, because the ulong in the same
struct caused there to be 7 bytes of padding anyway.

This patch is a prerequisite to add support for VMGenID in Linux, the
subsequent patch in this series. It has been confirmed to also work on
the udev/modalias side in userspace.

[1] https://download.microsoft.com/download/3/1/C/31CFC307-98CA-4CA5-914C-D9772691E214/VirtualMachineGenerationID.docx

Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Len Brown <lenb@kernel.org>
Cc: Rafael J. Wysocki <rafael@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Co-authored-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Alexander Graf <graf@amazon.com>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
---
Hi Rafael & Len,

This patchset is directed toward you two specifically. Patches 1/3 and
3/3 have been through the ringer of review a bit already and do not
specifically require your attention, but in v4 we wound up getting hung
up on an ACPI API limitation. This v5 fixes that limitation with this
2/3 patch that you see here, with a trivial one line fix, which does
require your attention.

Patches 1/3 and 3/3 will go through my random.git tree. However, 3/3
actually depends on this one here, 2/3, in order to compile without
warnings (and be functional at all). Therefore, it would be nice if you
would provide an "Acked-by" on it and permit me to /also/ take it
through my random.git tree (if it looks like a correct patch to you, of
course). This would make the merge logistics a lot easier. Plus it's a
small +1/-1 line change.

Please have a look and let me know what you think.

Thanks,
Jason

 include/linux/mod_devicetable.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h
index 4bb71979a8fd..5da5d990ff58 100644
--- a/include/linux/mod_devicetable.h
+++ b/include/linux/mod_devicetable.h
@@ -211,7 +211,7 @@ struct css_device_id {
 	kernel_ulong_t driver_data;
 };
 
-#define ACPI_ID_LEN	9
+#define ACPI_ID_LEN	16
 
 struct acpi_device_id {
 	__u8 id[ACPI_ID_LEN];
-- 
2.35.1


  parent reply	other threads:[~2022-02-26 22:07 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-26 22:06 [PATCH v5 0/3] ACPI: VM fork detection for RNG Jason A. Donenfeld
2022-02-26 22:06 ` [PATCH v5 1/3] random: add mechanism for VM forks to reinitialize crng Jason A. Donenfeld
2022-02-26 22:06 ` Jason A. Donenfeld [this message]
2022-02-27  7:31   ` [PATCH v5 2/3] ACPI: allow longer device IDs Ard Biesheuvel
2022-02-27  7:37     ` Ard Biesheuvel
2022-02-27 10:03     ` Jason A. Donenfeld
2022-02-27 10:30       ` Ard Biesheuvel
2022-02-27 10:47         ` Ard Biesheuvel
2022-02-27 11:38           ` Alexander Graf
2022-02-27 11:43             ` Ard Biesheuvel
2022-02-27 11:48               ` Alexander Graf
2022-02-27 11:59                 ` Ard Biesheuvel
2022-02-27 11:42   ` Alexander Graf
2022-02-27 12:43     ` Jason A. Donenfeld
2022-02-27 23:27       ` Jason A. Donenfeld
2022-02-28 18:19         ` Rafael J. Wysocki
2022-02-28 18:21           ` Jason A. Donenfeld
2022-02-28 18:33             ` [PATCH 2/3 v6] " Jason A. Donenfeld
2022-02-28 20:46               ` Andy Shevchenko
2022-02-28 20:58                 ` Jason A. Donenfeld
2022-02-28 21:02                 ` Ard Biesheuvel
2022-02-28 21:27                   ` Andy Shevchenko
2022-02-28 21:54                     ` Jason A. Donenfeld
2022-02-28 22:14                       ` Michael Kelley (LINUX)
2022-02-28 22:17                         ` Jason A. Donenfeld
2022-02-28 22:21                         ` Ard Biesheuvel
2022-02-28 22:38                           ` Michael Kelley (LINUX)
2022-02-28 22:46                             ` Ard Biesheuvel
2022-03-22 19:58                               ` Michael Kelley (LINUX)
2022-03-22 20:11                                 ` Jason A. Donenfeld
2022-03-24 19:25                                   ` Michael Kelley (LINUX)
2022-03-22 22:06                                 ` Ard Biesheuvel
2022-03-24 19:24                                   ` Michael Kelley (LINUX)
2022-03-24 19:45                                     ` Jason A. Donenfeld
2022-03-24 20:14                                       ` Michael Kelley (LINUX)
2022-03-01 13:12                         ` Andy Shevchenko
2022-02-28 22:00                     ` Alexander Graf
2022-02-28 22:17                       ` Ard Biesheuvel
2022-03-01 10:35               ` Hans de Goede
2022-03-01 10:38                 ` Jason A. Donenfeld
2022-03-01 10:49                   ` Hans de Goede
2022-03-01 14:25                 ` Andy Shevchenko
2022-03-01 14:48                   ` Jason A. Donenfeld
2022-03-01 12:29               ` Rafael J. Wysocki
2022-03-01 10:31           ` [PATCH v5 2/3] " Hans de Goede
2022-02-26 22:06 ` [PATCH v5 3/3] virt: vmgenid: introduce driver for reinitializing RNG on VM fork Jason A. Donenfeld
2022-03-06 16:02   ` Michael Kelley (LINUX)
2022-03-06 16:02     ` Michael Kelley (LINUX)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220226220639.1173594-3-Jason@zx2c4.com \
    --to=jason@zx2c4.com \
    --cc=ardb@kernel.org \
    --cc=graf@amazon.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rafael@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.