net/mlx5e: Align IPsec ASO result memory to be as required by hardware
authorLeon Romanovsky <leonro@nvidia.com>
Sun, 19 Feb 2023 09:09:10 +0000 (11:09 +0200)
committerJakub Kicinski <kuba@kernel.org>
Tue, 21 Feb 2023 00:52:56 +0000 (16:52 -0800)
Hardware requires an alignment to 64 bytes to return ASO data. Missing
this alignment caused to unpredictable results while ASO events were
generated.

Fixes: 8518d05b8f9a ("net/mlx5e: Create Advanced Steering Operation object for IPsec")
Reported-by: Emeel Hakim <ehakim@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Link: https://lore.kernel.org/r/de0302c572b90c9224a72868d4e0d657b6313c4b.1676797613.git.leon@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.h

index ddd7be05f18f7ccff06b35b9776f006b969cec4d..12f044330639a6d534af7c45358054ddcca9ef15 100644 (file)
@@ -129,7 +129,7 @@ struct mlx5e_ipsec_work {
 };
 
 struct mlx5e_ipsec_aso {
-       u8 ctx[MLX5_ST_SZ_BYTES(ipsec_aso)];
+       u8 __aligned(64) ctx[MLX5_ST_SZ_BYTES(ipsec_aso)];
        dma_addr_t dma_addr;
        struct mlx5_aso *aso;
        /* Protect ASO WQ access, as it is global to whole IPsec */