[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20120721203035.71B4DFFC4A@master.hanzubon.jp>
Date: Sun, 22 Jul 2012 05:30:35 +0900
From: ISHIKAWA Mutsumi <ishikawa@...zubon.jp>
To: jpirko@...hat.com
Cc: netdev@...r.kernel.org
Subject: [PATCH] Fix divide zero crash when xmit with no enabled port
hash calculation in lb_transmit() cause divide zero crash when
xmit on teaming loadbalance mode with no team member port is enabled
(this situation means team->en_port_count = 0). Add check
team->en_port_count is not 0.
---
drivers/net/team/team_mode_loadbalance.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/team/team_mode_loadbalance.c b/drivers/net/team/team_mode_loadbalance.c
index 86e8183..7b878d5 100644
--- a/drivers/net/team/team_mode_loadbalance.c
+++ b/drivers/net/team/team_mode_loadbalance.c
@@ -38,6 +38,8 @@ static bool lb_transmit(struct team *team, struct sk_buff *skb)
if (unlikely(!fp))
goto drop;
hash = SK_RUN_FILTER(fp, skb);
+ if (team->en_port_count < 1)
+ goto drop;
port_index = hash % team->en_port_count;
port = team_get_port_by_index_rcu(team, port_index);
if (unlikely(!port))
--
1.7.10.4
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists