From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Huth Subject: Re: [kvm-unit-tests PATCH v2 4/4] devicetree: dt_get_nr_cells output robustness Date: Wed, 11 May 2016 17:36:48 +0200 Message-ID: <57335190.4000908@redhat.com> References: <1462973121-14548-1-git-send-email-drjones@redhat.com> <1462973121-14548-5-git-send-email-drjones@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: lvivier@redhat.com, pbonzini@redhat.com To: Andrew Jones , kvm@vger.kernel.org Return-path: Received: from mx1.redhat.com ([209.132.183.28]:37944 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932065AbcEKPgv (ORCPT ); Wed, 11 May 2016 11:36:51 -0400 Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id E40223E709F for ; Wed, 11 May 2016 15:36:50 +0000 (UTC) In-Reply-To: <1462973121-14548-5-git-send-email-drjones@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On 11.05.2016 15:25, Andrew Jones wrote: > Only assign outputs if both address and size are found. > > Signed-off-by: Andrew Jones > --- > lib/devicetree.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/lib/devicetree.c b/lib/devicetree.c > index c091459a94e27..6ebd4ff5b2a9c 100644 > --- a/lib/devicetree.c > +++ b/lib/devicetree.c > @@ -23,21 +23,24 @@ int dt_get_nr_cells(int fdtnode, u32 *nr_address_cells, u32 *nr_size_cells) > { > const struct fdt_property *prop; > u32 *nr_cells; > - int len; > + int len, nac, nsc; > > prop = fdt_get_property(fdt, fdtnode, "#address-cells", &len); > if (prop == NULL) > return len; > > nr_cells = (u32 *)prop->data; > - *nr_address_cells = fdt32_to_cpu(*nr_cells); > + nac = fdt32_to_cpu(*nr_cells); > > prop = fdt_get_property(fdt, fdtnode, "#size-cells", &len); > if (prop == NULL) > return len; > > nr_cells = (u32 *)prop->data; > - *nr_size_cells = fdt32_to_cpu(*nr_cells); > + nsc = fdt32_to_cpu(*nr_cells); > + > + *nr_address_cells = nac; > + *nr_size_cells = nsc; > > return 0; > } Reviewed-by: Thomas Huth