On 27/05/20 8:20 pm, Peter Zijlstra wrote: > On Wed, May 27, 2020 at 06:17:32PM +0200, Peter Zijlstra wrote: >> 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. > > Fixed those for you. On to cross-builds... :/ >
Thank you!