[PATCH v3] ARM: mm: fix reporting of read-only PMD bits

Kees Cook keescook at chromium.org
Sat Mar 22 14:56:03 EDT 2014


On Sat, Mar 22, 2014 at 10:45 AM, Rob Herring <robherring2 at gmail.com> wrote:
> On Sat, Mar 22, 2014 at 10:16 AM, Kees Cook <keescook at chromium.org> wrote:
>> On non-LPAE ARMv6+, read-only PMD bits are defined with the combination
>> "PMD_SECT_APX | PMD_SECT_AP_WRITE". Adjusted the bit masks to correctly
>> report this.
>>
>> Signed-off-by: Kees Cook <keescook at chromium.org>
>> ---
>> v3:
>>  - check for pre-v6 CPUs on the page table report.
>> v2:
>>  - reorder bits, suggested by Olof.
>> ---
>>  arch/arm/mm/dump.c |   31 +++++++++++++++++++++++++------
>>  1 file changed, 25 insertions(+), 6 deletions(-)
>>
>> diff --git a/arch/arm/mm/dump.c b/arch/arm/mm/dump.c
>> index ef69152f9b52..c1122d266c45 100644
>> --- a/arch/arm/mm/dump.c
>> +++ b/arch/arm/mm/dump.c
>> @@ -121,23 +121,42 @@ static const struct prot_bits pte_bits[] = {
>>
>>  static const struct prot_bits section_bits[] = {
>>  #ifndef CONFIG_ARM_LPAE
>> -       /* These are approximate */
>> +# if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K) || defined(CONFIG_CPU_V7)
>
> You can simplify the ifdef logic like this:
>
> #ifdef CONFIG_ARM_LPAE /* Implies v7 */
>
> #elif __LINUX_ARM_ARCH__ >= 6
>
> #else
> /* v4/v5 */
> #endif

Ah! Perfect, thanks! I'll resend it this way.

-Kees

-- 
Kees Cook
Chrome OS Security



More information about the linux-arm-kernel mailing list