From fa89865552dadef0912583526fa3dd93513dcdab Mon Sep 17 00:00:00 2001 From: Mykola Grymalyuk Date: Fri, 15 Oct 2021 09:23:05 -0600 Subject: [PATCH] Fix Beta 10 Bluetooth --- CHANGELOG.md | 2 + .../Acidanthera/BlueToolFixup-v2.6.1.zip | Bin 11976 -> 10247 bytes .../Kexts/Acidanthera/BlueToolFixup.patch | 44 +++++++++++++++++- 3 files changed, 45 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 11d3a40b9..e02de4f2d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -47,6 +47,8 @@ - Adds [AMDGPUWakeHandler](https://github.com/blackgate/AMDGPUWakeHandler) - Add Legacy GCN support for iMac11,x and iMac12,x with upgraded GPUs - Note: iMac12,x with legacy GCN will fail to wake +- Fix Beta 10 Bluetooth + - Works around new Broadcom/CSR vendor checks in `bluetoothd` ## 0.2.5 diff --git a/payloads/Kexts/Acidanthera/BlueToolFixup-v2.6.1.zip b/payloads/Kexts/Acidanthera/BlueToolFixup-v2.6.1.zip index 718c32283ae6e5a4ea78eeaaa4404dde5feeba2a..a86d49f6a09c090180e0f8b2c694ea67f2b40d53 100644 GIT binary patch literal 10247 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 K%guN8>;C{Fi@Ngw diff --git a/payloads/Kexts/Acidanthera/BlueToolFixup.patch b/payloads/Kexts/Acidanthera/BlueToolFixup.patch index 1f1fa890a..438fc46ae 100644 --- a/payloads/Kexts/Acidanthera/BlueToolFixup.patch +++ b/payloads/Kexts/Acidanthera/BlueToolFixup.patch @@ -1,5 +1,5 @@ diff --git a/BrcmPatchRAM/BlueToolFixup.cpp b/BrcmPatchRAM/BlueToolFixup.cpp -index 0fa891a..b64b780 100644 +index 0fa891a..4cebff4 100644 --- a/BrcmPatchRAM/BlueToolFixup.cpp +++ b/BrcmPatchRAM/BlueToolFixup.cpp @@ -37,8 +37,10 @@ bool BlueToolFixup::start(IOService *provider) { @@ -13,3 +13,45 @@ index 0fa891a..b64b780 100644 registerService(); return true; +@@ -50,7 +52,22 @@ bool BlueToolFixup::start(IOService *provider) { + static const uint8_t kSkipUpdateFilePathOriginal[] = "/etc/bluetool/SkipBluetoothAutomaticFirmwareUpdate"; + static const uint8_t kSkipUpdateFilePathPatched[] = "/System/Library/CoreServices/boot.efi"; + ++static const uint8_t kVendorCheckOriginal[] = ++ { ++ 0x74, 0x08, // jz short 08 ++ 0x81, 0xFA, // cmp edx ++ 0x12, 0x0A, 0x00, 0x00 // Vendor CSR ++ }; ++ ++ static const uint8_t kVendorCheckPatched[] = ++ { ++ 0xEB, 0x08, // jmp short 08 ++ 0x81, 0xFA, // cmp edx ++ 0x12, 0x0A, 0x00, 0x00 // Vendor CSR ++ }; ++ + static const char *blueToolPath = "/usr/sbin/BlueTool"; ++static const char *bluetoothdPath = "/usr/sbin/bluetoothd"; + + static mach_vm_address_t orig_cs_validate {}; + +@@ -70,10 +87,14 @@ static inline void searchAndPatch(const void *haystack, size_t haystackSize, con + static void patched_cs_validate_page(vnode_t vp, memory_object_t pager, memory_object_offset_t page_offset, const void *data, int *validated_p, int *tainted_p, int *nx_p) { + char path[PATH_MAX]; + int pathlen = PATH_MAX; +- FunctionCast(patched_cs_validate_page, orig_cs_validate)(vp, pager, page_offset, data, validated_p, tainted_p, nx_p); +- if (vn_getpath(vp, path, &pathlen) == 0 && UNLIKELY(strcmp(path, blueToolPath) == 0)) { +- searchAndPatch(data, PAGE_SIZE, path, kSkipUpdateFilePathOriginal, kSkipUpdateFilePathPatched); +- } ++ if (vn_getpath(vp, path, &pathlen) == 0) { ++ if (UNLIKELY(strcmp(path, blueToolPath) == 0)) { ++ searchAndPatch(data, PAGE_SIZE, path, kSkipUpdateFilePathOriginal, kSkipUpdateFilePathPatched); ++ } ++ if (UNLIKELY(strcmp(path, bluetoothdPath) == 0)) { ++ searchAndPatch(data, PAGE_SIZE, path, kVendorCheckOriginal, kVendorCheckPatched); ++ } ++ } + } + +