On Fri, Jul 1, 2016 at 5:58 PM, Pravin B Shelar <pshe...@ovn.org> wrote: > diff --git a/datapath/linux/compat/geneve.c b/datapath/linux/compat/geneve.c > index db1c713..a7229c8 100644 > --- a/datapath/linux/compat/geneve.c > +++ b/datapath/linux/compat/geneve.c > @@ -578,6 +574,7 @@ static int geneve_build_skb(struct rtable *rt, struct > sk_buff *skb, > return 0; > > free_rt: > + kfree_skb(skb); > ip_rt_put(rt); > return err; > }
It looks like this replaces the upstream tx_error changes in this patch with the kfree_skb() here. Can we follow the original pattern? > diff --git a/datapath/linux/compat/include/net/udp_tunnel.h > b/datapath/linux/compat/include/net/udp_tunnel.h > index 85aed98..65adc02 100644 > --- a/datapath/linux/compat/include/net/udp_tunnel.h > +++ b/datapath/linux/compat/include/net/udp_tunnel.h > +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,7,0) > +/* this is to handle the return type change in handle-offload > + * functions. > + */ > +static inline int > +rpl_udp_tunnel_handle_offloads(struct sk_buff *skb, bool udp_csum, > + bool is_vxlan) > +{ > + if (skb_is_gso(skb) && skb_is_encapsulated(skb)) { > + kfree_skb(skb); > + return -ENOSYS; > + } > + return udp_tunnel_handle_offloads(skb, udp_csum); > +} > + [...] > +static inline int rpl_udp_tunnel_handle_offloads(struct sk_buff *skb, > + bool udp_csum, > + bool is_vxlan) > { > + int type = 0; > + > void (*fix_segment)(struct sk_buff *); > > if (skb_is_gso(skb) && skb_is_encapsulated(skb)) { > kfree_skb(skb); > - return ERR_PTR(-ENOSYS); > + return -ENOSYS; > } In both of these cases, I don't think that we should free the skb on error any more. > diff --git a/datapath/linux/compat/utils.c b/datapath/linux/compat/utils.c > index 7113e09..7008ecf 100644 > --- a/datapath/linux/compat/utils.c > +++ b/datapath/linux/compat/utils.c > @@ -72,9 +72,6 @@ void __percpu *__alloc_percpu_gfp(size_t size, size_t > align, gfp_t gfp) > void __percpu *p; > int i; > > - /* older kernel do not allow all GFP flags, specifically atomic > - * allocation. > - */ > if (gfp & ~(GFP_KERNEL | __GFP_ZERO)) > return NULL; > p = __alloc_percpu(size, align); It looks like this should be part of another patch? _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev