8f502d906f81603d5f94f3b514d9c148660ab84c
[openwrt/staging/yousong.git] /
1 From patchwork Tue Feb 7 17:44:58 2017
2 Content-Type: text/plain; charset="utf-8"
3 MIME-Version: 1.0
4 Content-Transfer-Encoding: 7bit
5 Subject: ARC: [arcompact] brown paper bag bug in unaligned access delay slot
6 fixup
7 From: Vineet Gupta <Vineet.Gupta1@synopsys.com>
8 X-Patchwork-Id: 725238
9 Message-Id: <1486489498-9221-1-git-send-email-vgupta@synopsys.com>
10 To: Linus Torvalds <torvalds@linux-foundation.org>
11 Cc: Vineet Gupta <Vineet.Gupta1@synopsys.com>,
12 linux-snps-arc@lists.infradead.org, Jo-Philipp Wich <jo@mein.io>,
13 linux-kernel@vger.kernel.org, stable@vger.kernel.org
14 Date: Tue, 7 Feb 2017 09:44:58 -0800
15
16 Reported-by: Jo-Philipp Wich <jo@mein.io>
17 Fixes: 9aed02feae57bf7 ("ARC: [arcompact] handle unaligned access delay slot")
18 Cc: linux-kernel@vger.kernel.org
19 Cc: linux-snps-arc@lists.infradead.org
20 Cc: stable@vger.kernel.org
21 Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
22 ---
23 arch/arc/kernel/unaligned.c | 2 +-
24 1 file changed, 1 insertion(+), 1 deletion(-)
25
26 diff --git a/arch/arc/kernel/unaligned.c b/arch/arc/kernel/unaligned.c
27 index 91ebe382147f..5f69c3bd59bb 100644
28 --- a/arch/arc/kernel/unaligned.c
29 +++ b/arch/arc/kernel/unaligned.c
30 @@ -243,7 +243,7 @@ int misaligned_fixup(unsigned long address, struct pt_regs *regs,
31
32 /* clear any remanants of delay slot */
33 if (delay_mode(regs)) {
34 - regs->ret = regs->bta ~1U;
35 + regs->ret = regs->bta & ~1U;
36 regs->status32 &= ~STATUS_DE_MASK;
37 } else {
38 regs->ret += state.instr_len;