[PATCH] arm64/cpufeature: Validate feature bits spacing in arm64_ftr_regs[]
Suzuki K Poulose
suzuki.poulose at arm.com
Tue Jun 30 06:16:18 EDT 2020
On 06/30/2020 02:49 AM, Anshuman Khandual wrote:
>
>
> On 06/29/2020 04:12 PM, Suzuki K Poulose wrote:
>> On 06/16/2020 03:25 AM, Anshuman Khandual wrote:
>>> arm64_feature_bits for a register in arm64_ftr_regs[] are in a descending
>>> order as per their shift values. Validate that these features bits are
>>> defined correctly and do not overlap with each other. This check protects
>>> against any inadvertent erroneous changes to the register definitions.
>>>
>>> Cc: Catalin Marinas <catalin.marinas at arm.com>
>>> Cc: Will Deacon <will at kernel.org>
>>> Cc: Suzuki K Poulose <suzuki.poulose at arm.com>
>>> Cc: Mark Brown <broonie at kernel.org>
>>> Cc: Mark Rutland <mark.rutland at arm.com>
>>> Cc: linux-arm-kernel at lists.infradead.org
>>> Cc: linux-kernel at vger.kernel.org
>>> Signed-off-by: Anshuman Khandual <anshuman.khandual at arm.com>
>>> ---
>>> Applies on 5.8-rc1.
>>>
>>> arch/arm64/kernel/cpufeature.c | 45 +++++++++++++++++++++++++++++++---
>>> 1 file changed, 42 insertions(+), 3 deletions(-)
>>> + }
>>> - /* Check that the array is sorted so that we can do the binary search */
>>> - for (i = 1; i < ARRAY_SIZE(arm64_ftr_regs); i++)
>>> + /*
>>> + * Skip the first register. There is nothing to
>>> + * compare against for now.
>>> + */
>>> + if (i == 0)
>>> + continue;
>>
>> You are starting at 1 already, so you may skip this check.
>
> Actually, now we are starting with 0 instead for both i and j.
> Hence this check would be required.
Sorry, ignore that.
Suzuki
More information about the linux-arm-kernel
mailing list