]> git.baikalelectronics.ru Git - kernel.git/commit
x86/alternative: Relax text_poke_bp() constraint
authorPeter Zijlstra <peterz@infradead.org>
Sat, 4 Dec 2021 13:43:43 +0000 (14:43 +0100)
committerBorislav Petkov <bp@suse.de>
Thu, 9 Dec 2021 10:04:50 +0000 (11:04 +0100)
commitfada89bdf1b8c4c423230f9dac756ce8cd9ca951
treeb8a2014f125f8adc56d5c9b01b6e9fd1837daab3
parentbd069c757eddfbbcdd5c3167651e521deead36b0
x86/alternative: Relax text_poke_bp() constraint

Currently, text_poke_bp() is very strict to only allow patching a
single instruction; however with straight-line-speculation it will be
required to patch: ret; int3, which is two instructions.

As such, relax the constraints a little to allow int3 padding for all
instructions that do not imply the execution of the next instruction,
ie: RET, JMP.d8 and JMP.d32.

While there, rename the text_poke_loc::rel32 field to ::disp.

Note: this fills up the text_poke_loc structure which is now a round
  16 bytes big.

  [ bp: Put comments ontop instead of on the side. ]

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lore.kernel.org/r/20211204134908.082342723@infradead.org
arch/x86/kernel/alternative.c