On Mon, 2016-22-08 at 01:56:57 UTC, Balbir Singh wrote:
> diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c
> index a4db22f..f162e77 100644
> --- a/arch/powerpc/mm/fault.c
> +++ b/arch/powerpc/mm/fault.c
> @@ -404,6 +404,10 @@ good_area:
> (cpu_has_feature(CPU_FTR_NOEXECUTE) ||
> !(vma->vm_flags & (VM_READ | VM_WRITE))))
> goto bad_area;
> +#ifdef CONFIG_PPC_RADIX_MMU
We shouldn't need the #ifdef, radix_enabled() will be false.
> + if (radix_enabled() && regs->msr & PPC_BIT(35))
> + goto bad_area;
Is it really architected as radix only?
Personally I dislike PPC_BIT(), I'd rather you just used 0x10000000. That way
when I'm staring at a register dump I have some chance of spotting that mask.
Also brackets around the bitwise & would make me feel more comfortable.