Re: kobject (ffff88003ffbb4b8): tried to init an initialized object,something is seriously wrong.

From: Konrad Rzeszutek Wilk
Date: Mon Feb 06 2012 - 13:23:28 EST


On Fri, Feb 03, 2012 at 01:42:35PM -0800, Greg KH wrote:
> On Fri, Feb 03, 2012 at 01:39:49PM -0800, Greg KH wrote:
> > On Fri, Feb 03, 2012 at 03:59:53PM -0500, Konrad Rzeszutek Wilk wrote:
> > > Hey Greg,
> > >
> > > With or without your previous patch (the one that added an cpu_device_release
> > > function) I am getting this in 3.3-rc2. I did not get this in 3.2.
> > >
> > > I added some extra printks to make sure that the handle_vcpu_hotplug_event
> > > code actually did call 'arch_unregister_cpu' which is certainly looks
> > > to be doing.
> > >
> > > I hadn't done a bisection yet, but was wondering if this is related
> > > to the previous issues with the sysdev. Or kobject getting more observant.
> >
> > No, it's related to the previous issue, let me knock up a patch to fix
> > this as well...
>
> Does this patch solve the problem for you?

Yeah, no warnings. But neither is the CPU coming back up :-(

Thought that might be related to something else - let me double check
with 3.2 whether there are some race-conditions that I might be hitting.

>
> thanks,
>
> greg k-h
>
> diff --git a/drivers/base/cpu.c b/drivers/base/cpu.c
> index 23f2c4c..4dabf50 100644
> --- a/drivers/base/cpu.c
> +++ b/drivers/base/cpu.c
> @@ -240,6 +240,7 @@ int __cpuinit register_cpu(struct cpu *cpu, int num)
> int error;
>
> cpu->node_id = cpu_to_node(num);
> + memset(&cpu->dev, 0x00, sizeof(struct device));
> cpu->dev.id = num;
> cpu->dev.bus = &cpu_subsys;
> cpu->dev.release = cpu_device_release;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/