From: Huazhong Tan Date: Thu, 23 Aug 2018 03:10:10 +0000 (+0800) Subject: net: hns: fix length and page_offset overflow when CONFIG_ARM64_64K_PAGES X-Git-Tag: Ubuntu-4.15.0-56.62~1556 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=7de7ca85e9b03f65225d593ee8a01c09c5011974;p=mirror_ubuntu-bionic-kernel.git net: hns: fix length and page_offset overflow when CONFIG_ARM64_64K_PAGES BugLink: https://bugs.launchpad.net/bugs/1836287 [ Upstream commit 3ed614dce3ca9912d22be215ff0f11104b69fe62 ] When enable the config item "CONFIG_ARM64_64K_PAGES", the size of PAGE_SIZE is 65536(64K). But the type of length and page_offset are u16, they will overflow. So change them to u32. Fixes: 6fe6611ff275 ("net: add Hisilicon Network Subsystem hnae framework support") 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 Signed-off-by: Kamal Mostafa Signed-off-by: Khalid Elmously --- diff --git a/drivers/net/ethernet/hisilicon/hns/hnae.h b/drivers/net/ethernet/hisilicon/hns/hnae.h index 427866b9564e..08a750fb60c4 100644 --- a/drivers/net/ethernet/hisilicon/hns/hnae.h +++ b/drivers/net/ethernet/hisilicon/hns/hnae.h @@ -220,10 +220,10 @@ struct hnae_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 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;