From f8aab62e97b9b21c0d4885cfe800635f331d0d11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marvin=20H=C3=A4user?= Date: Sat, 11 Jun 2022 10:45:04 +0200 Subject: [PATCH] OcAfterBootCompatLib: Extend AllocRelocationBlock support The current relocation code is only supported in conjunction with ProvideCustomSlide. Add support for disabled ProvideCustomSlide and slide=0 in boot-args. --- Library/OcAfterBootCompatLib/CustomSlide.c | 3 +-- Library/OcAfterBootCompatLib/ServiceOverrides.c | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/Library/OcAfterBootCompatLib/CustomSlide.c b/Library/OcAfterBootCompatLib/CustomSlide.c index 37ddb81d..38c374a5 100644 --- a/Library/OcAfterBootCompatLib/CustomSlide.c +++ b/Library/OcAfterBootCompatLib/CustomSlide.c @@ -813,8 +813,7 @@ AppleSlideGetVariable ( FilterMapContext, (BootCompat->CpuInfo->CpuGeneration == OcCpuGenerationSandyBridge) || (BootCompat->CpuInfo->CpuGeneration == OcCpuGenerationIvyBridge) - ) - && !BootCompat->ServiceState.AppleCustomSlide) + )) { // // When we cannot allow some KASLR values due to used address we generate diff --git a/Library/OcAfterBootCompatLib/ServiceOverrides.c b/Library/OcAfterBootCompatLib/ServiceOverrides.c index 436a8e1a..4d0eab13 100644 --- a/Library/OcAfterBootCompatLib/ServiceOverrides.c +++ b/Library/OcAfterBootCompatLib/ServiceOverrides.c @@ -1079,7 +1079,7 @@ OcGetVariable ( BootCompat = GetBootCompatContext (); IsApple = BootCompat->ServiceState.AppleBootNestedCount > 0; - if (IsApple && BootCompat->Settings.ProvideCustomSlide) { + if (IsApple && (BootCompat->Settings.ProvideCustomSlide || BootCompat->Settings.AllowRelocationBlock)) { Status = AppleSlideGetVariable ( BootCompat, BootCompat->ServicePtrs.GetVariable, -- GitLab