diff options
author | Kulikov Vasiliy <segooon@gmail.com> | 2010-07-15 08:45:57 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-07-15 20:27:58 -0700 |
commit | 2540ddb5124f883bba3d4af5d8920d44dd66e794 (patch) | |
tree | 4063da161125c5475bcc15c88b1401c967a04e05 /drivers/net/ixgbevf | |
parent | 9f27fb8514d0491f1c12052d78d46946f129b8e1 (diff) | |
download | op-kernel-dev-2540ddb5124f883bba3d4af5d8920d44dd66e794.zip op-kernel-dev-2540ddb5124f883bba3d4af5d8920d44dd66e794.tar.gz |
drivers: ixgbevf: fix unsigned underflow
'count' is unsigned. It is initialized to zero, then it can be increased
multiple times, and finally it is used in such a way:
>>>> count--;
|
| /* clear timestamp and dma mappings for remaining portion of packet */
| while (count >= 0) {
| count--;
| ...
^
If count is zero here (so, it was never increased), we would have a very
long loop :)
Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ixgbevf')
-rw-r--r-- | drivers/net/ixgbevf/ixgbevf_main.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ixgbevf/ixgbevf_main.c b/drivers/net/ixgbevf/ixgbevf_main.c index 73f1e75..af49135 100644 --- a/drivers/net/ixgbevf/ixgbevf_main.c +++ b/drivers/net/ixgbevf/ixgbevf_main.c @@ -2935,7 +2935,8 @@ static int ixgbevf_tx_map(struct ixgbevf_adapter *adapter, struct ixgbevf_tx_buffer *tx_buffer_info; unsigned int len; unsigned int total = skb->len; - unsigned int offset = 0, size, count = 0; + unsigned int offset = 0, size; + int count = 0; unsigned int nr_frags = skb_shinfo(skb)->nr_frags; unsigned int f; int i; |