On Tue, 26 Jan 2021 21:20:59 +0100 Oleg Nesterov <o...@redhat.com> wrote:
> > No, not wrong. Even offset != 0, if the symbol exists in the kernel, > > kprobe_on_func_entry() will check it. > > Yes, but unless I am totally confused... if kprobe_on_func_entry() returns > false, > then trace_kprobe_create() should fail with BAD_RETPROBE even if offset == 0 ? >From what I understand. kprobe_on_func_entry() can return false if you pass in: "MOD:not_yet_loaded_module_func", but this is OK, because when the module is loaded, and the "not_yet_loaded_module_func" exists, the kretprobe will then be added. The strchr(symbol,":") check is to see if "MOD:" (or some other ":" command) is in the name, and we don't want it to fail if it is. Which is why we should have that commented. -- Steve