File tree Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Original file line number Diff line number Diff line change @@ -1795,10 +1795,14 @@ int register_jprobe(struct jprobe *jp)
1795
1795
unsigned long addr , offset ;
1796
1796
struct kprobe * kp = & jp -> kp ;
1797
1797
1798
- /* Verify probepoint is a function entry point */
1798
+ /*
1799
+ * Verify probepoint as well as the jprobe handler are
1800
+ * valid function entry points.
1801
+ */
1799
1802
addr = arch_deref_entry_point (jp -> entry );
1800
1803
1801
- if (kallsyms_lookup_size_offset (addr , NULL , & offset ) && offset == 0 ) {
1804
+ if (kallsyms_lookup_size_offset (addr , NULL , & offset ) && offset == 0 &&
1805
+ kprobe_on_func_entry (kp -> addr , kp -> symbol_name , kp -> offset )) {
1802
1806
kp -> pre_handler = setjmp_pre_handler ;
1803
1807
kp -> break_handler = longjmp_break_handler ;
1804
1808
return register_kprobe (kp );
You can’t perform that action at this time.
0 commit comments