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-26.01-dkms (Ubuntu)
     Importance: Critical
     Assignee: Alessio Faina (alessiofaina)
         Status: In Progress

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

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

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

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

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

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

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

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

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

Title:
  doca-ofed-26.01 fails to build on Kernel 7.0.0-39

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


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

Reply via email to