From 0c5b8bae03490ace5412f99adecb257aa961709e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20=C5=BBygowski?= Date: Tue, 28 Jan 2025 13:07:15 +0100 Subject: [PATCH] FSDrivers: Do not load FS drivers on fast boot path MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use a depex file containing a NOT gDasharoFastBootPolicyGuid to prevent loading the module if fast boot is enabled. Signed-off-by: MichaÅ‚ Å»ygowski --- DasharoPayloadPkg/DasharoPayloadPkg.fdf | 8 ++++++++ FSDrivers/exfat.inf | 3 ++- FSDrivers/ext2.inf | 3 ++- FSDrivers/ext4.inf | 3 ++- FSDrivers/fs_depex.depex | 1 + FSDrivers/ntfs.inf | 4 ++-- 6 files changed, 17 insertions(+), 5 deletions(-) create mode 100644 FSDrivers/fs_depex.depex diff --git a/DasharoPayloadPkg/DasharoPayloadPkg.fdf b/DasharoPayloadPkg/DasharoPayloadPkg.fdf index 76f5f44783..46095f382a 100644 --- a/DasharoPayloadPkg/DasharoPayloadPkg.fdf +++ b/DasharoPayloadPkg/DasharoPayloadPkg.fdf @@ -470,6 +470,14 @@ INF MdeModulePkg/Universal/EsrtDxe/EsrtDxe.inf VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) } +[Rule.Common.UEFI_DRIVER.BINARY] + FILE DRIVER = $(NAMED_GUID) { + DXE_DEPEX DXE_DEPEX Optional |.depex + PE32 PE32 |.efi + UI STRING="$(MODULE_NAME)" Optional + VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) + } + [Rule.Common.UEFI_APPLICATION] FILE APPLICATION = $(NAMED_GUID) { PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi diff --git a/FSDrivers/exfat.inf b/FSDrivers/exfat.inf index caf940cfda..0677c0a955 100644 --- a/FSDrivers/exfat.inf +++ b/FSDrivers/exfat.inf @@ -20,8 +20,9 @@ VALID_ARCHITECTURES = X64 IA32 [Binaries.X64] PE32|X64/exfat_x64.efi|* + DXE_DEPEX|fs_depex.depex|* [Binaries.IA32] PE32|IA32/exfat_ia32.efi|* - + DXE_DEPEX|fs_depex.depex|* diff --git a/FSDrivers/ext2.inf b/FSDrivers/ext2.inf index 67a985e385..5df6c98b47 100644 --- a/FSDrivers/ext2.inf +++ b/FSDrivers/ext2.inf @@ -19,7 +19,8 @@ VALID_ARCHITECTURES = X64 IA32 [Binaries.X64] PE32|X64/ext2_x64.efi|* + DXE_DEPEX|fs_depex.depex|* [Binaries.IA32] PE32|IA32/ext2_ia32.efi|* - + DXE_DEPEX|fs_depex.depex|* diff --git a/FSDrivers/ext4.inf b/FSDrivers/ext4.inf index c9d0807251..04a92880ec 100644 --- a/FSDrivers/ext4.inf +++ b/FSDrivers/ext4.inf @@ -19,7 +19,8 @@ VALID_ARCHITECTURES = X64 IA32 [Binaries.X64] PE32|X64/ext4_x64.efi|* + DXE_DEPEX|fs_depex.depex|* [Binaries.IA32] PE32|IA32/ext4_ia32.efi|* - + DXE_DEPEX|fs_depex.depex|* diff --git a/FSDrivers/fs_depex.depex b/FSDrivers/fs_depex.depex new file mode 100644 index 0000000000..94d1d899f7 --- /dev/null +++ b/FSDrivers/fs_depex.depex @@ -0,0 +1 @@ +m¹…Hñ½mI¼=>yWtÍ@ \ No newline at end of file diff --git a/FSDrivers/ntfs.inf b/FSDrivers/ntfs.inf index 804f655cd7..10b0111388 100644 --- a/FSDrivers/ntfs.inf +++ b/FSDrivers/ntfs.inf @@ -20,8 +20,8 @@ VALID_ARCHITECTURES = X64 IA32 [Binaries.X64] PE32|X64/ntfs_x64.efi|* + DXE_DEPEX|fs_depex.depex|* [Binaries.IA32] PE32|IA32/ntfs_ia32.efi|* - - + DXE_DEPEX|fs_depex.depex|*