On Thu, Jun 18, 2020 at 12:19 AM Jakub Kicinski <[email protected]> wrote:
>
> On Wed, 17 Jun 2020 01:36:28 +0800 Xin Long wrote:
> > This patch is to register a callback function tunnel6_rcv_cb with
> > is_ipip set in a xfrm_input_afinfo object for tunnel6 and tunnel46.
> >
> > It will be called by xfrm_rcv_cb() from xfrm_input() when family
> > is AF_INET6 and proto is IPPROTO_IPIP or IPPROTO_IPV6.
> >
> > Signed-off-by: Xin Long <[email protected]>
>
> net/ipv6/tunnel6.c:163:14: warning: incorrect type in assignment (different
> address spaces)
> net/ipv6/tunnel6.c:163:14: expected struct xfrm6_tunnel *head
> net/ipv6/tunnel6.c:163:14: got struct xfrm6_tunnel [noderef] <asn:4> *
> net/ipv6/tunnel6.c:165:9: error: incompatible types in comparison expression
> (different address spaces):
> net/ipv6/tunnel6.c:165:9: struct xfrm6_tunnel [noderef] <asn:4> *
> net/ipv6/tunnel6.c:165:9: struct xfrm6_tunnel *
will change to:
static int tunnel6_rcv_cb(struct sk_buff *skb, u8 proto, int err)
{
- struct xfrm6_tunnel *head, *handler;
+ struct xfrm6_tunnel __rcu *head;
+ struct xfrm6_tunnel *handler;
int ret;