Re: [PATCH] call_usermodehelper hang

From: Chris Wright
Date: Thu Apr 08 2004 - 18:18:06 EST


* Brian King (brking@xxxxxxxxxx) wrote:
> The following patch fixes a deadlock experienced when devices are
> being added to a bus both from a user process and eventd process.
> The eventd process was hung waiting on dev->bus->subsys.rwsem which
> was held by another process, which was hung since it was calling
> call_usermodehelper directly which was hung waiting for work scheduled
> on the eventd workqueue to complete. The patch fixes this by delaying
> the kobject_hotplug work, running it from eventd if possible.

Couple of gratuitous formatting changes.

> - failure, no hotplug event is required. */
> + failure, no hotplug event is required. */

here

> - &envp[i], NUM_ENVP - i, scratch,
> - BUFFER_SIZE - (scratch - buffer));
> + &envp[i], NUM_ENVP - i, scratch,
> + BUFFER_SIZE - (scratch - buffer));

and here.

Overall, why does it seem to just be pushing the problem around?
Similarly, if you did your work in a child of keventd the problem would
move away.

thanks,
-chris
--
Linux Security Modules http://lsm.immunix.org http://lsm.bkbits.net
-
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/