2015-09-21 13:36:20

by Andrzej Hajda

[permalink] [raw]
Subject: [PATCH 21/38] mwifiex: fix comparison expression

To avoid underflows signed variables should be used in expression.

The problem has been detected using proposed semantic patch
scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1].

[1]: http://permalink.gmane.org/gmane.linux.kernel/2038576

Signed-off-by: Andrzej Hajda <[email protected]>
---
drivers/net/wireless/mwifiex/11n_rxreorder.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/mwifiex/11n_rxreorder.c b/drivers/net/wireless/mwifiex/11n_rxreorder.c
index 2906cd5..b3970a8 100644
--- a/drivers/net/wireless/mwifiex/11n_rxreorder.c
+++ b/drivers/net/wireless/mwifiex/11n_rxreorder.c
@@ -615,10 +615,10 @@ int mwifiex_11n_rx_reorder_pkt(struct mwifiex_private *priv,
((end_win > start_win) && ((seq_num > end_win) ||
(seq_num < start_win)))) {
end_win = seq_num;
- if (((seq_num - win_size) + 1) >= 0)
+ if (((end_win - win_size) + 1) >= 0)
start_win = (end_win - win_size) + 1;
else
- start_win = (MAX_TID_VALUE - (win_size - seq_num)) + 1;
+ start_win = (MAX_TID_VALUE - (win_size - end_win)) + 1;
mwifiex_11n_dispatch_pkt_until_start_win(priv, tbl, start_win);
}

--
1.9.1



2015-09-22 10:56:59

by Amitkumar Karwar

[permalink] [raw]
Subject: RE: [PATCH 21/38] mwifiex: fix comparison expression

Hi Andrzej,

> From: Andrzej Hajda [mailto:[email protected]]
> Sent: Monday, September 21, 2015 7:04 PM
> To: [email protected]
> Cc: Andrzej Hajda; Bartlomiej Zolnierkiewicz; Marek Szyprowski;
> Amitkumar Karwar; Nishant Sarmukadam; Kalle Valo; linux-
> [email protected]; [email protected]
> Subject: [PATCH 21/38] mwifiex: fix comparison expression
>
> To avoid underflows signed variables should be used in expression.
>
> The problem has been detected using proposed semantic patch
> scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1].
>
> [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576
>
> Signed-off-by: Andrzej Hajda <[email protected]>
> ---
> drivers/net/wireless/mwifiex/11n_rxreorder.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/wireless/mwifiex/11n_rxreorder.c
> b/drivers/net/wireless/mwifiex/11n_rxreorder.c
> index 2906cd5..b3970a8 100644
> --- a/drivers/net/wireless/mwifiex/11n_rxreorder.c
> +++ b/drivers/net/wireless/mwifiex/11n_rxreorder.c
> @@ -615,10 +615,10 @@ int mwifiex_11n_rx_reorder_pkt(struct
> mwifiex_private *priv,
> ((end_win > start_win) && ((seq_num > end_win) ||
> (seq_num < start_win)))) {
> end_win = seq_num;
> - if (((seq_num - win_size) + 1) >= 0)
> + if (((end_win - win_size) + 1) >= 0)
> start_win = (end_win - win_size) + 1;
> else
> - start_win = (MAX_TID_VALUE - (win_size - seq_num)) +
> 1;
> + start_win = (MAX_TID_VALUE - (win_size - end_win)) +
> 1;
> mwifiex_11n_dispatch_pkt_until_start_win(priv, tbl,
> start_win);
> }
>

Acked-by: Amitkumar Karwar <[email protected]>

Regards,
Amitkumar

2015-09-22 23:15:15

by David Miller

[permalink] [raw]
Subject: Re: [PATCH 21/38] mwifiex: fix comparison expression

From: Andrzej Hajda <[email protected]>
Date: Mon, 21 Sep 2015 15:33:53 +0200

> To avoid underflows signed variables should be used in expression.
>
> The problem has been detected using proposed semantic patch
> scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1].
>
> [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576
>
> Signed-off-by: Andrzej Hajda <[email protected]>

Applied.