From 8b18c59d8ad07d3ca210ff9ca0fd5488fc84d931 Mon Sep 17 00:00:00 2001 From: Mykola Grymalyuk Date: Wed, 8 Feb 2023 13:15:19 -0700 Subject: [PATCH] kdk_handler.py: Avoid double unmount --- resources/kdk_handler.py | 17 +++++++++-------- resources/sys_patch/sys_patch.py | 2 +- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/resources/kdk_handler.py b/resources/kdk_handler.py index 3133876e0..bb0ea0905 100644 --- a/resources/kdk_handler.py +++ b/resources/kdk_handler.py @@ -273,8 +273,8 @@ class KernelDebugKitObject: plist_path.unlink() kdk_dict = { - "Build": self.kdk_url_build, - "Version": self.kdk_url_version, + "build": self.kdk_url_build, + "version": self.kdk_url_version, } try: @@ -553,18 +553,19 @@ class KernelDebugKitUtilities: return False self._create_backup(kdk_pkg_path, Path(f"{kdk_path.parent}/{KDK_INFO_PLIST}")) - - result = subprocess.run(["hdiutil", "detach", mount_point], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) self._unmount_disk_image(mount_point) logging.info("- Successfully installed KDK") return True def _unmount_disk_image(self, mount_point): - result = subprocess.run(["hdiutil", "detach", mount_point], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) - if result.returncode != 0: - logging.info("- Failed to unmount KDK:") - logging.info(result.stdout.decode('utf-8')) + """ + Unmounts provided disk image silently + + Parameters: + mount_point (Path): Path to mount point + """ + subprocess.run(["hdiutil", "detach", mount_point], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) def _create_backup(self, kdk_path: Path, kdk_info_plist: Path): diff --git a/resources/sys_patch/sys_patch.py b/resources/sys_patch/sys_patch.py index 4b2c85cb4..b232b7ca4 100644 --- a/resources/sys_patch/sys_patch.py +++ b/resources/sys_patch/sys_patch.py @@ -187,7 +187,7 @@ class PatchSysVolume: # Note it's a folder, not a file utilities.elevated(["cp", "-r", cs_path, f"{self.constants.payload_path}/IOHIDEventDriver_CodeSignature.bak"], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) - logging.info("- Merging KDK with Root Volume") + logging.info(f"- Merging KDK with Root Volume: {kdk_path.name}") utilities.elevated( # Only merge '/System/Library/Extensions' # 'Kernels' and 'KernelSupport' is wasted space for root patching (we don't care above dev kernels)