Skip to content

Comments

Fix external kernel memory region calculation#495

Merged
slp merged 1 commit intocontainers:mainfrom
ericcurtin:fw-size
Jan 9, 2026
Merged

Fix external kernel memory region calculation#495
slp merged 1 commit intocontainers:mainfrom
ericcurtin:fw-size

Conversation

@ericcurtin
Copy link
Member

The external kernel payload type was not passing the firmware size to the architecture-specific memory region calculation function. This could lead to incorrect memory layout when using external kernels with firmware. The change ensures the firmware size is properly accounted for in the memory region setup. This inconsistency caused VM creation to fail with HV_DENIED (-85377017) on macOS when using direct kernel boot with the Hypervisor.framework.

The external kernel payload type was not passing the firmware size to
the architecture-specific memory region calculation function. This could
lead to incorrect memory layout when using external kernels with
firmware. The change ensures the firmware size is properly accounted for
in the memory region setup. This inconsistency caused VM creation to
fail with HV_DENIED (-85377017) on macOS when using direct kernel boot
with the Hypervisor.framework.

Signed-off-by: Eric Curtin <eric.curtin@docker.com>
@ericcurtin
Copy link
Member Author

@slp @mtjhrc PTAL

@slp
Copy link
Collaborator

slp commented Jan 9, 2026

TBH, I haven't considered the possibility of preloading a firmware AND a kernel, since usually the first is there just to load the second, but I guess there may be use cases where you want both (something we need to consider before dropping the EFI flavor, since the current API doesn't allow for it). Thanks @ericcurtin !

@slp slp merged commit 3d75d20 into containers:main Jan 9, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants