On Thu, 9 Feb 2023 07:21:55 +0000 Christophe Leroy <christophe.le...@csgroup.eu> wrote:
> An easy fix would probably be to also check the suffix as a prefixed > instruction with 0 as suffix is not valid : > > diff --git a/arch/powerpc/include/asm/inst.h > b/arch/powerpc/include/asm/inst.h > index 684d3f453282..87084a52598b 100644 > --- a/arch/powerpc/include/asm/inst.h > +++ b/arch/powerpc/include/asm/inst.h > @@ -86,7 +86,7 @@ static inline ppc_inst_t ppc_inst_read(const u32 *ptr) > > static inline bool ppc_inst_prefixed(ppc_inst_t x) > { > - return IS_ENABLED(CONFIG_PPC64) && ppc_inst_primary_opcode(x) == > OP_PREFIX; > + return IS_ENABLED(CONFIG_PPC64) && ppc_inst_primary_opcode(x) == > OP_PREFIX && ppc_inst_suffix(x); > } > > static inline ppc_inst_t ppc_inst_swab(ppc_inst_t x) Your patch works fine for me! Applied on top of v6.2-rc7 and in the resulting kernel the Write fault is gone. Thanks! Regards, Erhard