On Wed, 26 Jul 2017 21:55:34 +0200 Denys Vlasenko <[email protected]> wrote:
> commit bd0b90676c30fe640e7ead919b3e38846ac88ab7 > Author: Masami Hiramatsu <[email protected]> > Date: Wed Mar 29 13:56:56 2017 +0900 > > kprobes/x86: Fix kprobe-booster not to boost far call instructions > > Fix the kprobe-booster not to boost far call instruction, > because a call may store the address in the single-step > execution buffer to the stack, which should be modified > after single stepping. > > Currently, this instruction will be filtered as not > boostable in resume_execution(), so this is not a > critical issue. > ... case 0x70: > return 0; /* can't boost conditional jump */ > + case 0x90: > + return opcode != 0x9a; /* can't boost call far */ > case 0xc0: > > > Masami. You missed the fact that later, there is this: Oops, right. Hmm, it should be reverted. Ingo, could you revert this commit? Thank you! > > default: > /* segment override prefixes are boostable */ > if (opcode == 0x26 || opcode == 0x36 || opcode == 0x3e) > goto retry; /* prefixes */ > /* CS override prefix and call are not boostable */ > return (opcode != 0x2e && opcode != 0x9a); > ^^^^^^^^^^^^^^^^ -- Masami Hiramatsu <[email protected]>

