Skip to content

Enable Kirshara queue protections on macOS - #339

Open
Guffawaffle wants to merge 1 commit into
STFC-Mod:devfrom
Guffawaffle:fix/macos-kirshara-parity
Open

Guffawaffle wants to merge 1 commit into
STFC-Mod:devfrom
Guffawaffle:fix/macos-kirshara-parity

Conversation

@Guffawaffle

Copy link
Copy Markdown
Contributor

Faster Queue Recovery and Thin Queue Protection currently compile to no-ops on macOS. Enable their existing implementations on Apple Silicon and Intel, using the host ABI for the validated course-response aggregate. Queue Address Guard already supports macOS. Queue policy, settings, defaults and hook ownership are unchanged.

This is a standalone change from dev; it does not depend on settings PR #333. Includes focused startup, cross-fleet queue, recall, destroyed-head and off/on tester instructions.

Validation: three independent semantic reviews, Windows release build, all three queue-policy suites, diff and upstream scope guards pass. Historical Mac client 199 inspection supports the aggregate ABI and all seven detour extents on both architectures. Current Mac architecture builds, current-client native fit and exact-artifact gameplay remain pending; historical evidence does not qualify a newer client.

#include <Windows.h>
// Use the host ABI for the 24-byte value-type callback on Windows and both Mac architectures.
// Validate the managed layout before installing.
#if (defined(_WIN32) && defined(_M_X64)) || (defined(__APPLE__) && (defined(__arm64__) || defined(__x86_64__)))

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems redundant considering this is the platforms we cover?

// Windows x64 callback ABI is validated against running metadata; current native fit is recorded separately.
#if defined(_WIN32) && defined(_M_X64)
// Shared 64-bit managed layout; incompatible runtime contracts leave the feature unavailable.
#if (defined(_WIN32) && defined(_M_X64)) || (defined(__APPLE__) && (defined(__arm64__) || defined(__x86_64__)))

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same for this?

@netniV netniV added invalid This doesn't seem right and removed needs testing labels Oct 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

invalid This doesn't seem right

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants