File tree Expand file tree Collapse file tree 1 file changed +9
-5
lines changed Expand file tree Collapse file tree 1 file changed +9
-5
lines changed Original file line number Diff line number Diff line change @@ -2037,19 +2037,23 @@ static int __init populate_kprobe_blacklist(unsigned long *start,
2037
2037
{
2038
2038
unsigned long * iter ;
2039
2039
struct kprobe_blacklist_entry * ent ;
2040
- unsigned long offset = 0 , size = 0 ;
2040
+ unsigned long entry , offset = 0 , size = 0 ;
2041
2041
2042
2042
for (iter = start ; iter < end ; iter ++ ) {
2043
- if (!kallsyms_lookup_size_offset (* iter , & size , & offset )) {
2044
- pr_err ("Failed to find blacklist %p\n" , (void * )* iter );
2043
+ entry = arch_deref_entry_point ((void * )* iter );
2044
+
2045
+ if (!kernel_text_address (entry ) ||
2046
+ !kallsyms_lookup_size_offset (entry , & size , & offset )) {
2047
+ pr_err ("Failed to find blacklist at %p\n" ,
2048
+ (void * )entry );
2045
2049
continue ;
2046
2050
}
2047
2051
2048
2052
ent = kmalloc (sizeof (* ent ), GFP_KERNEL );
2049
2053
if (!ent )
2050
2054
return - ENOMEM ;
2051
- ent -> start_addr = * iter ;
2052
- ent -> end_addr = * iter + size ;
2055
+ ent -> start_addr = entry ;
2056
+ ent -> end_addr = entry + size ;
2053
2057
INIT_LIST_HEAD (& ent -> list );
2054
2058
list_add_tail (& ent -> list , & kprobe_blacklist );
2055
2059
}
You can’t perform that action at this time.
0 commit comments