Excerpts from Christophe Leroy's message of February 9, 2021 1:10 am: > Instead of hard comparing task flags with _TIF_32BIT, use > is_compat_task(). The advantage is that it returns 0 on PPC32 > allthough _TIF_32BIT is always set. > > Signed-off-by: Christophe Leroy <christophe.le...@csgroup.eu>
Reviewed-by: Nicholas Piggin <npig...@gmail.com> > --- > arch/powerpc/kernel/interrupt.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/arch/powerpc/kernel/interrupt.c b/arch/powerpc/kernel/interrupt.c > index 2dac4d2bb1cf..46fd195ca659 100644 > --- a/arch/powerpc/kernel/interrupt.c > +++ b/arch/powerpc/kernel/interrupt.c > @@ -2,6 +2,8 @@ > > #include <linux/context_tracking.h> > #include <linux/err.h> > +#include <linux/compat.h> > + > #include <asm/asm-prototypes.h> > #include <asm/kup.h> > #include <asm/cputime.h> > @@ -118,7 +120,7 @@ notrace long system_call_exception(long r3, long r4, long > r5, > /* May be faster to do array_index_nospec? */ > barrier_nospec(); > > - if (unlikely(is_32bit_task())) { > + if (unlikely(is_compat_task())) { > f = (void *)compat_sys_call_table[r0]; > > r3 &= 0x00000000ffffffffULL; > -- > 2.25.0 > >