Re: [PATCH] sysfs: driver core: Fix glue dir race condition

From: Greg KH
Date: Fri Nov 07 2014 - 00:52:56 EST


On Fri, Nov 07, 2014 at 11:12:19AM +0800, Yijing Wang wrote:
> >> +static DEFINE_MUTEX(gdp_mutex);
> >>
> >> static struct kobject *get_device_parent(struct device *dev,
> >> struct device *parent)
> >> {
> >> if (dev->class) {
> >> - static DEFINE_MUTEX(gdp_mutex);
> >> struct kobject *kobj = NULL;
> >> struct kobject *parent_kobj;
> >> struct kobject *k;
> >> @@ -793,7 +793,9 @@ static void cleanup_glue_dir(struct device *dev, struct kobject *glue_dir)
> >> glue_dir->kset != &dev->class->p->glue_dirs)
> >> return;
> >>
> >> + mutex_lock(&gdp_mutex);
> >> kobject_put(glue_dir);
> >> + mutex_unlock(&gdp_mutex);
> >> }
> >>
> >> static void cleanup_device_parent(struct device *dev)
> >>
> >
> > I much prefer this patch over the other one, as it keeps the same
> > behavior as today, and fixes the existing bug.
> >
> > Have you tested it out to see if it works properly? If so, can you
> > resend it in a "proper" form so I can apply it?
>
> Yes, we tested it in our system, I will resend it now, thanks!

Wonderful, thanks for that, and persisting with this. I'll queue up
that patch tomorrow morning.

greg k-h
--
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/