Messages in this thread | | | Date | Sun, 10 Feb 2008 21:11:13 +0000 | From | "Byron Bradley" <> | Subject | Re: [PATCH] ARM: Ignore memory tags with invalid data |
| |
On Jan 22, 2008 4:05 AM, Corey Minyard <minyard@acm.org> wrote: > From: Corey Minyard <minyard@acm.org> > > The DNS-323 system has several bogus memory entries in the tag table, > and it caused the system to crash at startup. Ignore tag entries that > are obviously bogus. > > Signed-off-by: Corey Minyard <minyard@acm.org> > --- > arch/arm/kernel/setup.c | 7 ++++++- > 1 files changed, 6 insertions(+), 1 deletions(-) > > diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c > index bf56eb3..dfdb469 100644 > --- a/arch/arm/kernel/setup.c > +++ b/arch/arm/kernel/setup.c > @@ -630,7 +630,12 @@ __tagtable(ATAG_CORE, parse_tag_core); > > static int __init parse_tag_mem32(const struct tag *tag) > { > - if (meminfo.nr_banks >= NR_BANKS) { > + /* > + * Make sure that the memory size is non-zero, page aligned, > + * and that it doesn't overflow the meminfo table. > + */ > + if (meminfo.nr_banks >= NR_BANKS || tag->u.mem.size & ~PAGE_MASK || > + tag->u.mem.size == 0 || tag->u.mem.start & ~PAGE_MASK) { > printk(KERN_WARNING > "Ignoring memory bank 0x%08x size %dKB\n", > tag->u.mem.start, tag->u.mem.size / 1024); >
[Cc: linux-arm-kernel]
What's the status of this patch? It would be good to see it go in because the problem it fixes can be seen on a large number of NAS devices.
Cheers,
-- Byron Bradley
| |