> diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
> index 0c9e392..3ddddc7 100644
> --- a/fs/proc/task_mmu.c
> +++ b/fs/proc/task_mmu.c
> @@ -679,6 +679,7 @@ static void show_smap_vma_flags(struct seq_file *m, 
> struct vm_area_struct *vma)
>               [ilog2(VM_PKEY_BIT1)]   = "",
>               [ilog2(VM_PKEY_BIT2)]   = "",
>               [ilog2(VM_PKEY_BIT3)]   = "",
> +             [ilog2(VM_PKEY_BIT4)]   = "",
>  #endif /* CONFIG_ARCH_HAS_PKEYS */
...
> +#if defined(CONFIG_PPC)
> +# define VM_PKEY_BIT4        VM_HIGH_ARCH_4
> +#else 
> +# define VM_PKEY_BIT4        0
> +#endif
>  #endif /* CONFIG_ARCH_HAS_PKEYS */

That new line boils down to:

                [ilog2(0)]      = "",

on x86.  It wasn't *obvious* to me that it is OK to do that.  The other
possibly undefined bits (VM_SOFTDIRTY for instance) #ifdef themselves
out of this array.

I would just be a wee bit worried that this would overwrite the 0 entry
("??") with "".

Reply via email to