]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
powerpc/perf: Return accordingly on invalid chip-id in
authorAnju T Sudhakar <anju@linux.vnet.ibm.com>
Tue, 27 Nov 2018 08:24:52 +0000 (13:54 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 2 May 2019 16:54:59 +0000 (02:54 +1000)
Nest hardware counter memory resides in a per-chip reserve-memory.
During nest_imc_event_init(), chip-id of the event-cpu is considered to
calculate the base memory addresss for that cpu. Return, proper error
condition if the chip_id calculated is invalid.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Fixes: 885dcd709ba91 ("powerpc/perf: Add nest IMC PMU support")
Reviewed-by: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
Signed-off-by: Anju T Sudhakar <anju@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/perf/imc-pmu.c

index b1c37cc3fa98bfcb34d5b4904e351ebe7496e9cf..6159e9edddfd0941b5b1e1aae0790edbd60ca536 100644 (file)
@@ -487,6 +487,11 @@ static int nest_imc_event_init(struct perf_event *event)
         * Get the base memory addresss for this cpu.
         */
        chip_id = cpu_to_chip_id(event->cpu);
+
+       /* Return, if chip_id is not valid */
+       if (chip_id < 0)
+               return -ENODEV;
+
        pcni = pmu->mem_info;
        do {
                if (pcni->id == chip_id) {