From: Huazhong Tan Date: Thu, 23 Aug 2018 03:37:15 +0000 (+0800) Subject: net: hns3: fix page_offset overflow when CONFIG_ARM64_64K_PAGES X-Git-Tag: v4.18.12~37 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=1801431dc7aa7f833dda0a64f66f38890796edc9;p=users%2Fdwmw2%2Flinux.git net: hns3: fix page_offset overflow when CONFIG_ARM64_64K_PAGES [ Upstream commit 27a5959308559fa6afcaa4e6cd81d25bcb2dda7c ] When enable the config item "CONFIG_ARM64_64K_PAGES", the size of PAGE_SIZE is 65536(64K). But the type of page_offset is u16, it will overflow. So change it to u32, when "CONFIG_ARM64_64K_PAGES" enabled. Fixes: 76ad4f0ee747 ("net: hns3: Add support of HNS3 Ethernet Driver for hip08 SoC") Signed-off-by: Huazhong Tan Signed-off-by: Salil Mehta Signed-off-by: David S. Miller Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.h b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.h index 3b083d5ae9ce2..c84c090536407 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.h +++ b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.h @@ -290,11 +290,11 @@ struct hns3_desc_cb { /* priv data for the desc, e.g. skb when use with ip stack*/ void *priv; - u16 page_offset; - u16 reuse_flag; - + u32 page_offset; u32 length; /* length of the buffer */ + u16 reuse_flag; + /* desc type, used by the ring user to mark the type of the priv data */ u16 type; };