Skip to content

Commit

Permalink
r8169: de-obfuscate modulo arithmetic
Browse files Browse the repository at this point in the history
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@fr.zoreil.com>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>
  • Loading branch information
Francois Romieu authored and Jeff Garzik committed Jul 9, 2007
1 parent 15d3175 commit 4ae47c2
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion drivers/net/r8169.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down

0 comments on commit 4ae47c2

Please sign in to comment.