ARM: fix missing flush_kernel_dcache_page() for noMMU
PATCH 1/1 ARM: fix missing flush_kernel_dcache_page() for noMMU
Commit 1bc3974 moved the implementation of flush_kernel_dcache_page() into in mm/flush.c but did not implement it on noMMU ARM.
---
ARM 7755/1 "handle user space mapped pages in flush_kernel_dcache_page" unfortunately broke the no MMU case. Compile tested with allnoconfig and at91x40_defconfig on v3.10-rc6/v3.9.6 + ARM 7755/1. On older stable kernels (3.2.47 & 3.4.49) compiled with at91x40_defconfig.
- Simon
arch/arm/mm/nommu.c | 6 ++++++ 1 file changed, 6 insertions(+)
arch/arm/mm/nommu.c +6 -0
@@ -57,6 +57,12 @@ void flush_dcache_page(struct page *page) }EXPORT_SYMBOL (flush_dcache_page); +void flush_kernel_dcache_page (struct page *page) +{ +__cpuc_flush_dcache_area (page_address (page),PAGE_SIZE ); +} +EXPORT_SYMBOL (flush_kernel_dcache_page); +void copy_to_user_page (struct vm_area_struct *vma,struct page *page,unsigned long uaddr,void *dst,const void *src,unsigned long len)
Signature · 1 line
1.7.9.5
PATCH 1/1 ARM: fix missing flush_kernel_dcache_page() for noMMU
Hello.
Quoted 1 line · Simon Baatz
Commit 1bc3974
Please also specify that commit's summary line in parens.
Quoted 9 lines
moved the implementation of
flush_kernel_dcache_page()into inmm/flush.cbut did not implement it on noMMU ARM.Signed-off-by Simon Baatz <[email protected]>Cc <[email protected]> # 3.2+: 1bc3974: ARM: 7755/1Cc <[email protected]> # 3.2+---
ARM 7755/1 "handle user space mapped pages in
flush_kernel_dcache_page"
Aha, this is that summary, almost intact.
Quoted 5 lines
unfortunately broke the no MMU case. Compile tested with allnoconfig and
at91x40_defconfigon v3.10-rc6/v3.9.6 + ARM 7755/1. On older stable kernels (3.2.47 & 3.4.49) compiled withat91x40_defconfig.- Simon
WBR, Sergei
PATCH 1/1 ARM: fix missing flush_kernel_dcache_page() for noMMU
In reply to Simon BaatzQuoted 6 lines · Simon Baatz
Commit 1bc3974 moved the implementation of
flush_kernel_dcache_page()into inmm/flush.cbut did not implement it on noMMU ARM.Signed-off-by Simon Baatz <[email protected]>Cc <[email protected]> # 3.2+: 1bc3974: ARM: 7755/1Cc <[email protected]> # 3.2+
Quoted 6 lines
---
ARM 7755/1 "handle user space mapped pages in
flush_kernel_dcache_page" unfortunately broke the no MMU case. Compile tested with allnoconfig andat91x40_defconfigon v3.10-rc6/v3.9.6 + ARM 7755/1. On older stable kernels (3.2.47 & 3.4.49) compiled withat91x40_defconfig.
This fix is needed in linux-next also, which started failing allnoconfig builds since next-20130619.
Kevin
Quoted 23 lines
- Simon
arch/arm/mm/nommu.c | 6 ++++++ 1 file changed, 6 insertions(+)arch/arm/mm/nommu.c +6
-0@@ -57,6 +57,12 @@ void flush_dcache_page(struct page *page) }EXPORT_SYMBOL (flush_dcache_page); +void flush_kernel_dcache_page (struct page *page) +{ +__cpuc_flush_dcache_area (page_address (page),PAGE_SIZE ); +} +EXPORT_SYMBOL (flush_kernel_dcache_page); +void copy_to_user_page (struct vm_area_struct *vma,struct page *page,unsigned long uaddr,void *dst,const void *src,unsigned long len)
PATCH 1/1 ARM: fix missing flush_kernel_dcache_page() for noMMU
Quoted 10 lines · Kevin Hilman
Quoted 8 lines · Simon Baatz
Commit 1bc3974 moved the implementation of
flush_kernel_dcache_page()into inmm/flush.cbut did not implement it on noMMU ARM.Signed-off-by Simon Baatz <[email protected]>Cc <[email protected]> # 3.2+: 1bc3974: ARM: 7755/1Cc <[email protected]> # 3.2+---
Quoted 6 lines
Quoted 4 lines
ARM 7755/1 "handle user space mapped pages in
flush_kernel_dcache_page" unfortunately broke the no MMU case. Compile tested with allnoconfig andat91x40_defconfigon v3.10-rc6/v3.9.6 + ARM 7755/1. On older stable kernels (3.2.47 & 3.4.49) compiled withat91x40_defconfig.Acked-by Kevin Hilman <[email protected]>
Thanks! Reworded according to Sergei's comment, added your Acked-by and submitted to Russell's patch tracking system (7772/1).
- Simon