Re: [patch V3 04/23] kprobes: Prevent probes in .noinstr.text section

From: Thomas Gleixner
Date: Tue Mar 24 2020 - 05:47:56 EST


Masami Hiramatsu <mhiramat@xxxxxxxxxx> writes:
> On Mon, 23 Mar 2020 17:03:24 +0100
> Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
>> > @@ -2212,6 +2212,10 @@ static int __init populate_kprobe_blacklist(unsigned long *start,
>> > ret = kprobe_add_area_blacklist((unsigned long)__kprobes_text_start,
>> > (unsigned long)__kprobes_text_end);
>> >
>> > + /* Symbols in noinstr section are blacklisted */
>> > + ret = kprobe_add_area_blacklist((unsigned long)__noinstr_text_start,
>> > + (unsigned long)__noinstr_text_end);
>> > +
>> > return ret ? : arch_populate_kprobe_blacklist();
>> > }
>>
>> So that extra function is not required when adding that, right?
>
> That's right :)
>
>>
>> >> +/* Functions in .noinstr.text must not be probed */
>> >> +static bool within_noinstr_text(unsigned long addr)
>> >> +{
>> >> + /* FIXME: Handle module .noinstr.text */
>
> And this reminds me that the module .kprobes.text is not handled yet :(.

Correct. Any idea how to do that with a simple oneliner like the above?

Thanks,

tglx