90 Commits

Author SHA1 Message Date
vit9696
748b0ea20e OcAppleKernelLib: Fix incorrect assertion on zero relocations 2020-07-07 12:13:57 +03:00
vit9696
d8ace47606 OcAppleKernelLib: Fix patching KC vtables with imports from kexts 2020-07-05 23:18:10 +03:00
vit9696
0b3dcf4f7e OcAppleKernelLib: Improve handling of KC DySymtab 2020-07-04 20:21:37 +03:00
Download-Fritz
07b697d28d OcMachoLib: Support KC Mach-Os 2020-07-04 15:28:22 +02:00
vit9696
e6bec3ae80 Debug: Fix some log tags 2020-05-17 16:53:02 +03:00
Download-Fritz
cf05a42605 OcAppleKernelLib: Relieve __LINKEDIT presence expectations
KPIs in Mountain Lion expose symbols but do not have a __LINKEDIT segment.
2020-04-23 22:24:00 +02:00
Download-Fritz
4dab6b508a OcAppleKernelLib: Avoid NULL 0-offset UB 2020-04-23 19:59:32 +02:00
vit9696
3ec848da3d Build: Replace RETURN_ macros with EFI_ 2020-04-18 15:55:05 +03:00
vit9696
867000cd07 Build: Improve IA32 compat based on @nms42 patches
closes acidanthera/bugtracker#645
closes acidanthera/bugtracker#646
closes acidanthera/bugtracker#647
2020-01-11 04:51:46 +03:00
vit9696
4421b5a758 OcBootManagementLib: Debug restyle 2019-11-04 18:51:48 +03:00
Download-Fritz
05127da085 OcMachoLib: Add explicit casts to silence MSVC for IA32 targets 2019-11-03 16:46:35 +01:00
Download-Fritz
1d2e449f56 Multiple: Fix 32-bit linking issues 2019-11-03 15:43:59 +01:00
Download-Fritz
156cb7c586 Various type and cast fixes 2019-11-02 23:16:33 +01:00
Download-Fritz
6c882e1cbc OcMachoLib/OcAppleKernelLib: Support Kernel Resource KEXTs 2019-09-07 17:28:36 +02:00
Download-Fritz
af56e9fd28 OcAppleKernelLib: Correct status code mismatches 2019-09-07 12:21:56 +02:00
Download-Fritz
c698bcb68c OcMachoLib: Fix security and parsing issues 2019-08-28 16:02:19 +02:00
Download-Fritz
4917e8d73e OcGuardLib: Introduce OC_ALIGNOF and deprecate OC_ALIGNED 2019-08-28 15:37:55 +02:00
Download-Fritz
aa490fa0e3 OcAppleKernelLib: Cosmetical changes. 2019-04-05 21:04:05 +02:00
vit9696
dfe7f8f5d4 analysis: Fix warnings 2019-04-03 06:37:38 +03:00
vit9696
7f296b49d0 OcAppleKernelLib: Fix vtable building for dependency kexts 2019-04-01 18:53:44 +03:00
Download-Fritz
350ac16aec OcAppleKernelLib: Fix weak symbol resolution. 2019-03-29 15:59:40 +01:00
Download-Fritz
79f197a69a OcAppleKernelLib: Fix typo 2019-03-29 12:46:24 +01:00
Download-Fritz
2ded74700c OcAppleKernelLib: Reference (Dy)Symtab by the variable for readability. 2019-03-29 12:45:48 +01:00
Download-Fritz
4837db2789 OcAppleKernelLib: Initialize Symtab and DySymtab early. 2019-03-29 12:43:45 +01:00
Download-Fritz
826d078efd OcMachoLib and OcAppleMachoLib: Silence type warnings. 2019-03-29 10:38:42 +01:00
vit9696
8255f23ff0 OcAppleKernelLib: Tune based on profiling data 2019-03-29 01:24:04 +03:00
Download-Fritz
0cd59e79c1 OcAppleKernelLib: Assign expanded size to LinkEdit->FileSize. 2019-03-28 20:05:55 +01:00
Download-Fritz
3569db702d OcAppleKernelLib: Verify indirect symbol pointer alignments. 2019-03-28 19:22:33 +01:00
Download-Fritz
eee3a46295 OcAppleKernelLib: Process indirect symbols. 2019-03-28 19:18:05 +01:00
Download-Fritz
25ea29a92d OcAppleKernelLib: Reassign RelocationsSize after preserving relocs. 2019-03-28 19:06:41 +01:00
Download-Fritz
738c81e03f OcAppleKernelLib: Zero external reloc offset after prelinking. 2019-03-27 18:45:02 +01:00
Download-Fritz
7c8f51f6f2 OcAppleKernelLib: Remove superfluous STAB check. 2019-03-27 15:20:12 +01:00
vit9696
786b78710b OcAppleKernelLib: Fix vtable integer overflow 2019-03-27 02:30:35 +03:00
Download-Fritz
37e30743fd OcAppleKernelLib: Do not resolve STABs or use them for kmod_info/SMCPs. 2019-03-26 23:16:56 +01:00
vit9696
b9988453e3 OcMachoLib: Fix symbol type comparison 2019-03-27 00:10:21 +03:00
Download-Fritz
61244b5fca OcMachoLib and OcAppleKernelLib: Properly error-check section indices. 2019-03-26 21:20:17 +01:00
Download-Fritz
ac1a32f41e OcAppleKernelLib: Clarify SymbolNumber may not be 0 for sections.
Wrapping around to MAX_UINT32 will cause failure as NumSymbols is UINT32, however it's better to be clear.
2019-03-26 09:41:49 +01:00
Download-Fritz
8995e023aa OcAppleKernelLib: Correctly locate section relocation address. 2019-03-26 09:39:15 +01:00
Download-Fritz
9ed4fd0181 OcAppleKernelLib: Prevent VTable patch data from overflowing LinkBuffer. 2019-03-25 20:42:07 +01:00
Download-Fritz
3907c0633c OcAppleKernelLib: Switch VTable lookup to Worker model. 2019-03-25 19:11:23 +01:00
Download-Fritz
d8d60dfd7c OcAppleKernelLib: Self-scanning symbol lookup functions 2019-03-25 19:11:22 +01:00
Download-Fritz
a455f1ebd3 OcAppleKernelLib: Store the Name pointer instead of StringIndex for prelinked symbols. 2019-03-25 19:11:22 +01:00
vit9696
bc0af1edee OcAppleKernelLib: Optimize hot path on vtable lookup 2019-03-24 17:32:58 +03:00
Download-Fritz
3a1cb95a6c OcAppleKernelLib: Join the VTable patching functions. 2019-03-24 13:53:05 +01:00
Download-Fritz
896610d256 OcAppleKernelLib: Rework dependency symbol location. 2019-03-24 13:17:59 +01:00
Download-Fritz
f760c0ca74 OcMachoLib and OcAppleKernelLib: Silence warnings. 2019-03-24 13:17:29 +01:00
Download-Fritz
ac9f3284c4 OcAppleKernelLib: Security updates.
* Check Symbol Tabel retrieval success.
* Check whether the data to retrieve from __LINKEDIT fits the segment.
* Don't assume undefined symbol presence.
2019-03-24 11:13:47 +01:00
vit9696
2a72e67ac0 Move command stripping to Mach-O lib 2019-03-24 11:52:10 +03:00
vit9696
18e2801759 Fix misleading assertions 2019-03-24 02:55:31 +03:00
vit9696
e169a7aa7e Ensure 1:1 disk:vm mach-o matching requirement during kext inject 2019-03-24 01:50:57 +03:00