Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 135ef954 authored by Alexey Kardashevskiy's avatar Alexey Kardashevskiy Committed by Michael Ellerman
Browse files

powerpc/powernv/npu: Check mmio_atsd array bounds when populating



A broken device tree might contain more than 8 values and introduce hard
to debug memory corruption bug. This adds the boundary check.

Signed-off-by: default avatarAlexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent 1b785611
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -1178,7 +1178,8 @@ int pnv_npu2_init(struct pci_controller *hose)

	npu->nmmu_flush = of_property_read_bool(hose->dn, "ibm,nmmu-flush");

	for (i = 0; !of_property_read_u64_index(hose->dn, "ibm,mmio-atsd",
	for (i = 0; i < ARRAY_SIZE(npu->mmio_atsd_regs) &&
			!of_property_read_u64_index(hose->dn, "ibm,mmio-atsd",
				i, &mmio_atsd); i++)
		npu->mmio_atsd_regs[i] = ioremap(mmio_atsd, 32);