Re: [PATCH net-next] dissector: Use 64bits for used_keys

From: kernel test robot
Date: Wed Jul 26 2023 - 19:47:56 EST


Hi Ratheesh,

kernel test robot noticed the following build warnings:

[auto build test WARNING on net-next/main]

url: https://github.com/intel-lab-lkp/linux/commits/Ratheesh-Kannoth/dissector-Use-64bits-for-used_keys/20230726-211458
base: net-next/main
patch link: https://lore.kernel.org/r/20230726131223.1230526-1-rkannoth%40marvell.com
patch subject: [PATCH net-next] dissector: Use 64bits for used_keys
config: sparc-allyesconfig (https://download.01.org/0day-ci/archive/20230727/202307270742.fr5uXCME-lkp@xxxxxxxxx/config)
compiler: sparc64-linux-gcc (GCC) 12.3.0
reproduce: (https://download.01.org/0day-ci/archive/20230727/202307270742.fr5uXCME-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202307270742.fr5uXCME-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

In file included from include/linux/device.h:15,
from include/linux/acpi.h:14,
from drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c:4:
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c: In function 'hclge_parse_cls_flower':
>> drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c:7325:43: warning: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'long long unsigned int' [-Wformat=]
7325 | dev_err(&hdev->pdev->dev, "unsupported key set: %#lx\n",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/dev_printk.h:110:30: note: in definition of macro 'dev_printk_index_wrap'
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
include/linux/dev_printk.h:144:56: note: in expansion of macro 'dev_fmt'
144 | dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c:7325:17: note: in expansion of macro 'dev_err'
7325 | dev_err(&hdev->pdev->dev, "unsupported key set: %#lx\n",
| ^~~~~~~
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c:7325:68: note: format string is defined here
7325 | dev_err(&hdev->pdev->dev, "unsupported key set: %#lx\n",
| ~~~^
| |
| long unsigned int
| %#llx
--
In file included from include/linux/printk.h:564,
from include/asm-generic/bug.h:22,
from arch/sparc/include/asm/bug.h:25,
from include/linux/bug.h:5,
from include/linux/refcount.h:96,
from drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c:4:
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c: In function 'mlx5_ct_fs_smfs_ct_validate_flow_rule':
>> drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c:15:32: warning: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'long long unsigned int' [-Wformat=]
15 | netdev_dbg(fs->netdev, "ct_fs_smfs debug: " fmt "\n", ##args)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/dynamic_debug.h:222:29: note: in definition of macro '__dynamic_func_call_cls'
222 | func(&id, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/dynamic_debug.h:248:9: note: in expansion of macro '_dynamic_func_call_cls'
248 | _dynamic_func_call_cls(_DPRINTK_CLASS_DFLT, fmt, func, ##__VA_ARGS__)
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/dynamic_debug.h:275:9: note: in expansion of macro '_dynamic_func_call'
275 | _dynamic_func_call(fmt, __dynamic_netdev_dbg, \
| ^~~~~~~~~~~~~~~~~~
include/net/net_debug.h:57:9: note: in expansion of macro 'dynamic_netdev_dbg'
57 | dynamic_netdev_dbg(__dev, format, ##args); \
| ^~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c:15:9: note: in expansion of macro 'netdev_dbg'
15 | netdev_dbg(fs->netdev, "ct_fs_smfs debug: " fmt "\n", ##args)
| ^~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c:255:17: note: in expansion of macro 'ct_dbg'
255 | ct_dbg("rule uses unexpected dissectors (0x%016x)",
| ^~~~~~


vim +7325 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c

7309
7310 static int hclge_parse_cls_flower(struct hclge_dev *hdev,
7311 struct flow_cls_offload *cls_flower,
7312 struct hclge_fd_rule *rule)
7313 {
7314 struct flow_rule *flow = flow_cls_offload_flow_rule(cls_flower);
7315 struct flow_dissector *dissector = flow->match.dissector;
7316
7317 if (dissector->used_keys &
7318 ~(BIT_ULL(FLOW_DISSECTOR_KEY_CONTROL) |
7319 BIT_ULL(FLOW_DISSECTOR_KEY_BASIC) |
7320 BIT_ULL(FLOW_DISSECTOR_KEY_ETH_ADDRS) |
7321 BIT_ULL(FLOW_DISSECTOR_KEY_VLAN) |
7322 BIT_ULL(FLOW_DISSECTOR_KEY_IPV4_ADDRS) |
7323 BIT_ULL(FLOW_DISSECTOR_KEY_IPV6_ADDRS) |
7324 BIT_ULL(FLOW_DISSECTOR_KEY_PORTS))) {
> 7325 dev_err(&hdev->pdev->dev, "unsupported key set: %#lx\n",
7326 dissector->used_keys);
7327 return -EOPNOTSUPP;
7328 }
7329
7330 hclge_get_cls_key_basic(flow, rule);
7331 hclge_get_cls_key_mac(flow, rule);
7332 hclge_get_cls_key_vlan(flow, rule);
7333 hclge_get_cls_key_ip(flow, rule);
7334 hclge_get_cls_key_port(flow, rule);
7335
7336 return 0;
7337 }
7338

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki