Explorar o código

[MIPS] RM9000: Fix buggy I-cache workaround.

Signed-off-by: Thomas Koeller <thomas.koeller@baslerweb.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

Thomas Koeller %!s(int64=19) %!d(string=hai) anos
pai
achega
387a154d0d
Modificáronse 1 ficheiros con 1 adicións e 1 borrados
  1. 1 1
      arch/mips/kernel/signal-common.h

+ 1 - 1
arch/mips/kernel/signal-common.h

@@ -176,7 +176,7 @@ get_sigframe(struct k_sigaction *ka, struct pt_regs *regs, size_t frame_size)
 	if ((ka->sa.sa_flags & SA_ONSTACK) && (sas_ss_flags (sp) == 0))
 	if ((ka->sa.sa_flags & SA_ONSTACK) && (sas_ss_flags (sp) == 0))
 		sp = current->sas_ss_sp + current->sas_ss_size;
 		sp = current->sas_ss_sp + current->sas_ss_size;
 
 
-	return (void __user *)((sp - frame_size) & (ICACHE_REFILLS_WORKAROUND_WAR ? 32 : ALMASK));
+	return (void __user *)((sp - frame_size) & (ICACHE_REFILLS_WORKAROUND_WAR ? ~(cpu_icache_line_size()-1) : ALMASK));
 }
 }
 
 
 static inline int install_sigtramp(unsigned int __user *tramp,
 static inline int install_sigtramp(unsigned int __user *tramp,