Messages in this thread | | | Date | Sat, 20 Jul 2013 05:55:44 +0300 | From | Mauro Carvalho Chehab <> | Subject | Re: BUG: key ffff880c1148c478 not in .data! (V3.10.0) |
| |
Em Fri, 19 Jul 2013 01:27:18 +0200 Borislav Petkov <bp@alien8.de> escreveu:
> On Thu, Jul 18, 2013 at 04:51:48PM +0000, Luck, Tony wrote: > > + BUG_ON(mci->mc_idx >= EDAC_MAX_MCS); > > > > Do we have to "BUG_ON()" here? Couldn't we be gentler with something like: > > > > if (mci->mc_idx >= EDAC_MAX_MCS) { > > printk_once(KERN_WARNING "Too many memory controllers\n"); > > return; /* probably need to make sure caller copes with this ... so more stuff there */ > > Yeah, we can do something like this:
With this change, the patch looks ok for me.
Acked-by: Mauro Carvalho Chehab <m.chehab@samsung.com> > > diff --git a/drivers/edac/edac_mc.c b/drivers/edac/edac_mc.c > index 429e971e02d7..c55ad285c285 100644 > --- a/drivers/edac/edac_mc.c > +++ b/drivers/edac/edac_mc.c > @@ -725,6 +725,11 @@ int edac_mc_add_mc(struct mem_ctl_info *mci) > int ret = -EINVAL; > edac_dbg(0, "\n"); > > + if (mci->mc_idx >= EDAC_MAX_MCS) { > + pr_warn_once("Too many memory controllers: %d\n", mci->mc_idx); > + return ret; > + } > + > #ifdef CONFIG_EDAC_DEBUG > if (edac_debug_level >= 3) > edac_mc_dump_mci(mci); > -- > > right near the beginning of the function so that we can save us the > unwinding. >
Cheers, Mauro
| |