|
Thomas Bogendoerfer |
945fd2 |
From: Huazhong Tan <tanhuazhong@huawei.com>
|
|
Thomas Bogendoerfer |
945fd2 |
Date: Thu, 23 Aug 2018 11:37:15 +0800
|
|
Thomas Bogendoerfer |
945fd2 |
Subject: net: hns3: fix page_offset overflow when CONFIG_ARM64_64K_PAGES
|
|
Thomas Bogendoerfer |
945fd2 |
Patch-mainline: v4.19-rc2
|
|
Thomas Bogendoerfer |
945fd2 |
Git-commit: 27a5959308559fa6afcaa4e6cd81d25bcb2dda7c
|
|
Thomas Bogendoerfer |
945fd2 |
References: bsc#1104353 FATE#326415
|
|
Thomas Bogendoerfer |
945fd2 |
|
|
Thomas Bogendoerfer |
945fd2 |
When enable the config item "CONFIG_ARM64_64K_PAGES", the size of
|
|
Thomas Bogendoerfer |
945fd2 |
PAGE_SIZE is 65536(64K). But the type of page_offset is u16, it will
|
|
Thomas Bogendoerfer |
945fd2 |
overflow. So change it to u32, when "CONFIG_ARM64_64K_PAGES" enabled.
|
|
Thomas Bogendoerfer |
945fd2 |
|
|
Thomas Bogendoerfer |
945fd2 |
Fixes: 76ad4f0ee747 ("net: hns3: Add support of HNS3 Ethernet Driver for hip08 SoC")
|
|
Thomas Bogendoerfer |
945fd2 |
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
|
|
Thomas Bogendoerfer |
945fd2 |
Signed-off-by: Salil Mehta <salil.mehta@huawei.com>
|
|
Thomas Bogendoerfer |
945fd2 |
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Thomas Bogendoerfer |
945fd2 |
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
|
|
Thomas Bogendoerfer |
945fd2 |
---
|
|
Thomas Bogendoerfer |
945fd2 |
drivers/net/ethernet/hisilicon/hns3/hns3_enet.h | 6 +++---
|
|
Thomas Bogendoerfer |
945fd2 |
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
Thomas Bogendoerfer |
945fd2 |
|
|
Thomas Bogendoerfer |
945fd2 |
--- a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.h
|
|
Thomas Bogendoerfer |
945fd2 |
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.h
|
|
Thomas Bogendoerfer |
945fd2 |
@@ -290,11 +290,11 @@ struct hns3_desc_cb {
|
|
Thomas Bogendoerfer |
945fd2 |
|
|
Thomas Bogendoerfer |
945fd2 |
/* priv data for the desc, e.g. skb when use with ip stack*/
|
|
Thomas Bogendoerfer |
945fd2 |
void *priv;
|
|
Thomas Bogendoerfer |
945fd2 |
- u16 page_offset;
|
|
Thomas Bogendoerfer |
945fd2 |
- u16 reuse_flag;
|
|
Thomas Bogendoerfer |
945fd2 |
-
|
|
Thomas Bogendoerfer |
945fd2 |
+ u32 page_offset;
|
|
Thomas Bogendoerfer |
945fd2 |
u32 length; /* length of the buffer */
|
|
Thomas Bogendoerfer |
945fd2 |
|
|
Thomas Bogendoerfer |
945fd2 |
+ u16 reuse_flag;
|
|
Thomas Bogendoerfer |
945fd2 |
+
|
|
Thomas Bogendoerfer |
945fd2 |
/* desc type, used by the ring user to mark the type of the priv data */
|
|
Thomas Bogendoerfer |
945fd2 |
u16 type;
|
|
Thomas Bogendoerfer |
945fd2 |
};
|