Skip to contentSkip to conversation

drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:9925:12: error: 'struct sk_buff' has no member named 'sp'; did you mean 'sk'?

PATCH New kbuild test robot 5 participants 6 messages Mar 20, 2018 – Mar 21, 2018

lore
Share & tools
lore

kbuild test robot

author build bot
#0 lore raw
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git dev-queue
head:   87cc3719efa6c6bd875e67892450bd03a9e147e4
commit: 747053c601fe8547518069b8791337716b71c4c6 [35/55] ixgbe: enable tso with ipsec offload
config: powerpc-skiroot_defconfig (attached as .config)
compiler: powerpc64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0

reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross
git checkout 747053c601fe8547518069b8791337716b71c4c6
# save the attached .config to linux build tree
make.cross ARCH=powerpc

All errors (new ones prefixed by >>):

drivers/net/ethernet/intel/ixgbe/ixgbe_main.c: In function 'ixgbe_features_check':

>> drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:9925:12: error: 'struct sk_buff' has no member named 'sp'; did you mean 'sk'?
         !skb->sp)
               ^~
               sk

vim +9925 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c

9896
9897 static netdev_features_t
9898 ixgbe_features_check(struct sk_buff *skb, struct net_device *dev,
9899 netdev_features_t features)
9900 {
9901 unsigned int network_hdr_len, mac_hdr_len;
9902
9903 /* Make certain the headers can be described by a context descriptor */
9904 mac_hdr_len = skb_network_header(skb) - skb->data;
9905 if (unlikely(mac_hdr_len > IXGBE_MAX_MAC_HDR_LEN))
9906 return features & ~(NETIF_F_HW_CSUM |

  9907					    NETIF_F_SCTP_CRC |
  9908					    NETIF_F_HW_VLAN_CTAG_TX |
  9909					    NETIF_F_TSO |
  9910					    NETIF_F_TSO6);
  9911	
  9912		network_hdr_len = skb_checksum_start(skb) - skb_network_header(skb);
  9913		if (unlikely(network_hdr_len >  IXGBE_MAX_NETWORK_HDR_LEN))
  9914			return features & ~(NETIF_F_HW_CSUM |
  9915					    NETIF_F_SCTP_CRC |
  9916					    NETIF_F_TSO |
  9917					    NETIF_F_TSO6);
  9918	
  9919		/* We can only support IPV4 TSO in tunnels if we can mangle the
  9920		 * inner IP ID field, so strip TSO if MANGLEID is not supported.
  9921		 * IPsec offoad sets skb->encapsulation but still can handle
  9922		 * the TSO, so it's the exception.
  9923		 */
  9924		if (skb->encapsulation && !(features & NETIF_F_TSO_MANGLEID) &&
> 9925		    !skb->sp)

9926 features &= ~NETIF_F_TSO;
9927
9928 return features;
9929 }
9930

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 20118 bytes
Desc: not available
URL: <http://lists.osuosl.org/pipermail/intel-wired-lan/attachments/20180321/b4465526/attachment-0001.bin>

#1 lore raw

PATCH 35/55 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:9925:12: error: 'struct sk_buff' has no member named 'sp'; did you mean 'sk'?

Quoted 52 lines · kbuild test robot
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git dev-queue
head:   87cc3719efa6c6bd875e67892450bd03a9e147e4
commit: 747053c601fe8547518069b8791337716b71c4c6 [35/55] ixgbe: enable tso with ipsec offload
config: powerpc-skiroot_defconfig (attached as .config)
compiler: powerpc64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0

reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross
git checkout 747053c601fe8547518069b8791337716b71c4c6
# save the attached .config to linux build tree
make.cross ARCH=powerpc

All errors (new ones prefixed by >>):

drivers/net/ethernet/intel/ixgbe/ixgbe_main.c: In function 'ixgbe_features_check':

Quoted 1 line
Quoted 1 line

drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:9925:12: error: 'struct sk_buff' has no member named 'sp'; did you mean 'sk'?

         !skb->sp)
               ^~
               sk

vim +9925 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c

9896
9897 static netdev_features_t
9898 ixgbe_features_check(struct sk_buff *skb, struct net_device *dev,
9899 netdev_features_t features)
9900 {
9901 unsigned int network_hdr_len, mac_hdr_len;
9902
9903 /* Make certain the headers can be described by a context descriptor */
9904 mac_hdr_len = skb_network_header(skb) - skb->data;
9905 if (unlikely(mac_hdr_len > IXGBE_MAX_MAC_HDR_LEN))
9906 return features & ~(NETIF_F_HW_CSUM |

  9907					    NETIF_F_SCTP_CRC |
  9908					    NETIF_F_HW_VLAN_CTAG_TX |
  9909					    NETIF_F_TSO |
  9910					    NETIF_F_TSO6);
  9911	
  9912		network_hdr_len = skb_checksum_start(skb) - skb_network_header(skb);
  9913		if (unlikely(network_hdr_len >  IXGBE_MAX_NETWORK_HDR_LEN))
  9914			return features & ~(NETIF_F_HW_CSUM |
  9915					    NETIF_F_SCTP_CRC |
  9916					    NETIF_F_TSO |
  9917					    NETIF_F_TSO6);

9918
9919 /* We can only support IPV4 TSO in tunnels if we can mangle the
9920 * inner IP ID field, so strip TSO if MANGLEID is not supported.
9921 * IPsec offoad sets skb->encapsulation but still can handle
9922 * the TSO, so it's the exception.
9923 */
9924 if (skb->encapsulation && !(features & NETIF_F_TSO_MANGLEID) &&

Quoted 6 lines
Quoted 1 line

9925 !skb->sp)

  9926			features &= ~NETIF_F_TSO;
  9927	
  9928		return features;
  9929	}

What you may want to look at doing in order to fix this is flip the logic like so:

	if (!skb->encapsulation || (features & NETIF_F_TSO_MANGLEID))
		return features;
#ifdef CONFIG_XFRM
	/* IPSec is a special case excluded from the above rule */
	if (skb->sp)
		return features;
#endif
	return features & ~NETIF_F_TSO;

Anyway just my $0.02, thanks.

- Alex

#2 lore raw

PATCH 35/55 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:9925:12: error: 'struct sk_buff' has no member named 'sp'; did you mean 'sk'?

Quoted 72 lines · Alexander H
Quoted 52 lines · kbuild test robot
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git dev-queue
head:   87cc3719efa6c6bd875e67892450bd03a9e147e4
commit: 747053c601fe8547518069b8791337716b71c4c6 [35/55] ixgbe: enable tso with ipsec offload
config: powerpc-skiroot_defconfig (attached as .config)
compiler: powerpc64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0

reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross
git checkout 747053c601fe8547518069b8791337716b71c4c6
# save the attached .config to linux build tree
make.cross ARCH=powerpc

All errors (new ones prefixed by >>):

drivers/net/ethernet/intel/ixgbe/ixgbe_main.c: In function 'ixgbe_features_check':

Quoted 1 line
Quoted 1 line

drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:9925:12: error: 'struct sk_buff' has no member named 'sp'; did you mean 'sk'?

          !skb->sp)
                ^~
                sk

vim +9925 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c

   9896	
   9897	static netdev_features_t
   9898	ixgbe_features_check(struct sk_buff *skb, struct net_device *dev,
   9899			     netdev_features_t features)
   9900	{
   9901		unsigned int network_hdr_len, mac_hdr_len;
   9902	
   9903		/* Make certain the headers can be described by a context descriptor */
   9904		mac_hdr_len = skb_network_header(skb) - skb->data;
   9905		if (unlikely(mac_hdr_len > IXGBE_MAX_MAC_HDR_LEN))
   9906			return features & ~(NETIF_F_HW_CSUM |
   9907					    NETIF_F_SCTP_CRC |
   9908					    NETIF_F_HW_VLAN_CTAG_TX |
   9909					    NETIF_F_TSO |
   9910					    NETIF_F_TSO6);
   9911	
   9912		network_hdr_len = skb_checksum_start(skb) - skb_network_header(skb);
   9913		if (unlikely(network_hdr_len >  IXGBE_MAX_NETWORK_HDR_LEN))
   9914			return features & ~(NETIF_F_HW_CSUM |
   9915					    NETIF_F_SCTP_CRC |
   9916					    NETIF_F_TSO |
   9917					    NETIF_F_TSO6);
   9918	
   9919		/* We can only support IPV4 TSO in tunnels if we can mangle the
   9920		 * inner IP ID field, so strip TSO if MANGLEID is not supported.
   9921		 * IPsec offoad sets skb->encapsulation but still can handle
   9922		 * the TSO, so it's the exception.
   9923		 */
   9924		if (skb->encapsulation && !(features & NETIF_F_TSO_MANGLEID) &&
Quoted 6 lines
Quoted 1 line

9925 !skb->sp)

   9926			features &= ~NETIF_F_TSO;
   9927	
   9928		return features;
   9929	}

What you may want to look at doing in order to fix this is flip the logic like so:

	if (!skb->encapsulation || (features & NETIF_F_TSO_MANGLEID))
		return features;
#ifdef CONFIG_XFRM
	/* IPSec is a special case excluded from the above rule */
	if (skb->sp)
		return features;
#endif
	return features & ~NETIF_F_TSO;
Quoted 1 line

Anyway just my $0.02, thanks.

Thanks, Alex, but I think this obfuscates the code a little, and might make it harder to add other feature concerns in the future. I'd rather keep the look of the exception if possible. Maybe something like this?

	if (skb->encapsulation && !(features & NETIF_F_TSO_MANGLEID))
#ifdef CONFIG_XFRM
		if (!skb->sp)
#endif
			features &= ~NETIF_F_TSO;

	return features;

sln

#3 lore raw

PATCH 35/55 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:9925:12: error: 'struct sk_buff' has no member named 'sp'; did you mean 'sk'?

Quoted 112 lines · Shannon Nelson
Quoted 93 lines · Alexander H
Quoted 70 lines · kbuild test robot

tree:
https://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git
dev-queue

head:   87cc3719efa6c6bd875e67892450bd03a9e147e4
commit: 747053c601fe8547518069b8791337716b71c4c6 [35/55] ixgbe: enable

tso with ipsec offload
config: powerpc-skiroot_defconfig (attached as .config)
compiler: powerpc64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 reproduce:
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 747053c601fe8547518069b8791337716b71c4c6 # save the attached .config to linux build tree make.cross ARCH=powerpc

All errors (new ones prefixed by >>):

drivers/net/ethernet/intel/ixgbe/ixgbe_main.c: In function
'ixgbe_features_check':

Quoted 3 lines
Quoted 3 lines

drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:9925:12: error: 'struct sk_buff' has no member named 'sp'; did you mean 'sk'?

          !skb->sp)
                ^~
                sk

vim +9925 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c

9896
9897 static netdev_features_t
9898 ixgbe_features_check(struct sk_buff *skb, struct net_device *dev,
9899 netdev_features_t features)

   9900 {
   9901         unsigned int network_hdr_len, mac_hdr_len;
   9902
   9903         /* Make certain the headers can be described by a context

descriptor */
9904 mac_hdr_len = skb_network_header(skb) - skb->data;
9905 if (unlikely(mac_hdr_len > IXGBE_MAX_MAC_HDR_LEN))
9906 return features & ~(NETIF_F_HW_CSUM |

   9907                                     NETIF_F_SCTP_CRC |
   9908                                     NETIF_F_HW_VLAN_CTAG_TX |
   9909                                     NETIF_F_TSO |
   9910                                     NETIF_F_TSO6);

9911
9912 network_hdr_len = skb_checksum_start(skb) -
skb_network_header(skb);
9913 if (unlikely(network_hdr_len >
IXGBE_MAX_NETWORK_HDR_LEN))
9914 return features & ~(NETIF_F_HW_CSUM |

   9915                                     NETIF_F_SCTP_CRC |
   9916                                     NETIF_F_TSO |
   9917                                     NETIF_F_TSO6);

9918
9919 /* We can only support IPV4 TSO in tunnels if we can
mangle the
9920 * inner IP ID field, so strip TSO if MANGLEID is not
supported.
9921 * IPsec offoad sets skb->encapsulation but still can
handle
9922 * the TSO, so it's the exception.
9923 */
9924 if (skb->encapsulation && !(features &
NETIF_F_TSO_MANGLEID) &&

Quoted 1 line
Quoted 7 lines
Quoted 1 line

9925 !skb->sp)

   9926                 features &= ~NETIF_F_TSO;
   9927
   9928         return features;
   9929 }

What you may want to look at doing in order to fix this is flip the logic like so:

        if (!skb->encapsulation || (features & NETIF_F_TSO_MANGLEID))
                return features;
#ifdef CONFIG_XFRM
        /* IPSec is a special case excluded from the above rule */
        if (skb->sp)
                return features;
#endif
        return features & ~NETIF_F_TSO;
Quoted 1 line

Anyway just my $0.02, thanks.

Thanks, Alex, but I think this obfuscates the code a little, and might make it harder to add other feature concerns in the future. I'd rather keep the look of the exception if possible. Maybe something like this?

        if (skb->encapsulation && !(features & NETIF_F_TSO_MANGLEID))
#ifdef CONFIG_XFRM
                if (!skb->sp)
#endif
                        features &= ~NETIF_F_TSO;

        return features;
Quoted 1 line

sln

That works. My only ask then would be add braces around the statement since it is technically a multi-line statement at that point.

- Alex

#4 lore raw

PATCH 35/55 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:9925:12: error: 'struct sk_buff' has no member named 'sp'; did you mean 'sk'?

Quoted 114 lines · Alexander Duyck
Quoted 112 lines · Shannon Nelson
Quoted 93 lines · Alexander H
Quoted 70 lines · kbuild test robot

tree:
https://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git
dev-queue

head:   87cc3719efa6c6bd875e67892450bd03a9e147e4
commit: 747053c601fe8547518069b8791337716b71c4c6 [35/55] ixgbe: enable

tso with ipsec offload
config: powerpc-skiroot_defconfig (attached as .config)
compiler: powerpc64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 reproduce:
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 747053c601fe8547518069b8791337716b71c4c6 # save the attached .config to linux build tree make.cross ARCH=powerpc

All errors (new ones prefixed by >>):

drivers/net/ethernet/intel/ixgbe/ixgbe_main.c: In function
'ixgbe_features_check':

Quoted 3 lines
Quoted 3 lines

drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:9925:12: error: 'struct sk_buff' has no member named 'sp'; did you mean 'sk'?

           !skb->sp)
                 ^~
                 sk

vim +9925 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c

9896
9897 static netdev_features_t
9898 ixgbe_features_check(struct sk_buff *skb, struct net_device *dev,
9899 netdev_features_t features)
9900 {
9901 unsigned int network_hdr_len, mac_hdr_len;
9902
9903 /* Make certain the headers can be described by a context
descriptor */
9904 mac_hdr_len = skb_network_header(skb) - skb->data;
9905 if (unlikely(mac_hdr_len > IXGBE_MAX_MAC_HDR_LEN))
9906 return features & ~(NETIF_F_HW_CSUM |
9907 NETIF_F_SCTP_CRC |
9908 NETIF_F_HW_VLAN_CTAG_TX |
9909 NETIF_F_TSO |
9910 NETIF_F_TSO6);
9911
9912 network_hdr_len = skb_checksum_start(skb) -
skb_network_header(skb);
9913 if (unlikely(network_hdr_len >
IXGBE_MAX_NETWORK_HDR_LEN))
9914 return features & ~(NETIF_F_HW_CSUM |
9915 NETIF_F_SCTP_CRC |
9916 NETIF_F_TSO |
9917 NETIF_F_TSO6);
9918
9919 /* We can only support IPV4 TSO in tunnels if we can
mangle the
9920 * inner IP ID field, so strip TSO if MANGLEID is not
supported.

    9921          * IPsec offoad sets skb->encapsulation but still can
handle
    9922          * the TSO, so it's the exception.
    9923          */
    9924         if (skb->encapsulation && !(features &

NETIF_F_TSO_MANGLEID) &&

Quoted 1 line
Quoted 7 lines
Quoted 1 line

9925 !skb->sp)

    9926                 features &= ~NETIF_F_TSO;
    9927
    9928         return features;
    9929 }

What you may want to look at doing in order to fix this is flip the logic like so:

         if (!skb->encapsulation || (features & NETIF_F_TSO_MANGLEID))
                 return features;
#ifdef CONFIG_XFRM
         /* IPSec is a special case excluded from the above rule */
         if (skb->sp)
                 return features;
#endif
         return features & ~NETIF_F_TSO;
Quoted 1 line

Anyway just my $0.02, thanks.

Thanks, Alex, but I think this obfuscates the code a little, and might make it harder to add other feature concerns in the future. I'd rather keep the look of the exception if possible. Maybe something like this?

         if (skb->encapsulation && !(features & NETIF_F_TSO_MANGLEID))
#ifdef CONFIG_XFRM
                 if (!skb->sp)
#endif
                         features &= ~NETIF_F_TSO;

         return features;
Quoted 7 lines
Quoted 1 line

sln

That works. My only ask then would be add braces around the statement since it is technically a multi-line statement at that point.

- Alex

Sure - that makes sense.

Jeff, can you tweak this inline or shall I repost it this afternoon?

sln

#5 lore raw

PATCH 35/55 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:9925:12: error: 'struct sk_buff' has no member named 'sp'; did you mean 'sk'?

Quoted 145 lines · Shannon Nelson
Quoted 144 lines · Alexander Duyck
Quoted 136 lines · Shannon Nelson
Quoted 114 lines · Alexander H
Quoted 88 lines · kbuild test robot

tree:
https://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next
-queue.git
dev-queue
head: 87cc3719efa6c6bd875e67892450bd03a9e147e4
commit: 747053c601fe8547518069b8791337716b71c4c6 [35/55]
ixgbe: enable
tso with ipsec offload
config: powerpc-skiroot_defconfig (attached as .config)
compiler: powerpc64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 reproduce:
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin
/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout
747053c601fe8547518069b8791337716b71c4c6

           # save the attached .config to linux build tree
           make.cross ARCH=powerpc

All errors (new ones prefixed by >>):

drivers/net/ethernet/intel/ixgbe/ixgbe_main.c: In
function
'ixgbe_features_check':

Quoted 4 lines
Quoted 4 lines

drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:9925:12:
error: 'struct
sk_buff' has no member named 'sp'; did you mean 'sk'?

            !skb->sp)
                  ^~
                  sk

vim +9925 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c

9896
9897 static netdev_features_t
9898 ixgbe_features_check(struct sk_buff *skb, struct
net_device *dev,

     9899                      netdev_features_t features)
     9900 {
     9901         unsigned int network_hdr_len, mac_hdr_len;
     9902
     9903         /* Make certain the headers can be

described by a context
descriptor */
9904 mac_hdr_len = skb_network_header(skb) -
skb->data;
9905 if (unlikely(mac_hdr_len >
IXGBE_MAX_MAC_HDR_LEN))
9906 return features & ~(NETIF_F_HW_CSUM
|

     9907                                    
NETIF_F_SCTP_CRC |
     9908                                    

NETIF_F_HW_VLAN_CTAG_TX |
9909 NETIF_F_TSO |
9910 NETIF_F_TSO6);
9911
9912 network_hdr_len = skb_checksum_start(skb) -
skb_network_header(skb);
9913 if (unlikely(network_hdr_len >
IXGBE_MAX_NETWORK_HDR_LEN))
9914 return features & ~(NETIF_F_HW_CSUM
|

     9915                                    

NETIF_F_SCTP_CRC |
9916 NETIF_F_TSO |
9917 NETIF_F_TSO6);
9918
9919 /* We can only support IPV4 TSO in tunnels
if we can
mangle the
9920 * inner IP ID field, so strip TSO if
MANGLEID is not
supported.

     9921          * IPsec offoad sets skb->encapsulation but
still can
handle
     9922          * the TSO, so it's the exception.
     9923          */
     9924         if (skb->encapsulation && !(features &

NETIF_F_TSO_MANGLEID) &&

Quoted 1 line
Quoted 7 lines
Quoted 1 line

9925 !skb->sp)

     9926                 features &= ~NETIF_F_TSO;
     9927
     9928         return features;
     9929 }

What you may want to look at doing in order to fix this is flip the
logic like so:

          if (!skb->encapsulation || (features &
NETIF_F_TSO_MANGLEID))
                  return features;
#ifdef CONFIG_XFRM
          /* IPSec is a special case excluded from the above
rule */
          if (skb->sp)
                  return features;
#endif
          return features & ~NETIF_F_TSO;
Quoted 1 line

Anyway just my $0.02, thanks.

Thanks, Alex, but I think this obfuscates the code a little, and might make
it harder to add other feature concerns in the future. I'd rather keep the
look of the exception if possible. Maybe something like this?

          if (skb->encapsulation && !(features &
NETIF_F_TSO_MANGLEID))
#ifdef CONFIG_XFRM
                  if (!skb->sp)
#endif
                          features &= ~NETIF_F_TSO;

          return features;
Quoted 1 line

sln

That works. My only ask then would be add braces around the statement
since it is technically a multi-line statement at that point.

Quoted 6 lines
Quoted 2 lines

- Alex

Sure - that makes sense.

Jeff, can you tweak this inline or shall I repost it this afternoon?

I can fix it inline.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <http://lists.osuosl.org/pipermail/intel-wired-lan/attachments/20180321/a447e5fc/attachment-0001.asc>