[OPW,kernel,v4] Staging: et131x: Fix Smatch Warning of Buffer Overflow
diff mbox

Message ID 1382612092-15716-1-git-send-email-rashika.kheria@gmail.com
State Accepted
Headers show

Commit Message

Rashika Oct. 24, 2013, 10:54 a.m. UTC
This patch fixes the following Sparse Warning in et131x.c- 

drivers/staging/et131x/et131x.c:2957 nic_send_packet() error: buffer overflow 'frags' 17 <= 21
drivers/staging/et131x/et131x.c:2959 nic_send_packet() warn: buffer overflow 'frags' 17 <= 21
drivers/staging/et131x/et131x.c:2961 nic_send_packet() error: buffer overflow 'frags' 17 <= 21 

Signed-off-by: Rashika Kheria <rashika.kheria@gmail.com>
---
This revision fixes the following issues of the previous revision-
Incorrect Removal of error

 drivers/staging/et131x/et131x.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Patch
diff mbox

diff --git a/drivers/staging/et131x/et131x.c b/drivers/staging/et131x/et131x.c
index 7cd3d34..d9446c4 100644
--- a/drivers/staging/et131x/et131x.c
+++ b/drivers/staging/et131x/et131x.c
@@ -2902,8 +2902,9 @@  static int nic_send_packet(struct et131x_adapter *adapter, struct tcb *tcb)
 	 * number of fragments. If needed, we can call this function,
 	 * although it is less efficient.
 	 */
-	if (nr_frags > 23)
-		return -EIO;
+
+	/* nr_frags should be no more than 18. */
+	BUILD_BUG_ON(MAX_SKB_FRAGS + 1 > 23);
 
 	memset(desc, 0, sizeof(struct tx_desc) * (nr_frags + 1));