On Thu, Oct 14, 2021 at 10:50:59PM -0700, Andi Kleen wrote:
Hmm don't you mean the reverse? If you make ioremap shared then OS isI thought you basically create an OperationRegion of SystemMemory type,
and off you go. Maybe the OSPM in Linux is clever and protects
some memory, I wouldn't know.
I investigated this now, and it looks like acpi is using ioremap_cache(). We
can hook into that and force non sharing. It's probably safe to assume that
this is not used on real IO devices.
I think there are still some other BIOS mappings that use just plain
ioremap() though.
-Andi
protected from malicious ACPI?
If you don't make it shared then
malicious ACPI can poke at arbitrary OS memory.
For BIOS I suspect there's no way around it, it needs to be
audited since it's executable.