Emanuele and mugurc
190ed6c8fb
feat(libkernel): guest memory protection and VirtualQuery on macOS hosts
...
- mprotect: the guest rounds a range to its 16 KiB pages. A Mach-O image
is loaded at a multiple of the host page size only (4 KiB under
Rosetta), so the pages are counted from where the ELF address 0 of the
image holding the range was loaded, and a rounded edge smaller than a
guest page that lies in the gap between two segments, where no host page
exists, is left out. The write watch is told the new protection.
- sceKernelVirtualQuery reads the region with mach_vm_region.
- sceKernelMunlockall unlocks the ranges libkernel locked, one by one:
macOS has no munlockall, which fails there with ENOSYS and would
overwrite errno.
- The stack protect test reads page protections with mach_vm_region.
This is mugurc's f66a4df741 from his macOS series, without the mlock
check that #10889 adds.
Co-authored-by: mugurc <[email protected] >
2026-10-27 08:16:35 +01:00
..
2026-10-27 08:16:35 +01:00
2026-10-27 08:16:35 +01:00
2026-10-27 06:13:49 +01:00
2026-10-24 23:17:42 +03:00
2026-10-25 14:16:45 +01:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-27 15:02:15 +13:00
2026-10-27 07:59:23 +01:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-25 18:13:38 +01:00
2026-10-27 10:57:52 +13:00
2026-10-25 18:13:38 +01:00
2026-10-25 00:02:34 +00:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:29:15 -05:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:47 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-25 02:55:32 +02:00
2026-10-24 23:17:42 +03:00
2026-10-25 15:10:46 +04:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:37 +03:00
2026-10-24 23:17:42 +03:00
2026-10-27 14:05:56 +13:00
2026-10-25 12:53:43 +00:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-25 20:52:31 +01:00
2026-10-25 15:10:46 +04:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:14:16 +00:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-26 19:49:22 +01:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-26 16:11:21 +00:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:50:25 +03:00
2026-10-25 14:16:45 +01:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-25 09:41:19 +00:00
2026-10-25 12:53:43 +00:00
2026-10-24 23:17:42 +03:00
2026-10-25 12:53:43 +00:00
2026-10-25 12:31:23 +00:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-26 14:35:17 +01:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-27 05:29:29 +01:00
2026-10-24 23:17:42 +03:00
2026-10-27 07:59:02 +01:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-25 13:33:09 +13:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-26 12:39:18 +01:00
2026-10-26 00:44:55 +00:00
2026-10-26 03:27:19 +00:00
2026-10-25 23:43:52 +00:00
2026-10-25 14:16:45 +01:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:49 +03:00
2026-10-26 05:32:09 +13:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:47 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-25 13:29:54 +13:00
2026-10-24 23:17:42 +03:00
2026-10-25 07:47:43 +00:00
2026-10-26 20:10:35 +01:00
2026-10-25 14:16:45 +01:00
2026-10-24 23:17:42 +03:00
2026-10-25 16:09:56 +02:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-26 02:07:43 +05:30
2026-10-25 14:09:10 +07:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:49 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-25 13:56:59 -03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-25 02:39:13 +02:00
2026-10-26 13:34:58 +01:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-26 05:31:38 +13:00
2026-10-26 10:50:37 +01:00
2026-10-26 20:17:48 +01:00
2026-10-27 10:57:14 +13:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-25 14:55:32 +05:30
2026-10-24 23:17:42 +03:00
2026-10-24 22:11:32 -04:00
2026-10-24 23:17:48 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-27 05:38:46 +01:00
2026-10-25 01:57:42 -07:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-27 10:56:58 +13:00
2026-10-27 10:56:58 +13:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-25 04:17:49 +00:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-26 18:02:07 +00:00
2026-10-27 11:05:51 +13:00
2026-10-25 09:40:31 +00:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-26 06:19:12 +00:00
2026-10-27 18:19:42 +13:00
2026-10-26 13:15:02 +00:00
2026-10-24 23:17:42 +03:00
2026-10-25 13:07:35 +02:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-26 13:15:02 +00:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:16:37 +00:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-26 13:15:02 +00:00
2026-10-26 18:33:16 +04:00
2026-10-25 13:06:35 +02:00
2026-10-26 18:33:16 +04:00
2026-10-27 00:58:28 +13:00
2026-10-25 17:40:59 +01:00
2026-10-25 01:51:04 +01:00
2026-10-25 12:06:39 +13:00
2026-10-26 16:06:06 +05:30
2026-10-25 12:06:39 +13:00
2026-10-26 15:33:03 +05:30
2026-10-24 23:17:42 +03:00
2026-10-26 12:48:09 +01:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-26 11:05:05 +13:00
2026-10-24 23:17:42 +03:00
2026-10-25 14:16:45 +01:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-26 14:17:59 +13:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-27 09:13:12 +13:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-26 01:41:41 +05:30
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-26 04:34:43 +05:30
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-26 17:41:34 -03:00
2026-10-25 22:11:20 +08:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-26 19:59:27 +13:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-25 14:16:45 +01:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-25 13:07:35 +02:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-25 14:39:49 +03:00
2026-10-24 23:17:42 +03:00
2026-10-26 21:22:32 +01:00
2026-10-24 22:30:02 +02:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:47 +03:00
2026-10-27 18:19:28 +13:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-25 14:15:27 -07:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-26 22:06:56 +08:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-25 01:50:33 +02:00
2026-10-24 23:17:47 +03:00
2026-10-24 23:17:42 +03:00
2026-10-25 02:58:24 +01:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-25 11:41:09 +05:30
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-25 20:03:05 +07:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-27 14:57:01 +13:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-25 14:16:45 +01:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:09:42 +00:00
2026-10-27 10:33:44 +13:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-25 13:29:54 +13:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 23:17:42 +03:00
2026-10-24 21:05:21 -03:00