Commit 4af9939a authored by WangYuli's avatar WangYuli Committed by Jakub Kicinski
Browse files

mlxsw: spectrum_acl_bloom_filter: Workaround for some LLVM versions

This is a workaround to mitigate a compiler anomaly.

During LLVM toolchain compilation of this driver on s390x architecture, an
unreasonable __write_overflow_field warning occurs.

Contextually, chunk_index is restricted to 0, 1 or 2. By expanding these
possibilities, the compile warning is suppressed.

Fix follow error with clang-19 when -Werror:
  In file included from drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_bloom_filter.c:5:
  In file included from ./include/linux/gfp.h:7:
  In file included from ./include/linux/mmzone.h:8:
  In file included from ./include/linux/spinlock.h:63:
  In file included from ./include/linux/lockdep.h:14:
  In file included from ./include/linux/smp.h:13:
  In file included from ./include/linux/cpumask.h:12:
  In file included from ./include/linux/bitmap.h:13:
  In file included from ./include/linux/string.h:392:
  ./include/linux/fortify-string.h:571:4: error: call to '__write_overflow_field' declared with 'warning' attribute: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Werror,-Wattribute-warning]
    571 |                         __write_overflow_field(p_size_field, size);
        |                         ^
  1 error generated.

According to the testing, we can be fairly certain that this is a clang
compiler bug, impacting only clang-19 and below. Clang versions 20 and
21 do not exhibit this behavior.

Link: https://lore.kernel.org/all/484364B641C901CD+20250311141025.1624528-1-wangyuli@uniontech.com/


Fixes: 7585cacd ("mlxsw: spectrum_acl: Add Bloom filter handling")
Co-developed-by: default avatarZijian Chen <czj2441@163.com>
Signed-off-by: default avatarZijian Chen <czj2441@163.com>
Co-developed-by: default avatarWentao Guan <guanwentao@uniontech.com>
Signed-off-by: default avatarWentao Guan <guanwentao@uniontech.com>
Suggested-by: default avatarPaolo Abeni <pabeni@redhat.com>
Co-developed-by: default avatarIdo Schimmel <idosch@nvidia.com>
Signed-off-by: default avatarIdo Schimmel <idosch@nvidia.com>
Tested-by: default avatarIdo Schimmel <idosch@nvidia.com>
Tested-by: default avatarWangYuli <wangyuli@uniontech.com>
Signed-off-by: default avatarWangYuli <wangyuli@uniontech.com>
Link: https://patch.msgid.link/A1858F1D36E653E0+20250318103654.708077-1-wangyuli@uniontech.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 7a9536e7
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment