Christophe Leroy <christophe.le...@csgroup.eu> writes: > There is no point in modifying MSR_LE bit on CPUs not supporting > little endian.
Isn't that an ABI break? set_endian(PR_ENDIAN_BIG) should work on a big endian CPU, even if it does nothing useful. cheers > diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c > index 185beb290580..b2b9919795a2 100644 > --- a/arch/powerpc/kernel/process.c > +++ b/arch/powerpc/kernel/process.c > @@ -1995,6 +1995,10 @@ int set_endian(struct task_struct *tsk, unsigned int > val) > { > struct pt_regs *regs = tsk->thread.regs; > > + if (!cpu_has_feature(CPU_FTR_PPC_LE) && > + !cpu_has_feature(CPU_FTR_REAL_LE)) > + return -EINVAL; > + > if ((val == PR_ENDIAN_LITTLE && !cpu_has_feature(CPU_FTR_REAL_LE)) || > (val == PR_ENDIAN_PPC_LITTLE && !cpu_has_feature(CPU_FTR_PPC_LE))) > return -EINVAL; > -- > 2.25.0