Re: [PATCH bpf-next 2/5] x86/alternative: introduce text_poke_set

From: Peter Zijlstra
Date: Thu May 19 2022 - 03:39:01 EST


On Wed, May 18, 2022 at 06:34:18PM +0000, Song Liu wrote:
>
>
> > On May 18, 2022, at 10:09 AM, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
> >
> > On Sun, May 15, 2022 at 10:40:48PM -0700, Song Liu wrote:
> >> Introduce a memset like API for text_poke. This will be used to fill the
> >> unused RX memory with illegal instructions.
> >
> > FWIW, you're going to use it to set INT3 (0xCC), that's not an illegal
> > instruction. INTO (0xCE) would be an illegal instruction (in 64bit
> > mode).
>
> Hmm… we have been using INT3 as illegal/invalid/special instructions in
> the JIT. I guess they are equally good for this job?

INT3 is right, it's just not illegal. Terminology is everything :-)

INT3 is the breakpoint instruction, it raises #BP, an illegal
instruction would raise #UD. Different exception vectors and such.