commit | c0419aa6e990d6c427aa7056b06887f5608ba9e0 | [log] [tgz] |
---|---|---|
author | developer <developer@mediatek.com> | Wed Dec 07 15:56:36 2022 +0800 |
committer | developer <developer@mediatek.com> | Sat Dec 10 21:29:22 2022 +0800 |
tree | ff544b689faf80cba112d973fd1bf2381cb93d8d | |
parent | dfc8ef5cf49a8efc44ea5dce8c1a8ae679224bed [diff] |
[][Kernel][mt7986][hnat][Add processing of unexpected skb] [Description] Add processing of uninitialized mac header skb in HNAT to avoid crash. [Release-log] N/A Change-Id: I7915ab5cb9c366728b70a6597ba06cb6f984e4a8 Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/6887447
diff --git a/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_hnat/hnat_nf_hook.c b/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_hnat/hnat_nf_hook.c index 18c0324..d2e09e2 100644 --- a/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_hnat/hnat_nf_hook.c +++ b/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_hnat/hnat_nf_hook.c
@@ -1739,6 +1739,9 @@ (gmac_no != NR_WHNAT_WDMA_PORT)) return NF_ACCEPT; + if (unlikely(!skb_mac_header_was_set(skb))) + return NF_ACCEPT; + if (!skb_hnat_is_hashed(skb)) return NF_ACCEPT; @@ -2118,6 +2121,9 @@ !IS_SPACE_AVAILABLE_HEAD(skb))) return 0; + if (unlikely(!skb_mac_header_was_set(skb))) + return 0; + if (unlikely(!skb_hnat_is_hashed(skb))) return 0;