diff mbox

[net-next,2/3] bonding: use rcu_access_pointer() in bonding_show_mii_status()

Message ID 1405417604-7828-3-git-send-email-edumazet@google.com
State Superseded, archived
Delegated to: David Miller
Headers show

Commit Message

Eric Dumazet July 15, 2014, 9:46 a.m. UTC
curr_active_slave is rcu protected, and bonding_show_mii_status() only
wants to check if pointer is NULL or not.

Signed-off-by: Eric Dumazet <edumazet@google.com>
---
 drivers/net/bonding/bond_sysfs.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Veaceslav Falico July 15, 2014, 10:32 a.m. UTC | #1
On Tue, Jul 15, 2014 at 02:46:43AM -0700, Eric Dumazet wrote:
>curr_active_slave is rcu protected, and bonding_show_mii_status() only
>wants to check if pointer is NULL or not.
>
>Signed-off-by: Eric Dumazet <edumazet@google.com>

Acked-by: Veaceslav Falico <vfalico@gmail.com>

>---
> drivers/net/bonding/bond_sysfs.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
>diff --git a/drivers/net/bonding/bond_sysfs.c b/drivers/net/bonding/bond_sysfs.c
>index daed52f68ce1..98db8edd9c75 100644
>--- a/drivers/net/bonding/bond_sysfs.c
>+++ b/drivers/net/bonding/bond_sysfs.c
>@@ -492,8 +492,9 @@ static ssize_t bonding_show_mii_status(struct device *d,
> 				       char *buf)
> {
> 	struct bonding *bond = to_bond(d);
>+	bool active = !!rcu_access_pointer(bond->curr_active_slave);
>
>-	return sprintf(buf, "%s\n", bond->curr_active_slave ? "up" : "down");
>+	return sprintf(buf, "%s\n", active ? "up" : "down");
> }
> static DEVICE_ATTR(mii_status, S_IRUGO, bonding_show_mii_status, NULL);
>
>-- 
>2.0.0.526.g5318336
>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/net/bonding/bond_sysfs.c b/drivers/net/bonding/bond_sysfs.c
index daed52f68ce1..98db8edd9c75 100644
--- a/drivers/net/bonding/bond_sysfs.c
+++ b/drivers/net/bonding/bond_sysfs.c
@@ -492,8 +492,9 @@  static ssize_t bonding_show_mii_status(struct device *d,
 				       char *buf)
 {
 	struct bonding *bond = to_bond(d);
+	bool active = !!rcu_access_pointer(bond->curr_active_slave);
 
-	return sprintf(buf, "%s\n", bond->curr_active_slave ? "up" : "down");
+	return sprintf(buf, "%s\n", active ? "up" : "down");
 }
 static DEVICE_ATTR(mii_status, S_IRUGO, bonding_show_mii_status, NULL);