Patch "mlx5: stop warning for 64KB pages" has been added to the 6.8-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    mlx5: stop warning for 64KB pages

to the 6.8-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     mlx5-stop-warning-for-64kb-pages.patch
and it can be found in the queue-6.8 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 370949ae1f3609f2627d8f51c4a41a9f6fb950ea
Author: Arnd Bergmann <arnd@xxxxxxxx>
Date:   Thu Mar 28 15:30:46 2024 +0100

    mlx5: stop warning for 64KB pages
    
    [ Upstream commit a5535e5336943b33689f558199366102387b7bbf ]
    
    When building with 64KB pages, clang points out that xsk->chunk_size
    can never be PAGE_SIZE:
    
    drivers/net/ethernet/mellanox/mlx5/core/en/xsk/setup.c:19:22: error: result of comparison of constant 65536 with expression of type 'u16' (aka 'unsigned short') is always false [-Werror,-Wtautological-constant-out-of-range-compare]
            if (xsk->chunk_size > PAGE_SIZE ||
                ~~~~~~~~~~~~~~~ ^ ~~~~~~~~~
    
    In older versions of this code, using PAGE_SIZE was the only
    possibility, so this would have never worked on 64KB page kernels,
    but the patch apparently did not address this case completely.
    
    As Maxim Mikityanskiy suggested, 64KB chunks are really not all that
    useful, so just shut up the warning by adding a cast.
    
    Fixes: 282c0c798f8e ("net/mlx5e: Allow XSK frames smaller than a page")
    Link: https://lore.kernel.org/netdev/20211013150232.2942146-1-arnd@xxxxxxxxxx/
    Link: https://lore.kernel.org/lkml/a7b27541-0ebb-4f2d-bd06-270a4d404613@xxxxxxxxxxxxxxxx/
    Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
    Acked-by: Maxim Mikityanskiy <maxtram95@xxxxxxxxx>
    Reviewed-by: Justin Stitt <justinstitt@xxxxxxxxxx>
    Reviewed-by: Tariq Toukan <tariqt@xxxxxxxxxx>
    Link: https://lore.kernel.org/r/20240328143051.1069575-9-arnd@xxxxxxxxxx
    Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/setup.c b/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/setup.c
index 82e6abbc17342..c969b8e709804 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/setup.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/setup.c
@@ -28,8 +28,10 @@ bool mlx5e_validate_xsk_param(struct mlx5e_params *params,
 			      struct mlx5e_xsk_param *xsk,
 			      struct mlx5_core_dev *mdev)
 {
-	/* AF_XDP doesn't support frames larger than PAGE_SIZE. */
-	if (xsk->chunk_size > PAGE_SIZE || xsk->chunk_size < MLX5E_MIN_XSK_CHUNK_SIZE) {
+	/* AF_XDP doesn't support frames larger than PAGE_SIZE,
+	 * and xsk->chunk_size is limited to 65535 bytes.
+	 */
+	if ((size_t)xsk->chunk_size > PAGE_SIZE || xsk->chunk_size < MLX5E_MIN_XSK_CHUNK_SIZE) {
 		mlx5_core_err(mdev, "XSK chunk size %u out of bounds [%u, %lu]\n", xsk->chunk_size,
 			      MLX5E_MIN_XSK_CHUNK_SIZE, PAGE_SIZE);
 		return false;




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux