struct hist_entry *he,
                                        struct perf_sample *sample,
                                        struct evsel *evsel, u64 ip)
+       EXCLUSIVE_LOCKS_REQUIRED(he->hists->lock)
 {
        struct annotation *notes;
        struct symbol *sym = he->ms.sym;
 static int hist_iter__top_callback(struct hist_entry_iter *iter,
                                   struct addr_location *al, bool single,
                                   void *arg)
+       EXCLUSIVE_LOCKS_REQUIRED(iter->he->hists->lock)
 {
        struct perf_top *top = arg;
-       struct hist_entry *he = iter->he;
        struct evsel *evsel = iter->evsel;
 
        if (perf_hpp_list.sym && single)
-               perf_top__record_precise_ip(top, he, iter->sample, evsel, al->addr);
+               perf_top__record_precise_ip(top, iter->he, iter->sample, evsel, al->addr);
 
        hist__account_cycles(iter->sample->branch_stack, al, iter->sample,
                     !(top->record_opts.branch_stack & PERF_SAMPLE_BRANCH_ANY),