pmu_attr = container_of(attr, struct perf_pmu_events_attr, attr);
 
-       return sprintf(page, "event=0x%03llx\n", pmu_attr->id);
+       return sprintf(page, "event=0x%04llx\n", pmu_attr->id);
 }
 
 #define ARMV8_EVENT_ATTR(name, config)                                         \
            test_bit(pmu_attr->id, cpu_pmu->pmceid_bitmap))
                return attr->mode;
 
-       pmu_attr->id -= ARMV8_PMUV3_EXT_COMMON_EVENT_BASE;
-       if (pmu_attr->id < ARMV8_PMUV3_MAX_COMMON_EVENTS &&
-           test_bit(pmu_attr->id, cpu_pmu->pmceid_ext_bitmap))
-               return attr->mode;
+       if (pmu_attr->id >= ARMV8_PMUV3_EXT_COMMON_EVENT_BASE) {
+               u64 id = pmu_attr->id - ARMV8_PMUV3_EXT_COMMON_EVENT_BASE;
+
+               if (id < ARMV8_PMUV3_MAX_COMMON_EVENTS &&
+                   test_bit(id, cpu_pmu->pmceid_ext_bitmap))
+                       return attr->mode;
+       }
 
        return 0;
 }