On Tue, May 12, 2020 at 03:19:11PM +0300, Adrian Hunter wrote:
> @@ -202,6 +207,13 @@ static int collect_one_slot(struct kprobe_insn_page 
> *kip, int idx)
>                * next time somebody inserts a probe.
>                */
>               if (!list_is_singular(&kip->list)) {
> +                     /*
> +                      * Record perf ksymbol unregister event before removing
> +                      * the page.
> +                      */
> +                     perf_event_ksymbol(PERF_RECORD_KSYMBOL_TYPE_OOL,
> +                                        (u64)kip->insns, PAGE_SIZE, true,
> +                                        kip->cache->sym);
>                       list_del_rcu(&kip->list);
>                       synchronize_rcu();
>                       kip->cache->free(kip->insns);

My manual build script haz complaints:

i386-defconfig  ../kernel/kprobes.c: In function ‘__get_insn_slot’:
../kernel/kprobes.c:190:51: warning: cast from pointer to integer of different 
size [-Wpointer-to-int-cast]
perf_event_ksymbol(PERF_RECORD_KSYMBOL_TYPE_OOL, (u64)kip->insns,
^
../kernel/kprobes.c: In function ‘collect_one_slot’:
../kernel/kprobes.c:215:9: warning: cast from pointer to integer of different 
size [-Wpointer-to-int-cast]
(u64)kip->insns, PAGE_SIZE, true,
^
FAIL


Now, there's a ton of such warnings elsewhere in the tree, but still I
feel we should perhaps strive for a clean build.

Reply via email to