lkml.org 
[lkml]   [2006]   [Feb]   [3]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateFri, 3 Feb 2006 02:02:41 -0500
FromChuck Ebbert <>
SubjectRe: [patch -mm4] i386 cpu hotplug: don't access freed memory
In-Reply-To: <20060202165257.29dcfa20.akpm@osdl.org>

On Thu, 2 Feb 2006 at 16:52:57 -0800, Andrew Morton wrote:

> Chuck Ebbert <76306.1226@compuserve.com> wrote:
> >
> > @@ -160,10 +162,17 @@ static void __cpuinit get_cpu_vendor(str
> >                             c->x86_vendor = i;
> >                             if (!early)
> >                                     this_cpu = cpu_devs[i];
> > -                           break;
> > +                           return;
> >                     }
> >             }
> >     }
> > +   if (!printed) {
> > +           printed++;
> > +           printk(KERN_ERR "CPU: Vendor unknown, using generic init.\n");
> > +           printk(KERN_ERR "CPU: Your system may be unstable.\n");
> > +   }
> > +   c->x86_vendor = X86_VENDOR_UNKNOWN;
> > +   this_cpu = &default_cpu;
> 
> Well that's a worry.  Under what circumstances (if any) will this final bit
> of code get executed?

It should happen when someone hotplugs a CPU on an AMD SMP machine.  But it
was already broken in that case.

So now we have to decide whether to make the AMD code __cpuinit instead
of __init and keep it around for hotplug.  I can't test that so I didn't
try it.

-- 
Chuck

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-02-03 07:10    [from the cache]
©2003-2008