From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Vrabel Subject: Re: [PATCH 4/8] device-tree: get_val cannot cope with cells > 2, add early_panic Date: Thu, 6 Dec 2012 12:13:05 +0000 Message-ID: <50C08BD1.50905@citrix.com> References: <1354554611.2693.30.camel@zakaz.uk.xensource.com> <1354554631-17861-4-git-send-email-ian.campbell@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1354554631-17861-4-git-send-email-ian.campbell@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Campbell Cc: xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org On 03/12/12 17:10, Ian Campbell wrote: > Signed-off-by: Ian Campbell > --- > v3: early_panic instead of BUG_ON > v2: drop unrelated white space fixup > --- > xen/common/device_tree.c | 3 +++ > 1 files changed, 3 insertions(+), 0 deletions(-) > > diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c > index 9eb316f..5a0a1a6 100644 > --- a/xen/common/device_tree.c > +++ b/xen/common/device_tree.c > @@ -58,6 +58,9 @@ static void __init get_val(const u32 **cell, u32 cells, u64 *val) > { > *val = 0; > > + if ( cells > 2 ) > + early_panic("dtb value contains > 2 cells\n"); > + This seems like overkill to me. get_val() truncates the value down to 64 bits which is fine as no valid physical address is more than 64 bits. I think the device tree parsing code should try to continue as much as possible if it gets a DTB that looks a bit funny. David