On Tue, Nov 19, 2013 at 1:50 PM, Pravin B Shelar <pshe...@nicira.com> wrote:
> diff --git a/datapath/linux/compat/include/linux/jump_label.h 
> b/datapath/linux/compat/include/linux/jump_label.h
> new file mode 100644
> index 0000000..8eaf776
> --- /dev/null
> +++ b/datapath/linux/compat/include/linux/jump_label.h
> +#ifdef HAVE_JUMP_LABEL
> +struct static_key {
> +        atomic_t enabled;
> +/* Set lsb bit to 1 if branch is default true, 0 ot */
> +        struct jump_entry *entries;
> +};
[...]
> +static __always_inline bool static_key_false(struct static_key *key)
> +{
> +       return arch_static_branch(key);
> +}

arch_static_branch() expects a struct jump_label_key on the kernels
that this is used on. Won't this result in warnings about different
pointer types?

> diff --git a/datapath/linux/compat/include/linux/skbuff.h 
> b/datapath/linux/compat/include/linux/skbuff.h
> index 9868a98..3af3ddc 100644
> --- a/datapath/linux/compat/include/linux/skbuff.h
> +++ b/datapath/linux/compat/include/linux/skbuff.h
>  extern u32 __skb_get_rxhash(struct sk_buff *skb);
>  static inline __u32 skb_get_rxhash(struct sk_buff *skb)
>  {
>  #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,34)
> -       if (!skb->rxhash)
> +       if (skb->rxhash)
> +               return skb->rxhash;
>  #endif
>         return __skb_get_rxhash(skb);
>  }

It looks like this fixes an existing bug that could be bad on the
affected kernels. Should we backport this piece?
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to