Re: get_device in device_create_file

From: Pete Zaitcev
Date: Wed Aug 02 2006 - 17:47:13 EST


On Tue, 1 Aug 2006 21:13:05 -0400, Dmitry Torokhov <dtor@xxxxxxxxxxxxx> wrote:

> > > if (get_device(dev)) {
> > > error = sysfs_create_file(&dev->kobj, &attr->attr);
> > > put_device(dev);
> > > }

> > Buf it not, and the caller has a reference, then the call to
> > get_device is redundant.

> Yes it is. There are few of redundant gets and puts sprinkled around
> in the driver core, but the last time I mentioned that Greg was not
> quite ready to get rid of them ;)

I see a small, but nonzero harm from keeping them, for two reasons.
One, I reviewed a patch for RHEL-4 today, where the submitter copied
this code without thinking. So, if we don't flush these, they will
proliferate. Hackers assume that if Greg wrote that, it must be the
right way. Two, these calls shrink the race window and may be
masking something.

-- Pete
-
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/