Re: IPv4/IPv6 sysctl unregistration deadlock
From: Ben Greear <hidden>
Date: 2009-02-27 18:27:01
From: Ben Greear <hidden>
Date: 2009-02-27 18:27:01
Stephen Hemminger wrote:
Subject: [PATCH] Avoid race between network down and sysfs Signed-off-by: Stephen Hemminger <redacted>--- a/net/core/net-sysfs.c 2009-02-26 08:36:18.000000000 -0800 +++ b/net/core/net-sysfs.c 2009-02-26 08:37:51.000000000 -0800@@ -77,7 +77,9 @@ static ssize_t netdev_store(struct devic if (endp == buf) goto err; - rtnl_lock(); + if (!rtnl_trylock()) + return -ERESTARTSYS; + if (dev_isalive(net)) { if ((ret = (*set)(net, new)) == 0) ret = len;
I can test this to see if it fixes my problem. Are the above lines the entirety of the patch? I think I'll add a printk if we do the ERESTARTSYS to make sure that I hit the race (but still recover). Thanks, Ben -- Ben Greear [off-list ref] Candela Technologies Inc http://www.candelatech.com