From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Gibson Subject: Re: [kvm-unit-tests PATCH v3 04/17] devicetree: fix dt_get_memory_params Date: Mon, 15 Feb 2016 10:00:33 +1100 Message-ID: <20160214230033.GI2732@voom.fritz.box> References: <1455380910-30604-1-git-send-email-drjones@redhat.com> <1455380910-30604-5-git-send-email-drjones@redhat.com> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="DozTQjXnjm3C9Xhk" Cc: kvm@vger.kernel.org, kvm-ppc@vger.kernel.org, thuth@redhat.com, dgibson@redhat.com, agraf@suse.de, lvivier@redhat.com, pbonzini@redhat.com To: Andrew Jones Return-path: Received: from ozlabs.org ([103.22.144.67]:50818 "EHLO ozlabs.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753492AbcBOAEJ (ORCPT ); Sun, 14 Feb 2016 19:04:09 -0500 Content-Disposition: inline In-Reply-To: <1455380910-30604-5-git-send-email-drjones@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: --DozTQjXnjm3C9Xhk Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Feb 13, 2016 at 05:28:17PM +0100, Andrew Jones wrote: > Index nr was overreaching with its indexing. It should only > index the caller's regs array. We need a different index for > the memory nodes' reg properties. >=20 > Signed-off-by: Andrew Jones I think I'm missing something, I don't see how reg_idx will ever take a different value from nr. >=20 > --- > The next patch needs this fix. > --- > lib/devicetree.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) >=20 > diff --git a/lib/devicetree.c b/lib/devicetree.c > index 36cb28610ff41..a5c7f7c69ddfd 100644 > --- a/lib/devicetree.c > +++ b/lib/devicetree.c > @@ -165,22 +165,24 @@ int dt_pbus_get_base_compatible(const char *compati= ble, > int dt_get_memory_params(struct dt_pbus_reg *regs, int nr_regs) > { > const char *pn =3D "device_type", *pv =3D "memory"; > - int node, ret, pl =3D strlen(pv) + 1, nr =3D 0; > + int node, ret, reg_idx, pl =3D strlen(pv) + 1, nr =3D 0; > struct dt_pbus_reg reg; > =20 > node =3D fdt_node_offset_by_prop_value(fdt, -1, pn, pv, pl); > =20 > while (node >=3D 0) { > =20 > + reg_idx =3D 0; > + > while (nr < nr_regs) { > - ret =3D dt_pbus_translate_node(node, nr, ®); > + ret =3D dt_pbus_translate_node(node, reg_idx, ®); > if (ret =3D=3D -FDT_ERR_NOTFOUND) > break; > if (ret < 0) > return ret; > regs[nr].addr =3D reg.addr; > regs[nr].size =3D reg.size; > - ++nr; > + ++nr, ++reg_idx; > } > =20 > node =3D fdt_node_offset_by_prop_value(fdt, node, pn, pv, pl); --=20 David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson --DozTQjXnjm3C9Xhk Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBAgAGBQJWwQcRAAoJEGw4ysog2bOSx0sP/1aVfYZKSyH4y5fLklUkLfGd kI7AHgxkcE1JzErWhjhh9VJtvuc6yonY0LmN69eo690Hr3a1lnco105gRi1V5V4w Erj+5satnzRsz0UolUZoARhkTPOxgh+iYSNsXSO4eDRGtSuLjj6jw8CzmT9uiD7N hf0p3sUzyjiuUiRShvxkX3h5FVlgSRaWbdj7H6Lz8XTASKMW7UVvYaU09aqYUdED zGrwLMJunCNRqVqra1tmZ0/TSKpuakajaijP5Mu9tVnlwM4ABTNY2rCibTNp4yeC tHPqHPDzc50rmfbkib4qj0J+fmVl981hfdfjb/M+Jaee1w2isfBPJ/t1EtQ1hfco 8HDpyXOq9pGXCXpUKI2cju5b1a9/Z0NSEDHEVqRpvSo5j39rcDMu3j+qbYgjr8M1 fXMU8bIekU1TMbqFkXRxuMbdHgnt3S6PWLP+hlm1D/gXvOK9GoObWJ5jqmtGhpE1 MCEjhIGqiwIACr9k3liNufoGwk3w+HwOFQV9l5etrsHtJMdxcIdUcNLp/zjCTXjd ew0wb6bDr4tYQN4FnrCQISo3klKlp50RMC4QCrJTIW+w7jfr+5vp2WZf1m7SUjpv +Rz5wFNNJ1maV18zccezWPeN3bDwW4pfiSMCWwGcrKJHyHcP+0GWg/rEFPe5egg+ 1MDrQbyi+L/JuPFTF5Ya =iygw -----END PGP SIGNATURE----- --DozTQjXnjm3C9Xhk--