]> www.infradead.org Git - nvme.git/commit
powerpc: Check only single values are passed to CPU/MMU feature checks
authorMichael Ellerman <mpe@ellerman.id.au>
Thu, 9 May 2024 12:12:48 +0000 (22:12 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 11 Jul 2024 07:31:55 +0000 (17:31 +1000)
commitdb25a9625dbc3aa6613c0347f574689c248a3d0b
tree56b670922f624c27addf0eddce2f681d6759b05b
parent14196e47c5ffe32af7ed5a51c9e421c5ea5bccce
powerpc: Check only single values are passed to CPU/MMU feature checks

cpu_has_feature()/mmu_has_feature() are only able to check a single
feature at a time, but there is no enforcement of that.

In fact, as fixed in the previous commit, there was code that was
passing multiple values to cpu_has_feature().

So add a check that only a single feature is passed using popcount.

Note that the test allows 0 or 1 bits to be set, because some code
relies on cpu_has_feature(0) being false, the check with
CPU_FTRS_POSSIBLE ensures that. See for example CPU_FTR_PPC_LE.

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20240509121248.270878-3-mpe@ellerman.id.au
arch/powerpc/include/asm/cpu_has_feature.h
arch/powerpc/include/asm/mmu.h