Re: [PATCH update] firewire: fix "kobject_add failed for fw* with -EEXIST"

From: Jarod Wilson
Date: Mon Jan 28 2008 - 17:31:21 EST


On Sunday 27 January 2008 12:20:40 pm Stefan Richter wrote:
> There is a race between shutdown and creation of devices: fw-core may
> attempt to add a device with the same name of an already existing
> device. http://bugzilla.kernel.org/show_bug.cgi?id=9828
>
> Impact of the bug: Happens rarely, forces the user to unplug and replug
> the new device to get it working.
>
> The fix moves deregistration of the minor number and device_unregister()
> into a common rw_sem protected section.
>
> We also move the ref count increment from fw_device_op_open into an
> rw_sem protected section with the lookup of the device, so that the
> device pointer can't become invalid between lookup and usage.
>
> Signed-off-by: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx>

While I've got remaining issues with firewire mdraid, this does appear fix the
problem of devices racing the grab the same fw* device node, and it seems
obvious that should indeed be the case from the code changes.

Signed-off-by: Jarod Wilson <jwilson@xxxxxxxxxx>

--
Jarod Wilson
jwilson@xxxxxxxxxx
--
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/