Subject: Re: [PATCH net-next 5/6] l2tp: add ac_pppoe pseudowire driver

From: Tom Parkin <[email-masked]>
Date: Thu, 1 Oct 2020 17:24:53 +0100

On  Thu, Oct 01, 2020 at 07:56:40 -0700, Jakub Kicinski wrote:
> On Wed, 30 Sep 2020 22:07:06 +0100 Tom Parkin wrote:
> > The AC/PPPoE driver implements pseudowire type L2TP_PWTYPE_PPP_AC, for
> > use in a PPPoE Access Concentrator configuration.  Rather than
> > terminating the PPP session locally, the AC/PPPoE driver forwards PPP
> > packets over an L2TP tunnel for termination at the LNS.
> > 
> > l2tp_ac_pppoe provides a data path for PPPoE session packets, and
> > should be instantiated once a userspace process has completed the PPPoE
> > discovery process.
> > 
> > To create an instance of an L2TP_PWTYPE_PPP_AC pseudowire, userspace
> > must use the L2TP_CMD_SESSION_CREATE netlink command, and pass the
> > following attributes:
> > 
> >  * L2TP_ATTR_IFNAME, to specify the name of the interface associated
> >    with the PPPoE session;
> >  * L2TP_ATTR_PPPOE_SESSION_ID, to specify the PPPoE session ID assigned
> >    to the session;
> >  * L2TP_ATTR_PPPOE_PEER_MAC_ADDR, to specify the MAC address of the
> >    PPPoE peer
> 
> C=1 generates:
> 
> net/l2tp/l2tp_ac_pppoe.c:234:20: warning: incorrect type in argument 1 (different address spaces)
> net/l2tp/l2tp_ac_pppoe.c:234:20:    expected struct net_device *dev
> net/l2tp/l2tp_ac_pppoe.c:234:20:    got struct net_device [noderef] __rcu *dev
> net/l2tp/l2tp_ac_pppoe.c:380:45: error: incompatible types in comparison expression (different address spaces):
> net/l2tp/l2tp_ac_pppoe.c:380:45:    struct net_device [noderef] __rcu *
> net/l2tp/l2tp_ac_pppoe.c:380:45:    struct net_device *

Thanks Jakub, and apologies for that slipping through.  My Sparse
installation on Ubuntu wasn't working -- I've updated it now and can
see the error you reported.