Hi everyone. I wrote a kernel module to test something. The module uses kprobe and kretprobe, here is a bug I met today. The pre_handler of kprobe, calls `do_something`. The probed instructions are in the middle of a function. The entry_handler of kretprobe, also calls `do_something`. `do_something` calls `kmalloc`+`memset`. Back to userspace, when I have all the functions probed, then the test program cause a high CPU usage, and the keyboard doesn't work. The system does not panic when I set softlockup_panic=1. If `do_something` is called by entry_handler of kretprobe, the module works fine. The bug happens when `do_something` called by the pre_handler of kprobe. So I use "#if 0" to locate the bug. It turns out to be `kmalloc`+`memset`. When I change that to `kzalloc`, problem solved. Then I get confused. `kzalloc` just calls `kmalloc` with a `__GFP_ZERO`. Why the bug only happens when pre_handler of kprobe gets called? Is it necessary to post the source code here? Thanks. _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies