• Michael Ellerman's avatar
    powerpc: Make cpu_spec __ro_after_init · 98eb30fe
    Michael Ellerman authored
    The cpu_spec is a struct holding various information about the CPU the
    kernel is executing on. It's populated early in boot and must not change
    after that.
    
    In particular the cpu_features and mmu_features hold the set of
    discovered CPU/MMU features and are used to set static keys for each
    feature, and do binary patching of assembly. So any change to the
    cpu_features/mmu_features later in boot will not be reflected in
    the state of the static keys or patched code.
    
    There is already logic to check that cpu_features/mmu_features don't
    change, see check_features() in feature-fixups.c.
    
    But as another layer of protection the entire cpu_spec should be read
    only after init, annotate it as such.
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    Link: https://msgid.link/20231025012452.1985680-1-mpe@ellerman.id.au
    98eb30fe
cputable.c 4.28 KB