On 27/05/20 8:43 pm, Peter Zijlstra wrote:
> On Tue, May 12, 2020 at 03:19:10PM +0300, Adrian Hunter wrote:
>> @@ -2179,6 +2181,49 @@ int kprobe_add_area_blacklist(unsigned long start, 
>> unsigned long end)
>>      return 0;
>>  }
>>  
>> +int kprobe_cache_get_kallsym(struct kprobe_insn_cache *c, unsigned int 
>> *symnum,
>> +                         unsigned long *value, char *type, char *sym)
>> +{
>> +    struct kprobe_insn_page *kip;
>> +    int ret = -ERANGE;
>> +
>> +    rcu_read_lock();
>> +    list_for_each_entry_rcu(kip, &c->pages, list) {
>> +            if ((*symnum)--)
>> +                    continue;
>> +            strlcpy(sym, c->sym, KSYM_NAME_LEN);
>> +            *type = 't';
>> +            *value = (unsigned long)kip->insns;
>> +            ret = 0;
>> +            break;
>> +    }
>> +    rcu_read_unlock();
>> +
>> +    return ret;
>> +}
> 
> This fails on sparc64-defconfig.
> 
> In file included from ../include/linux/kprobes.h:19:0,
>                  from ../kernel/kprobes.c:21:
> ../kernel/kprobes.c: In function 'kprobe_cache_get_kallsym':
> ../include/linux/rculist.h:382:49: error: dereferencing pointer to incomplete 
> type 'struct kprobe_insn_page'
> 
> Please provide a new patch.
> 

Yes, sorry about that.

Reply via email to