linux/arch/powerpc/lib
Anders Roxell a29341e486 powerpc/lib/sstep: Fix build errors with newer binutils
commit 8219d31eff upstream.

Building tinyconfig with gcc (Debian 11.2.0-16) and assembler (Debian
2.37.90.20220207) the following build error shows up:

  {standard input}: Assembler messages:
  {standard input}:10576: Error: unrecognized opcode: `stbcx.'
  {standard input}:10680: Error: unrecognized opcode: `lharx'
  {standard input}:10694: Error: unrecognized opcode: `lbarx'

Rework to add assembler directives [1] around the instruction.  The
problem with this might be that we can trick a power6 into
single-stepping through an stbcx. for instance, and it will execute that
in kernel mode.

[1] https://sourceware.org/binutils/docs/as/PowerPC_002dPseudo.html#PowerPC_002dPseudo

Fixes: 350779a29f ("powerpc: Handle most loads and stores in instruction emulation code")
Cc: stable@vger.kernel.org # v4.14+
Co-developed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
Reviewed-by: Segher Boessenkool <segher@kernel.crashing.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20220224162215.3406642-3-anders.roxell@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-04-08 14:24:04 +02:00
..
alloc.c
checksum_32.S
checksum_64.S
checksum_wrappers.c powerpc/net: Switch csum_and_copy_{to/from}_user to user_access block 2021-03-26 23:19:43 +11:00
code-patching.c powerpc/lib: Add helper to check if offset is within conditional branch range 2021-10-07 18:52:33 +11:00
copy_32.S
copy_mc_64.S
copypage_64.S
copypage_power7.S
copyuser_64.S
copyuser_power7.S
crtsavres.S
div64.S
error-inject.c powerpc/64s: avoid reloading (H)SRR registers if they are still valid 2021-06-25 00:06:55 +10:00
feature-fixups-test.S
feature-fixups.c powerpc/security: Use a mutex for interrupt exit code patching 2021-11-18 19:17:19 +01:00
hweight_64.S
ldstfp.S
locks.c
Makefile powerpc/32: Fix boot failure with GCC latent entropy plugin 2022-02-01 17:27:06 +01:00
mem_64.S
memcmp_32.S
memcmp_64.S
memcpy_64.S
memcpy_power7.S
pmem.c
quad.S
restart_table.c powerpc/64s: add a table of implicit soft-masked addresses 2021-06-30 22:21:20 +10:00
rheap.c
sstep.c powerpc/lib/sstep: Fix build errors with newer binutils 2022-04-08 14:24:04 +02:00
string_32.S
string_64.S
string.S
strlen_32.S
test_code-patching.S
test_emulate_step_exec_instr.S
test_emulate_step.c powerpc/64s: avoid reloading (H)SRR registers if they are still valid 2021-06-25 00:06:55 +10:00
vmx-helper.c
xor_vmx_glue.c
xor_vmx.c
xor_vmx.h