Messages in this thread | | | Subject | Re: [PATCH] arm64: kprobe: Enable OPTPROBE for arm64 | From | "liuqi (BA)" <> | Date | Mon, 2 Aug 2021 20:02:47 +0800 |
| |
On 2021/8/2 11:52, liuqi (BA) wrote: [...]
>> This might be the direction to go later. Anyway, "Rome wasn't built >> in a day", for this stage, we might focus on optprobe for the case >> of non-randomized module region :-). >> >> BTW, @liuqi, if users set "nokaslr" in bootargs, will your optprobe >> always work and not fall back to normal kprobe even we remove the >> dependency on RANDOMIZED_MODULE_REGION_FULL? >> > Hi Barry, > > I do some tests on Hip08 platform, using nokaslr in booting cmdline and > remove dependency on RANDOMIZED_MODULE_REGION_FULL, optprobe seems work. > Here is the log: > > estuary:/$ uname -a > Linux (none) 5.13.0-rc4+ #37 SMP PREEMPT Mon Aug 2 08:13:37 CST 2021 > aarch64 GNU/Linux > estuary:/$ zcat /proc/config.gz | grep RANDOMIZE_MODULE_REGION > CONFIG_RANDOMIZE_MODULE_REGION_FULL=y > estuary:/$ zcat /proc/config.gz | grep OPTPROBE > CONFIG_OPTPROBES=y > CONFIG_HAVE_OPTPROBES=y > estuary:/$ cat /proc/cmdline > console=ttyAMA0,115200 earlycon=pl011,0x9000000 kpti=off nokaslr > estuary:/$ cat /sys/bus/platform/devices/hello_driver/kprobe_test > [ 61.304143] do_empty returned 0 and took 200 ns to execute > [ 61.304662] do_empty returned 0 and took 110 ns to execute > [ 61.305196] do_empty returned 0 and took 100 ns to execute > [ 61.305745] do_empty returned 0 and took 90 ns to execute > [ 61.306262] do_empty returned 0 and took 90 ns to execute > [ 61.306781] do_empty returned 0 and took 90 ns to execute > [ 61.307286] do_empty returned 0 and took 90 ns to execute > [ 61.307798] do_empty returned 0 and took 90 ns to execute > [ 61.308314] do_empty returned 0 and took 90 ns to execute > [ 61.308828] do_empty returned 0 and took 90 ns to execute > [ 61.309323] do_empty returned 0 and took 80 ns to execute > [ 61.309832] do_empty returned 0 and took 80 ns to execute > [ 61.310357] do_empty returned 0 and took 80 ns to execute > [ 61.310871] do_empty returned 0 and took 80 ns to execute > [ 61.311361] do_empty returned 0 and took 80 ns to execute > [ 61.311851] do_empty returned 0 and took 90 ns to execute > [ 61.312358] do_empty returned 0 and took 90 ns to execute > [ 61.312879] do_empty returned 0 and took 80 ns to execute > > Thanks, > Qi > Hi Barry,
I've done test on Hip08 platform using nokaslr in booting cmdline and remove dependency on RANDOMIZED_MODULE_REGION_FULL, on following 4 cases: 1. probed code in module, pre_handler in kernel. 2. probed code in kernel, pre_handler in kernel. 3. probed code in module, pre_handler in module. 4. probed code in kernel, pre_handler in module.
and optprobe works in these 4 cases.
Thanks, Qi >>> >>> Thank you, >>> >>> -- >>> Masami Hiramatsu <mhiramat@kernel.org> >> >> Thanks >> Barry >> . >> > > .
| |