Re: [PATCH 1/3] mseal sysmap: Add mseal_system_mappings= boot parameter

From: Chris Down

Date: Wed Oct 28 2026 - 01:53:00 EST


Hi Jeff,

Thanks for the review!

Jeff Xu writes:
Could we please keep the test coverage for the unsealed [vdso] case and
avoid unconditionally skipping whenever [vdso] is unsealed?

There are two regressions I'd love for us to still be able to catch:

1. Kernel or config regressions when sealing is expected to be on:

Yeah agreed. With the cleanup it matters even more I think because when sealing is set in one place the most likely regression is probably one that unseals everything at once.

2. Regressions in the new `no_mseal_sys_mappings` boot parameter itself:

In v2 I can check /proc/cmdline for no_mseal_sys_mappings to do that.

Lorenzo, I think that also may inform your question about whether checking for the disabled case is redundant, right?

When booted with `no_mseal_sys_mappings` (or when unsealed), running
the assertions in Patch 3 (verifying system mappings have no `sl` flag
and that `munmap()` / `mremap()` -- and ideally `mprotect(PROT_READ |
PROT_WRITE)` -- on [vdso] succeed) directly verifies that the boot
parameter works and doesn't regress.

Sounds good.

or keep strict failure as an option (e.g. `./sysmap_is_sealed` fails if
unsealed without the boot param, while `run_vmtests.sh` passes a flag
like `--allow-disabled` when `CONFIG_MSEAL_SYSTEM_MAPPINGS` may not be
enabled), so CI environments that expect sealing still catch a broken
seal.

I like this and I think we can do it without adding some of the complexity that Lorenzo was not so happy about:

- Have check_sealed skip as usual when [vdso] isn't sealed and param is not set
- A new test, say expect_sealed, fails in the same case
- run_vmtests runs with -T expect_sealed when CONFIG_MSEAL_SYSTEM_MAPPINGS=y

That should be pretty minimal. Lorenzo, Jeff, how does that sound?