skbuff: Fix build with SKB extensions disabled
commit 9615fe36b31d926f1c5107013b772dc226a6a7ca upstream. We will fail to build with CONFIG_SKB_EXTENSIONS disabled after 8550ff8d8c75 ("skbuff: Release nfct refcount on napi stolen or re-used skbs") since there is an unconditionally use of skb_ext_find() without an appropriate stub. Simply build the code conditionally and properly guard against both COFNIG_SKB_EXTENSIONS as well as CONFIG_NET_TC_SKB_EXT being disabled. Fixes: Fixes: 8550ff8d8c75 ("skbuff: Release nfct refcount on napi stolen or re-used skbs") Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Reviewed-by: Roi Dayan <roid@nvidia.com> Reviewed-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
ba28765d33
commit
c9f8e17990
@@ -5872,7 +5872,7 @@ static struct list_head *gro_list_prepare(struct napi_struct *napi,
|
|||||||
maclen);
|
maclen);
|
||||||
|
|
||||||
diffs |= skb_get_nfct(p) ^ skb_get_nfct(skb);
|
diffs |= skb_get_nfct(p) ^ skb_get_nfct(skb);
|
||||||
|
#if IS_ENABLED(CONFIG_SKB_EXTENSIONS) && IS_ENABLED(CONFIG_NET_TC_SKB_EXT)
|
||||||
if (!diffs) {
|
if (!diffs) {
|
||||||
struct tc_skb_ext *skb_ext = skb_ext_find(skb, TC_SKB_EXT);
|
struct tc_skb_ext *skb_ext = skb_ext_find(skb, TC_SKB_EXT);
|
||||||
struct tc_skb_ext *p_ext = skb_ext_find(p, TC_SKB_EXT);
|
struct tc_skb_ext *p_ext = skb_ext_find(p, TC_SKB_EXT);
|
||||||
@@ -5881,6 +5881,7 @@ static struct list_head *gro_list_prepare(struct napi_struct *napi,
|
|||||||
if (!diffs && unlikely(skb_ext))
|
if (!diffs && unlikely(skb_ext))
|
||||||
diffs |= p_ext->chain ^ skb_ext->chain;
|
diffs |= p_ext->chain ^ skb_ext->chain;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
NAPI_GRO_CB(p)->same_flow = !diffs;
|
NAPI_GRO_CB(p)->same_flow = !diffs;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user