* [linux-next:master 4848/7639] drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec_fs.c:539:6: warning: variable 'macsec_rule' is used uninitialized whenever 'if' condition is true
@ 2022-09-17 20:15 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-09-17 20:15 UTC (permalink / raw)
To: Lior Nahmanson
Cc: llvm, kbuild-all, Linux Memory Management List, Raed Salem,
Saeed Mahameed
Hi Lior,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: d5538ab91d3a9a237805be6f8c6c272af2987995
commit: 3b20949cb21bac26d50cdcc58896802a890cfe15 [4848/7639] net/mlx5e: Add MACsec RX steering rules
config: i386-allyesconfig (https://download.01.org/0day-ci/archive/20220918/202209180446.ALAcTaPL-lkp@intel.com/config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=3b20949cb21bac26d50cdcc58896802a890cfe15
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout 3b20949cb21bac26d50cdcc58896802a890cfe15
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/net/ethernet/mellanox/mlx5/core/
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec_fs.c:539:6: warning: variable 'macsec_rule' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
if (err)
^~~
drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec_fs.c:598:9: note: uninitialized use occurs here
return macsec_rule;
^~~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec_fs.c:539:2: note: remove the 'if' if its condition is always false
if (err)
^~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec_fs.c:523:38: note: initialize the variable 'macsec_rule' to silence this warning
union mlx5e_macsec_rule *macsec_rule;
^
= NULL
drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec_fs.c:1131:6: warning: variable 'macsec_rule' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
if (err)
^~~
drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec_fs.c:1215:9: note: uninitialized use occurs here
return macsec_rule;
^~~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec_fs.c:1131:2: note: remove the 'if' if its condition is always false
if (err)
^~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec_fs.c:1118:38: note: initialize the variable 'macsec_rule' to silence this warning
union mlx5e_macsec_rule *macsec_rule;
^
= NULL
2 warnings generated.
vim +539 drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec_fs.c
e467b283ffd50c Lior Nahmanson 2022-09-05 510
3b20949cb21bac Lior Nahmanson 2022-09-05 511 static union mlx5e_macsec_rule *
e467b283ffd50c Lior Nahmanson 2022-09-05 512 macsec_fs_tx_add_rule(struct mlx5e_macsec_fs *macsec_fs,
e467b283ffd50c Lior Nahmanson 2022-09-05 513 const struct macsec_context *macsec_ctx,
9515978eee0b93 Lior Nahmanson 2022-09-05 514 struct mlx5_macsec_rule_attrs *attrs,
9515978eee0b93 Lior Nahmanson 2022-09-05 515 u32 *sa_fs_id)
e467b283ffd50c Lior Nahmanson 2022-09-05 516 {
e467b283ffd50c Lior Nahmanson 2022-09-05 517 char reformatbf[MLX5_MACSEC_TAG_LEN + MACSEC_SCI_LEN];
e467b283ffd50c Lior Nahmanson 2022-09-05 518 struct mlx5_pkt_reformat_params reformat_params = {};
e467b283ffd50c Lior Nahmanson 2022-09-05 519 struct mlx5e_macsec_tx *tx_fs = macsec_fs->tx_fs;
e467b283ffd50c Lior Nahmanson 2022-09-05 520 struct net_device *netdev = macsec_fs->netdev;
e467b283ffd50c Lior Nahmanson 2022-09-05 521 struct mlx5_flow_destination dest = {};
3b20949cb21bac Lior Nahmanson 2022-09-05 522 struct mlx5e_macsec_tables *tx_tables;
3b20949cb21bac Lior Nahmanson 2022-09-05 523 union mlx5e_macsec_rule *macsec_rule;
e467b283ffd50c Lior Nahmanson 2022-09-05 524 struct mlx5e_macsec_tx_rule *tx_rule;
e467b283ffd50c Lior Nahmanson 2022-09-05 525 struct mlx5_flow_act flow_act = {};
e467b283ffd50c Lior Nahmanson 2022-09-05 526 struct mlx5_flow_handle *rule;
e467b283ffd50c Lior Nahmanson 2022-09-05 527 struct mlx5_flow_spec *spec;
e467b283ffd50c Lior Nahmanson 2022-09-05 528 size_t reformat_size;
e467b283ffd50c Lior Nahmanson 2022-09-05 529 int err = 0;
e467b283ffd50c Lior Nahmanson 2022-09-05 530 u32 fs_id;
e467b283ffd50c Lior Nahmanson 2022-09-05 531
3b20949cb21bac Lior Nahmanson 2022-09-05 532 tx_tables = &tx_fs->tables;
3b20949cb21bac Lior Nahmanson 2022-09-05 533
e467b283ffd50c Lior Nahmanson 2022-09-05 534 spec = kvzalloc(sizeof(*spec), GFP_KERNEL);
e467b283ffd50c Lior Nahmanson 2022-09-05 535 if (!spec)
e467b283ffd50c Lior Nahmanson 2022-09-05 536 return NULL;
e467b283ffd50c Lior Nahmanson 2022-09-05 537
e467b283ffd50c Lior Nahmanson 2022-09-05 538 err = macsec_fs_tx_ft_get(macsec_fs);
e467b283ffd50c Lior Nahmanson 2022-09-05 @539 if (err)
e467b283ffd50c Lior Nahmanson 2022-09-05 540 goto out_spec;
e467b283ffd50c Lior Nahmanson 2022-09-05 541
3b20949cb21bac Lior Nahmanson 2022-09-05 542 macsec_rule = kzalloc(sizeof(*macsec_rule), GFP_KERNEL);
3b20949cb21bac Lior Nahmanson 2022-09-05 543 if (!macsec_rule) {
e467b283ffd50c Lior Nahmanson 2022-09-05 544 macsec_fs_tx_ft_put(macsec_fs);
e467b283ffd50c Lior Nahmanson 2022-09-05 545 goto out_spec;
e467b283ffd50c Lior Nahmanson 2022-09-05 546 }
e467b283ffd50c Lior Nahmanson 2022-09-05 547
3b20949cb21bac Lior Nahmanson 2022-09-05 548 tx_rule = &macsec_rule->tx_rule;
3b20949cb21bac Lior Nahmanson 2022-09-05 549
e467b283ffd50c Lior Nahmanson 2022-09-05 550 /* Tx crypto table crypto rule */
e467b283ffd50c Lior Nahmanson 2022-09-05 551 macsec_fs_tx_create_sectag_header(macsec_ctx, reformatbf, &reformat_size);
e467b283ffd50c Lior Nahmanson 2022-09-05 552
e467b283ffd50c Lior Nahmanson 2022-09-05 553 reformat_params.type = MLX5_REFORMAT_TYPE_ADD_MACSEC;
e467b283ffd50c Lior Nahmanson 2022-09-05 554 reformat_params.size = reformat_size;
e467b283ffd50c Lior Nahmanson 2022-09-05 555 reformat_params.data = reformatbf;
e467b283ffd50c Lior Nahmanson 2022-09-05 556 flow_act.pkt_reformat = mlx5_packet_reformat_alloc(macsec_fs->mdev,
e467b283ffd50c Lior Nahmanson 2022-09-05 557 &reformat_params,
e467b283ffd50c Lior Nahmanson 2022-09-05 558 MLX5_FLOW_NAMESPACE_EGRESS_MACSEC);
e467b283ffd50c Lior Nahmanson 2022-09-05 559 if (IS_ERR(flow_act.pkt_reformat)) {
e467b283ffd50c Lior Nahmanson 2022-09-05 560 err = PTR_ERR(flow_act.pkt_reformat);
e467b283ffd50c Lior Nahmanson 2022-09-05 561 netdev_err(netdev, "Failed to allocate MACsec Tx reformat context err=%d\n", err);
e467b283ffd50c Lior Nahmanson 2022-09-05 562 goto err;
e467b283ffd50c Lior Nahmanson 2022-09-05 563 }
e467b283ffd50c Lior Nahmanson 2022-09-05 564 tx_rule->pkt_reformat = flow_act.pkt_reformat;
e467b283ffd50c Lior Nahmanson 2022-09-05 565
e467b283ffd50c Lior Nahmanson 2022-09-05 566 err = macsec_fs_tx_setup_fte(macsec_fs, spec, &flow_act, attrs->macsec_obj_id, &fs_id);
e467b283ffd50c Lior Nahmanson 2022-09-05 567 if (err) {
e467b283ffd50c Lior Nahmanson 2022-09-05 568 netdev_err(netdev,
e467b283ffd50c Lior Nahmanson 2022-09-05 569 "Failed to add packet reformat for MACsec TX crypto rule, err=%d\n",
e467b283ffd50c Lior Nahmanson 2022-09-05 570 err);
e467b283ffd50c Lior Nahmanson 2022-09-05 571 goto err;
e467b283ffd50c Lior Nahmanson 2022-09-05 572 }
e467b283ffd50c Lior Nahmanson 2022-09-05 573
e467b283ffd50c Lior Nahmanson 2022-09-05 574 tx_rule->fs_id = fs_id;
9515978eee0b93 Lior Nahmanson 2022-09-05 575 *sa_fs_id = fs_id;
e467b283ffd50c Lior Nahmanson 2022-09-05 576
e467b283ffd50c Lior Nahmanson 2022-09-05 577 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST |
e467b283ffd50c Lior Nahmanson 2022-09-05 578 MLX5_FLOW_CONTEXT_ACTION_CRYPTO_ENCRYPT |
e467b283ffd50c Lior Nahmanson 2022-09-05 579 MLX5_FLOW_CONTEXT_ACTION_PACKET_REFORMAT;
e467b283ffd50c Lior Nahmanson 2022-09-05 580 dest.type = MLX5_FLOW_DESTINATION_TYPE_FLOW_TABLE;
3b20949cb21bac Lior Nahmanson 2022-09-05 581 dest.ft = tx_tables->ft_check;
3b20949cb21bac Lior Nahmanson 2022-09-05 582 rule = mlx5_add_flow_rules(tx_tables->ft_crypto.t, spec, &flow_act, &dest, 1);
e467b283ffd50c Lior Nahmanson 2022-09-05 583 if (IS_ERR(rule)) {
e467b283ffd50c Lior Nahmanson 2022-09-05 584 err = PTR_ERR(rule);
e467b283ffd50c Lior Nahmanson 2022-09-05 585 netdev_err(netdev, "Failed to add MACsec TX crypto rule, err=%d\n", err);
e467b283ffd50c Lior Nahmanson 2022-09-05 586 goto err;
e467b283ffd50c Lior Nahmanson 2022-09-05 587 }
e467b283ffd50c Lior Nahmanson 2022-09-05 588 tx_rule->rule = rule;
e467b283ffd50c Lior Nahmanson 2022-09-05 589
e467b283ffd50c Lior Nahmanson 2022-09-05 590 goto out_spec;
e467b283ffd50c Lior Nahmanson 2022-09-05 591
e467b283ffd50c Lior Nahmanson 2022-09-05 592 err:
e467b283ffd50c Lior Nahmanson 2022-09-05 593 macsec_fs_tx_del_rule(macsec_fs, tx_rule);
3b20949cb21bac Lior Nahmanson 2022-09-05 594 macsec_rule = NULL;
e467b283ffd50c Lior Nahmanson 2022-09-05 595 out_spec:
e467b283ffd50c Lior Nahmanson 2022-09-05 596 kvfree(spec);
e467b283ffd50c Lior Nahmanson 2022-09-05 597
3b20949cb21bac Lior Nahmanson 2022-09-05 598 return macsec_rule;
e467b283ffd50c Lior Nahmanson 2022-09-05 599 }
e467b283ffd50c Lior Nahmanson 2022-09-05 600
:::::: The code at line 539 was first introduced by commit
:::::: e467b283ffd50cf15b84c73eef68787e257eaed5 net/mlx5e: Add MACsec TX steering rules
:::::: TO: Lior Nahmanson <liorna@nvidia.com>
:::::: CC: David S. Miller <davem@davemloft.net>
--
0-DAY CI Kernel Test Service
https://01.org/lkp
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-09-17 20:16 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-09-17 20:15 [linux-next:master 4848/7639] drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec_fs.c:539:6: warning: variable 'macsec_rule' is used uninitialized whenever 'if' condition is true kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.