[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070629201707.GD3240@electric-eye.fr.zoreil.com>
Date: Fri, 29 Jun 2007 22:17:07 +0200
From: Francois Romieu <romieu@...zoreil.com>
To: jgarzik@...ox.com
Cc: netdev@...r.kernel.org, Edward Hsu <edward_hsu@...ltek.com.tw>
Subject: [PATCH 02/21] r8169: de-obfuscate modulo arithmetic
The former style suggests a modulo arithmetic misuse but
the expression should never be < 0. Even if it does, the
driver will simply loop longer than expected (not that
the remaining parts of the system will necessarily
appreciate it...).
Let's warn the user when something goes wrong and try
to go over it.
Signed-off-by: Francois Romieu <romieu@...zoreil.com>
Cc: Edward Hsu <edward_hsu@...ltek.com.tw>
---
drivers/net/r8169.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
index 4586446..1f7fb54 100644
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
@@ -2040,10 +2040,12 @@ static u32 rtl8169_rx_fill(struct rtl8169_private *tp, struct net_device *dev,
{
u32 cur;
- for (cur = start; end - cur > 0; cur++) {
+ for (cur = start; end - cur != 0; cur++) {
struct sk_buff *skb;
unsigned int i = cur % NUM_RX_DESC;
+ WARN_ON((s32)(end - cur) < 0);
+
if (tp->Rx_skbuff[i])
continue;
--
1.4.4.2
-
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