You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ppc64: pin the module region base from the MMU mode and page size
64-bit PowerPC defines no MODULES_VADDR, so modules come from vmalloc,
whose base is one of three compile-time constants selected at boot. The
band spans all of them, leaving Q_MODULE_BASE at 683 billion candidates
for a value that is fully determined.
Both selectors are observable without privilege: the translation mode from
/proc/cpuinfo's "MMU" line, the page size from sysconf. Radix pins whatever
the page size; hash needs both, since H_KERN_VIRT_START differs between
hash-4k (0xc0003d0000000000) and hash-64k (0xc008000000000000).
The mode is trustworthy for this: platform code prints it from
radix_enabled(), and that same feature bit selects __vmalloc_start, so it
states the live mode rather than a CPU capability.
Positive evidence only. Book3E's base is not pinned — it is identified
solely by the ABSENCE of the MMU line, which a restricted /proc/cpuinfo
mimics exactly. An unrecognised mode or page size behaves the same way. The
band bound remains in every declining case.
Confirmed on ppc64le-alpine-6.12: the row resolves to a single candidate.
0 commit comments