From 086d575f9bf32e295c2d89e02aed029d6c5eb9d4 Mon Sep 17 00:00:00 2001 From: "Eric W. Biederman" Date: Wed, 13 May 2009 17:00:41 +0000 Subject: [PATCH] --- yaml --- r: 150319 b: refs/heads/master c: af38f2989572704a846a5577b5ab3b1e2885cbfb h: refs/heads/master i: 150317: 07ab2a03260b64da03f71dab25a39da300b1fbdc 150315: 7dbc2fefe89b2df076e3452fecdd056491b45c3f 150311: 9a7be61492d7f18a184948a0efc284e97e6c368c 150303: da1f7b279bdc8b4f1dbe38de6ac3a6db40bde79f v: v3 --- [refs] | 2 +- trunk/net/bridge/br_sysfs_br.c | 3 ++- trunk/net/bridge/br_sysfs_if.c | 3 ++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index f650dd3ebcde..e766035f7c4a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9b8adb5ea005fe73acd5dd58f9bd47eafa74c9d1 +refs/heads/master: af38f2989572704a846a5577b5ab3b1e2885cbfb diff --git a/trunk/net/bridge/br_sysfs_br.c b/trunk/net/bridge/br_sysfs_br.c index 603d89248e71..ee4820aa1843 100644 --- a/trunk/net/bridge/br_sysfs_br.c +++ b/trunk/net/bridge/br_sysfs_br.c @@ -172,7 +172,8 @@ static ssize_t store_stp_state(struct device *d, if (endp == buf) return -EINVAL; - rtnl_lock(); + if (!rtnl_trylock()) + return restart_syscall(); br_stp_set_enabled(br, val); rtnl_unlock(); diff --git a/trunk/net/bridge/br_sysfs_if.c b/trunk/net/bridge/br_sysfs_if.c index 02b2d50cce4d..4a3cdf8f3813 100644 --- a/trunk/net/bridge/br_sysfs_if.c +++ b/trunk/net/bridge/br_sysfs_if.c @@ -189,7 +189,8 @@ static ssize_t brport_store(struct kobject * kobj, val = simple_strtoul(buf, &endp, 0); if (endp != buf) { - rtnl_lock(); + if (!rtnl_trylock()) + return restart_syscall(); if (p->dev && p->br && brport_attr->store) { spin_lock_bh(&p->br->lock); ret = brport_attr->store(p, val);