On Mon, Apr 29, 2019 at 1:06 PM Linus Torvalds torvalds@linux-foundation.org wrote:
Only do the 'call' instructions one at a time. Why would you change _existing_ code?
Side note: if you want to, you can easily batch up rewriting 'call' instructions to the same target using the exact same code. You just need to change the int3 handler case to calculate the bp_int3_call_return from the fixed one-time address to use sopmething like
this_cpu_write(bp_call_return, int3_address-1+bp_int3_call_size);
instead (and you'd need to also teach the function that there's not just a single int3 live at a time)
Linus