[PATCH 1/5] Fix spurious segmentation faults
Bryan Wu
bryan.wu at canonical.com
Thu Jul 1 05:07:47 UTC 2010
Sebjan,
I heard this bug from Ogra before. And this patch touches the ARM common MM
code, I also failed to find it in upstream mainline.
I think if you or Rob can pointed out in the git log, it is better for us to review.
Ogra, do we have a bug in LP about this?
BTW, CONFIG_CPU_USE_DOMAINS=n in our ti-omap4 config
Thanks,
-Bryan
On 07/01/2010 01:02 PM, Bryan Wu wrote:
> From: Rob Clark <rob at ti.com>
>
> This patch helps fixing some 'segmentation faults' seen on Maverick FS.
> It is an import of a part of an ARM patch.
>
> Signed-off-by: Sebastien Jan <s-jan at ti.com>
> ---
> arch/arm/mm/proc-macros.S | 9 ++++++++-
> arch/arm/mm/proc-v7.S | 3 +++
> 2 files changed, 11 insertions(+), 1 deletions(-)
>
> diff --git a/arch/arm/mm/proc-macros.S b/arch/arm/mm/proc-macros.S
> index 7d63bea..1ccf579 100644
> --- a/arch/arm/mm/proc-macros.S
> +++ b/arch/arm/mm/proc-macros.S
> @@ -99,7 +99,11 @@
> * 110x 0 1 0 r/w r/o
> * 11x0 0 1 0 r/w r/o
> * 1111 0 1 1 r/w r/w
> - */
> + *
> + * If !CONFIG_CPU_USE_DOMAINS, the following permissions are changed:
> + * 110x 1 1 1 r/o r/o
> + * 11x0 1 1 1 r/o r/o
> + */
> .macro armv6_mt_table pfx
> \pfx\()_mt_table:
> .long 0x00 @ L_PTE_MT_UNCACHED
> @@ -138,8 +142,11 @@
>
> tst r1, #L_PTE_USER
> orrne r3, r3, #PTE_EXT_AP1
> +#ifdef CONFIG_CPU_USE_DOMAINS
> + @ allow kernel read/write access to read-only user pages
> tstne r3, #PTE_EXT_APX
> bicne r3, r3, #PTE_EXT_APX | PTE_EXT_AP0
> +#endif
>
> tst r1, #L_PTE_EXEC
> orreq r3, r3, #PTE_EXT_XN
> diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
> index df74916..c1c3fe0 100644
> --- a/arch/arm/mm/proc-v7.S
> +++ b/arch/arm/mm/proc-v7.S
> @@ -152,8 +152,11 @@ ENTRY(cpu_v7_set_pte_ext)
>
> tst r1, #L_PTE_USER
> orrne r3, r3, #PTE_EXT_AP1
> +#ifdef CONFIG_CPU_USE_DOMAINS
> + @ allow kernel read/write access to read-only user pages
> tstne r3, #PTE_EXT_APX
> bicne r3, r3, #PTE_EXT_APX | PTE_EXT_AP0
> +#endif
>
> tst r1, #L_PTE_EXEC
> orreq r3, r3, #PTE_EXT_XN
More information about the kernel-team
mailing list