Message ID | 20210708041051.17851-1-f.fainelli@gmail.com |
---|---|
State | New |
Headers | show |
Series | [net] skbuff: Fix build with SKB extensions disabled | expand |
On 2021-07-08 7:10 AM, Florian Fainelli wrote: > 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> > --- > net/core/dev.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/net/core/dev.c b/net/core/dev.c > index 177a5aec0b6b..03c95a0867bb 100644 > --- a/net/core/dev.c > +++ b/net/core/dev.c > @@ -6010,7 +6010,7 @@ static void gro_list_prepare(const struct list_head *head, > maclen); > > diffs |= skb_get_nfct(p) ^ skb_get_nfct(skb); > - > +#if IS_ENABLED(CONFIG_SKB_EXTENSIONS) && IS_ENABLED(CONFIG_NET_TC_SKB_EXT) > if (!diffs) { > 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); > @@ -6019,6 +6019,7 @@ static void gro_list_prepare(const struct list_head *head, > if (!diffs && unlikely(skb_ext)) > diffs |= p_ext->chain ^ skb_ext->chain; > } > +#endif > > NAPI_GRO_CB(p)->same_flow = !diffs; > } > thanks. sorry for missing this. tested compilation before and after the patch with combination of the mentioned options to be sure. Reviewed-by: Roi Dayan <roid@nvidia.com>
diff --git a/net/core/dev.c b/net/core/dev.c index 177a5aec0b6b..03c95a0867bb 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -6010,7 +6010,7 @@ static void gro_list_prepare(const struct list_head *head, maclen); diffs |= skb_get_nfct(p) ^ skb_get_nfct(skb); - +#if IS_ENABLED(CONFIG_SKB_EXTENSIONS) && IS_ENABLED(CONFIG_NET_TC_SKB_EXT) if (!diffs) { 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); @@ -6019,6 +6019,7 @@ static void gro_list_prepare(const struct list_head *head, if (!diffs && unlikely(skb_ext)) diffs |= p_ext->chain ^ skb_ext->chain; } +#endif NAPI_GRO_CB(p)->same_flow = !diffs; }
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> --- net/core/dev.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)