• Julien Grall's avatar
    arm64: cpuinfo: Missing NULL terminator in compat_hwcap_str · e1b36a1a
    Julien Grall authored
    commit f228b494 upstream.
    
    The loop that browses the array compat_hwcap_str will stop when a NULL
    is encountered, however NULL is missing at the end of array. This will
    lead to overrun until a NULL is found somewhere in the following memory.
    In reality, this works out because the compat_hwcap2_str array tends to
    follow immediately in memory, and that *is* terminated correctly.
    Furthermore, the unsigned int compat_elf_hwcap is checked before
    printing each capability, so we end up doing the right thing because
    the size of the two arrays is less than 32. Still, this is an obvious
    mistake and should be fixed.
    
    Note for backporting: commit 12d11817 ("arm64: Move
    /proc/cpuinfo handling code") moved this code in v4.4. Prior to that
    commit, the same change should be made in arch/arm64/kernel/setup.c.
    
    Fixes: 44b82b77 "arm64: Fix up /proc/cpuinfo"
    Signed-off-by: default avatarJulien Grall <julien.grall@arm.com>
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    [ kamal: backport to 4.2-stable: applied to setup.c ]
    Signed-off-by: default avatarKamal Mostafa <kamal@canonical.com>
    e1b36a1a
setup.c 13.8 KB