Public bug reported:

SRU Justification

[ Impact ]

While updating the kernel with upstream patches, and movig to revision
7.0.0-39, the package stopped building for the following issue

drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c: In function 
‘mlx5e_xmit_xdp_frame_mpwqe’:
drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c:673:41: error: passing 
argument 1 of ‘xsk_tx_metadata_request’ from incompatible pointer type 
[-Wincompatible-pointer-types]
  673 | xsk_tx_metadata_request(meta, &mlx5e_xsk_tx_metadata_ops, 
&session->wqe->eth);
      | ^~~~
      | |
      | struct xsk_tx_metadata *
In file included from 
/var/lib/dkms/doca-ofed-26.01-dkms/26.01.1.0.0.0.609.1/build/mlnx-ofed-kernel/include/net/xdp_sock_drv.h:7,
                 from drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c:44:
/usr/src/linux-headers-7.0.0-39-generic/include/net/xdp_sock_drv.h:286:53: 
note: expected ‘const struct xsk_buff_pool *’ but argument is of type ‘struct 
xsk_tx_metadata *’
  286 | xsk_tx_metadata_request(const struct xsk_buff_pool *pool,
      | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c:673:47: error: passing 
argument 2 of ‘xsk_tx_metadata_request’ from incompatible pointer type 
[-Wincompatible-pointer-types]
  673 | xsk_tx_metadata_request(meta, &mlx5e_xsk_tx_metadata_ops, 
&session->wqe->eth);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
      | |
      | const struct xsk_tx_metadata_ops *
/usr/src/linux-headers-7.0.0-39-generic/include/net/xdp_sock_drv.h:287:50: 
note: expected ‘struct xsk_tx_metadata **’ but argument is of type ‘const 
struct xsk_tx_metadata_ops *’
  287 | struct xsk_tx_metadata **pmeta,
      | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c:673:75: error: passing 
argument 3 of ‘xsk_tx_metadata_request’ from incompatible pointer type 
[-Wincompatible-pointer-types]
  673 | xsk_tx_metadata_request(meta, &mlx5e_xsk_tx_metadata_ops, 
&session->wqe->eth);
      | ^~~~~~~~~~~~~~~~~~
      | |
      | struct mlx5_wqe_eth_seg *
/usr/src/linux-headers-7.0.0-39-generic/include/net/xdp_sock_drv.h:288:59: 
note: expected ‘const struct xsk_tx_metadata_ops *’ but argument is of type 
‘struct mlx5_wqe_eth_seg *’
  288 | const struct xsk_tx_metadata_ops *ops, void *priv)
      | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c:673:17: error: too few 
arguments to function ‘xsk_tx_metadata_request’; expected 4, have 3
  673 | xsk_tx_metadata_request(meta, &mlx5e_xsk_tx_metadata_ops, 
&session->wqe->eth);
      | ^~~~~~~~~~~~~~~~~~~~~~~
/usr/src/linux-headers-7.0.0-39-generic/include/net/xdp_sock_drv.h:286:1: note: 
declared here
  286 | xsk_tx_metadata_request(const struct xsk_buff_pool *pool,
      | ^~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c: In function 
‘mlx5e_xmit_xdp_frame’:
drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c:867:33: error: passing 
argument 1 of ‘xsk_tx_metadata_request’ from incompatible pointer type 
[-Wincompatible-pointer-types]
  867 | xsk_tx_metadata_request(meta, &mlx5e_xsk_tx_metadata_ops, eseg);
      | ^~~~
      | |
      | struct xsk_tx_metadata *
/usr/src/linux-headers-7.0.0-39-generic/include/net/xdp_sock_drv.h:286:53: 
note: expected ‘const struct xsk_buff_pool *’ but argument is of type ‘struct 
xsk_tx_metadata *’
  286 | xsk_tx_metadata_request(const struct xsk_buff_pool *pool,
      | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c:867:39: error: passing 
argument 2 of ‘xsk_tx_metadata_request’ from incompatible pointer type 
[-Wincompatible-pointer-types]
  867 | xsk_tx_metadata_request(meta, &mlx5e_xsk_tx_metadata_ops, eseg);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
      | |
      | const struct xsk_tx_metadata_ops *
/usr/src/linux-headers-7.0.0-39-generic/include/net/xdp_sock_drv.h:287:50: 
note: expected ‘struct xsk_tx_metadata **’ but argument is of type ‘const 
struct xsk_tx_metadata_ops *’
  287 | struct xsk_tx_metadata **pmeta,
      | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c:867:67: error: passing 
argument 3 of ‘xsk_tx_metadata_request’ from incompatible pointer type 
[-Wincompatible-pointer-types]
  867 | xsk_tx_metadata_request(meta, &mlx5e_xsk_tx_metadata_ops, eseg);
      | ^~~~
      | |
      | struct mlx5_wqe_eth_seg *
/usr/src/linux-headers-7.0.0-39-generic/include/net/xdp_sock_drv.h:288:59: 
note: expected ‘const struct xsk_tx_metadata_ops *’ but argument is of type 
‘struct mlx5_wqe_eth_seg *’
  288 | const struct xsk_tx_metadata_ops *ops, void *priv)
      | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c:867:9: error: too few 
arguments to function ‘xsk_tx_metadata_request’; expected 4, have 3
  867 | xsk_tx_metadata_request(meta, &mlx5e_xsk_tx_metadata_ops, eseg);
      | ^~~~~~~~~~~~~~~~~~~~~~~
/usr/src/linux-headers-7.0.0-39-generic/include/net/xdp_sock_drv.h:286:1: note: 
declared here
  286 | xsk_tx_metadata_request(const struct xsk_buff_pool *pool,
      | ^~~~~~~~~~~~~~~~~~~~~~~
make[5]: *** 
[/usr/src/linux-headers-7.0.0-39-generic/scripts/Makefile.build:289: 
drivers/net/ethernet/mellanox/mlx5/core/en/xdp.o] Error 1

This is due to an upstream API change.

[ Fix ]

Add a macro that follows the new API directives if we're building for
kernel 7.0.0-39+

[ What could go wrong ]

If the API changes some internal behaviour, this patch might not take
that into account and might have unexpected side effects

** Affects: doca-ofed-3.4-dkms (Ubuntu)
     Importance: Critical
     Assignee: Alessio Faina (alessiofaina)
         Status: In Progress

** Affects: doca-ofed-3.4-dkms (Ubuntu Resolute)
     Importance: Critical
     Assignee: Alessio Faina (alessiofaina)
         Status: In Progress

** Also affects: doca-ofed-3.4-dkms (Ubuntu Resolute)
   Importance: Undecided
       Status: New

** Changed in: doca-ofed-3.4-dkms (Ubuntu)
       Status: New => In Progress

** Changed in: doca-ofed-3.4-dkms (Ubuntu Resolute)
       Status: New => In Progress

** Changed in: doca-ofed-3.4-dkms (Ubuntu)
   Importance: Undecided => Critical

** Changed in: doca-ofed-3.4-dkms (Ubuntu Resolute)
   Importance: Undecided => Critical

** Changed in: doca-ofed-3.4-dkms (Ubuntu)
     Assignee: (unassigned) => Alessio Faina (alessiofaina)

** Changed in: doca-ofed-3.4-dkms (Ubuntu Resolute)
     Assignee: (unassigned) => Alessio Faina (alessiofaina)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2168511

Title:
  doca-ofed-3.4-dkms fails to build in Kernel 7.0.0-39

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/doca-ofed-3.4-dkms/+bug/2168511/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to