Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aaaaba57 authored by Vincent Chen's avatar Vincent Chen Committed by Greentime Hu
Browse files

nds32: Disable local irq before calling cpu_dcache_wb_page in copy_user_highpage



In order to ensure that all data in source page has been written back
to memory before copy_page, the local irq shall be disabled before
calling cpu_dcache_wb_page(). In addition, removing unneeded page
invalidation for 'to' page.

Signed-off-by: default avatarVincent Chen <vincentc@andestech.com>
Reviewed-by: default avatarGreentime Hu <greentime@andestech.com>
Signed-off-by: default avatarGreentime Hu <greentime@andestech.com>
parent 5b9f9569
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -175,11 +175,9 @@ void copy_user_highpage(struct page *to, struct page *from,
	pto = page_to_phys(to);
	pfrom = page_to_phys(from);

	local_irq_save(flags);
	if (aliasing(vaddr, (unsigned long)kfrom))
		cpu_dcache_wb_page((unsigned long)kfrom);
	if (aliasing(vaddr, (unsigned long)kto))
		cpu_dcache_inval_page((unsigned long)kto);
	local_irq_save(flags);
	vto = kremap0(vaddr, pto);
	vfrom = kremap1(vaddr, pfrom);
	copy_page((void *)vto, (void *)vfrom);