[PATCH v2 39/52] m68k: sun3: Fix context restore in flush_tlb_range()

From: Geert Uytterhoeven
Date: Wed Sep 13 2023 - 10:09:32 EST


When building with W=1:

In file included from arch/m68k/kernel/traps.c:42:
arch/m68k/include/asm/tlbflush.h: In function ‘flush_tlb_range’:
arch/m68k/include/asm/tlbflush.h:191:28: warning: variable ‘oldctx’ set but not used [-Wunused-but-set-variable]
191 | unsigned char seg, oldctx;
| ^~~~~~

Indeed, the old context is saved, but never restored. Fix this by
adding the missing call to sun3_put_context().

Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Acked-by: Arnd Bergmann <arnd@xxxxxxxx>
---
v2:
- Add Acked-by.

Compile-tested only.
This issue seems to have been present since the introduction of Sun3
support in v2.4.0.
---
arch/m68k/include/asm/tlbflush.h | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/m68k/include/asm/tlbflush.h b/arch/m68k/include/asm/tlbflush.h
index b882e2f4f5516f8d..3ab329a03c76c8d8 100644
--- a/arch/m68k/include/asm/tlbflush.h
+++ b/arch/m68k/include/asm/tlbflush.h
@@ -208,6 +208,7 @@ static inline void flush_tlb_range (struct vm_area_struct *vma,
next:
start += SUN3_PMEG_SIZE;
}
+ sun3_put_context(oldctx);
}

static inline void flush_tlb_kernel_range(unsigned long start, unsigned long end)
--
2.34.1