Comment 12 for bug 1848585

Revision history for this message
Christian Ehrhardt  (paelzer) wrote : Re: dpdk 18.11.2-4 ADT test failure with linux 5.4.0-1.2

Next issue is around skb_frag_size_sub skb_frag_dma_map skb_frag_address

/usr/src/dpdk-rte-kni-18.11.2/ethtool/igb/igb_main.c:5352:12: error: assignment to ‘struct skb_frag_struct *’ from incompatible pointer type ‘skb_frag_t *’ {aka ‘struct bio_vec *’} [-Werror=incompatible-pointer-types]
 5352 | for (frag = &skb_shinfo(skb)->frags[0];; frag++) {
      | ^
/usr/src/dpdk-rte-kni-18.11.2/ethtool/igb/igb_main.c:5352:47: error: increment of pointer to an incomplete type ‘struct skb_frag_struct’
 5352 | for (frag = &skb_shinfo(skb)->frags[0];; frag++) {
      | ^~
/usr/src/dpdk-rte-kni-18.11.2/ethtool/igb/igb_main.c:5393:24: error: passing argument 1 of ‘skb_frag_size’ from incompatible pointer type [-Werror=incompatible-pointer-types]
 5393 | size = skb_frag_size(frag);
      | ^~~~
      | |
      | struct skb_frag_struct *
In file included from ./include/linux/if_ether.h:19,
                 from ./include/uapi/linux/ethtool.h:19,
                 from ./include/linux/ethtool.h:18,
                 from ./include/linux/netdevice.h:37,
                 from /usr/src/dpdk-rte-kni-18.11.2/ethtool/igb/igb_main.c:18:
./include/linux/skbuff.h:325:60: note: expected ‘const skb_frag_t *’ {aka ‘const struct bio_vec *’} but argument is of type ‘struct skb_frag_struct *’
  325 | static inline unsigned int skb_frag_size(const skb_frag_t *frag)
      | ~~~~~~~~~~~~~~~~~~^~~~
/usr/src/dpdk-rte-kni-18.11.2/ethtool/igb/igb_main.c:5396:40: error: passing argument 2 of ‘skb_frag_dma_map’ from incompatible pointer type [-Werror=incompatible-pointer-types]
 5396 | dma = skb_frag_dma_map(tx_ring->dev, frag, 0,
      | ^~~~
      | |
      | struct skb_frag_struct *
In file included from ./include/linux/if_ether.h:19,
                 from ./include/uapi/linux/ethtool.h:19,
                 from ./include/linux/ethtool.h:18,
                 from ./include/linux/netdevice.h:37,
                 from /usr/src/dpdk-rte-kni-18.11.2/ethtool/igb/igb_main.c:18:
./include/linux/skbuff.h:3050:26: note: expected ‘const skb_frag_t *’ {aka ‘const struct bio_vec *’} but argument is of type ‘struct skb_frag_struct *’
 3050 | const skb_frag_t *frag,
      | ~~~~~~~~~~~~~~~~~~^~~~
/usr/src/dpdk-rte-kni-18.11.2/ethtool/igb/igb_main.c: In function ‘igb_pull_tail’:
/usr/src/dpdk-rte-kni-18.11.2/ethtool/igb/igb_main.c:8234:33: error: initialization of ‘struct skb_frag_struct *’ from incompatible pointer type ‘skb_frag_t *’ {aka ‘struct bio_vec *’} [-Werror=incompatible-pointer-types]
 8234 | struct skb_frag_struct *frag = &skb_shinfo(skb)->frags[0];
      | ^
/usr/src/dpdk-rte-kni-18.11.2/ethtool/igb/igb_main.c:8243:24: error: passing argument 1 of ‘skb_frag_address’ from incompatible pointer type [-Werror=incompatible-pointer-types]
 8243 | va = skb_frag_address(frag);
      | ^~~~
      | |
      | struct skb_frag_struct *

...