2018-04-04 09:16:33

by Tan Xiaojun

[permalink] [raw]
Subject: [PATCH] net: hns3: fix length overflow when CONFIG_ARM64_64K_PAGES

When enable the config item "CONFIG_ARM64_64K_PAGES", the size of PAGE_SIZE
is 65536(64K). But the type of length is u16, it will overflow. So change it
to u32.

Signed-off-by: Tan Xiaojun <[email protected]>
---
drivers/net/ethernet/hisilicon/hns3/hns3_enet.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.h b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.h
index 9e4cfbb..98cdbd3 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.h
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.h
@@ -288,7 +288,7 @@ struct hns3_desc_cb {
u16 page_offset;
u16 reuse_flag;

- u16 length; /* length of the buffer */
+ u32 length; /* length of the buffer */

/* desc type, used by the ring user to mark the type of the priv data */
u16 type;
--
2.7.4



2018-04-04 15:48:28

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] net: hns3: fix length overflow when CONFIG_ARM64_64K_PAGES

From: Tan Xiaojun <[email protected]>
Date: Wed, 4 Apr 2018 17:40:48 +0800

> When enable the config item "CONFIG_ARM64_64K_PAGES", the size of PAGE_SIZE
> is 65536(64K). But the type of length is u16, it will overflow. So change it
> to u32.
>
> Signed-off-by: Tan Xiaojun <[email protected]>

Applied, thanks.