diff options
Diffstat (limited to 'website/static/security/patches/EN-25:12')
-rw-r--r-- | website/static/security/patches/EN-25:12/efi.patch | 59 | ||||
-rw-r--r-- | website/static/security/patches/EN-25:12/efi.patch.asc | 16 |
2 files changed, 75 insertions, 0 deletions
diff --git a/website/static/security/patches/EN-25:12/efi.patch b/website/static/security/patches/EN-25:12/efi.patch new file mode 100644 index 0000000000..cd15bf1b89 --- /dev/null +++ b/website/static/security/patches/EN-25:12/efi.patch @@ -0,0 +1,59 @@ +--- stand/efi/loader/bootinfo.c.orig ++++ stand/efi/loader/bootinfo.c +@@ -447,9 +447,15 @@ + module = *modulep; + file_addmetadata(kfp, MODINFOMD_MODULEP, sizeof(module), &module); + #endif +-#if defined(EFI) && !defined(__i386__) ++#ifdef EFI ++#ifndef __i386__ + file_addmetadata(kfp, MODINFOMD_FW_HANDLE, sizeof(ST), &ST); + #endif ++#if defined(__amd64__) || defined(__i386__) ++ file_addmetadata(kfp, MODINFOMD_EFI_ARCH, sizeof(MACHINE_ARCH), ++ MACHINE_ARCH); ++#endif ++#endif + #ifdef LOADER_GELI_SUPPORT + geli_export_key_metadata(kfp); + #endif +--- sys/amd64/amd64/machdep.c.orig ++++ sys/amd64/amd64/machdep.c +@@ -1691,6 +1691,27 @@ + efi_map_sysctl_handler, "S,efi_map_header", + "Raw EFI Memory Map"); + ++static int ++efi_arch_sysctl_handler(SYSCTL_HANDLER_ARGS) ++{ ++ char *arch; ++ caddr_t kmdp; ++ ++ kmdp = preload_search_by_type("elf kernel"); ++ if (kmdp == NULL) ++ kmdp = preload_search_by_type("elf64 kernel"); ++ ++ arch = (char *)preload_search_info(kmdp, ++ MODINFO_METADATA | MODINFOMD_EFI_ARCH); ++ if (arch == NULL) ++ return (0); ++ ++ return (SYSCTL_OUT_STR(req, arch)); ++} ++SYSCTL_PROC(_machdep, OID_AUTO, efi_arch, ++ CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, 0, ++ efi_arch_sysctl_handler, "A", "EFI Firmware Architecture"); ++ + void + spinlock_enter(void) + { +--- sys/x86/include/metadata.h.orig ++++ sys/x86/include/metadata.h +@@ -34,6 +34,7 @@ + #define MODINFOMD_EFI_FB 0x1005 + #define MODINFOMD_MODULEP 0x1006 + #define MODINFOMD_VBE_FB 0x1007 ++#define MODINFOMD_EFI_ARCH 0x1008 + + struct efi_map_header { + uint64_t memory_size; diff --git a/website/static/security/patches/EN-25:12/efi.patch.asc b/website/static/security/patches/EN-25:12/efi.patch.asc new file mode 100644 index 0000000000..ac25268b3a --- /dev/null +++ b/website/static/security/patches/EN-25:12/efi.patch.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEEthUnfoEIffdcgYM7bljekB8AGu8FAmiVShwACgkQbljekB8A +Gu96qRAAw0SdIOM6CoKh6R91MNsbA4wBL4TtrlBG8pPBDkhP8N1zn3hYOFu10MA8 +hEMB08WdHm6ruLG8Hlb7toVIvs2xM83CUZnywDvAHryuCZ81/JrzPU7MKJCAhz8/ +wqhGN56qsn9R7jSNYS4KgGSZlK+742OJD9hRgbUQ57ZRlpN0/VLRovTPQ9KPVPEG +OaNKZh4vcAKjIYHpLmKdtKnM7BY7Ep4r9ZUfIck147PiV1T6b4eC/k4ZjIXnKLX5 +EfxB93r7DaOYSsyBI8IDMMyJFD7JcsWWzacoOoLqak0YciuaJAFFObJ8r5EpOIH/ +YfC0r+siD4tL+RYd4DlSNdB9xLhLA9tGQ4x1IMJspMj0vXb2QY+docgUG6QUzqCI +cUaZSm7kWnyELir4NfYHocpRZP8dTQzB0kLkXCz8DY8crhhhMEwfLBKoz7j7mMTL +d+M5cSNqwbHRrSC1DG9BrC8r4LWmZ7Rtbj90sTtcTCv9Ue5K4TOW9+h8p08LpSHk +p93Jp7SQxy8qniaANnciXgjXS48HlReWL1GbFXI372M01qNAxdP3ZysvUpm9OKuV +KEyYsyhe+324fKKtEhq5hSJD3eyCycih3eN9/VCDOQqKEnfG4Y9+Mch7MiQt3Z3i +1Nc+Ri9sUgpE3fXMa/OEapu6CX9QLUSkLwsscP/wIRvasbX1qQw= +=rniG +-----END PGP SIGNATURE----- |