|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 4/8] device-tree: get_val cannot cope with cells > 2, add early_panic
On Thu, 2012-12-06 at 12:13 +0000, David Vrabel wrote:
> On 03/12/12 17:10, Ian Campbell wrote:
> > Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
> > ---
> > 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.
If something does end up giving us a >2 cell number (for example a 4
cell thing with an unhelpful endianess) then we will silently end up
doing something which is unlikely to be the right thing.
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |