From: Leon Romanovsky <leon@kernel.org>
To: Dan Carpenter <dan.carpenter@linaro.org>
Cc: oe-kbuild@lists.linux.dev, Patrisious Haddad <phaddad@nvidia.com>,
lkp@intel.com, oe-kbuild-all@lists.linux.dev,
linux-kernel@vger.kernel.org, Mark Bloch <mbloch@nvidia.com>
Subject: Re: drivers/net/ethernet/mellanox/mlx5/core/lib/ipsec_fs_roce.c:170 ipsec_fs_roce_rx_rule_setup() warn: missing error code 'err'
Date: Mon, 29 Jan 2024 11:07:42 +0200 [thread overview]
Message-ID: <20240129090742.GB8285@unreal> (raw)
In-Reply-To: <57817f40-9979-44d7-9f76-d1bf1e06cf39@moroto.mountain>
On Mon, Jan 22, 2024 at 10:17:26AM +0300, Dan Carpenter wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: 80fc600fafee8ba981da6ed41a572800c8e11de6
> commit: f2f0231cfe8905af217e5bf1a08bfb8e4d3b74fb net/mlx5: Configure IPsec steering for ingress RoCEv2 MPV traffic
> config: x86_64-randconfig-161-20240120 (https://download.01.org/0day-ci/archive/20240121/202401210739.xiykyqPN-lkp@intel.com/config)
> compiler: ClangBuiltLinux clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
>
> 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@intel.com>
> | Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
> | Closes: https://lore.kernel.org/r/202401210739.xiykyqPN-lkp@intel.com/
>
> smatch warnings:
> drivers/net/ethernet/mellanox/mlx5/core/lib/ipsec_fs_roce.c:170 ipsec_fs_roce_rx_rule_setup() warn: missing error code 'err'
>
> vim +/err +170 drivers/net/ethernet/mellanox/mlx5/core/lib/ipsec_fs_roce.c
>
> 899577600b25b3 Mark Zhang 2023-01-04 122 static int
> 899577600b25b3 Mark Zhang 2023-01-04 123 ipsec_fs_roce_rx_rule_setup(struct mlx5_core_dev *mdev,
> 899577600b25b3 Mark Zhang 2023-01-04 124 struct mlx5_flow_destination *default_dst,
> 899577600b25b3 Mark Zhang 2023-01-04 125 struct mlx5_ipsec_rx_roce *roce)
> 899577600b25b3 Mark Zhang 2023-01-04 126 {
> f2f0231cfe8905 Patrisious Haddad 2023-09-21 127 bool is_mpv_slave = mlx5_core_is_mp_slave(mdev);
> 899577600b25b3 Mark Zhang 2023-01-04 128 struct mlx5_flow_destination dst = {};
> 899577600b25b3 Mark Zhang 2023-01-04 129 MLX5_DECLARE_FLOW_ACT(flow_act);
> 899577600b25b3 Mark Zhang 2023-01-04 130 struct mlx5_flow_handle *rule;
> 899577600b25b3 Mark Zhang 2023-01-04 131 struct mlx5_flow_spec *spec;
> 899577600b25b3 Mark Zhang 2023-01-04 132 int err = 0;
> 899577600b25b3 Mark Zhang 2023-01-04 133
> 899577600b25b3 Mark Zhang 2023-01-04 134 spec = kvzalloc(sizeof(*spec), GFP_KERNEL);
> 899577600b25b3 Mark Zhang 2023-01-04 135 if (!spec)
> 899577600b25b3 Mark Zhang 2023-01-04 136 return -ENOMEM;
> 899577600b25b3 Mark Zhang 2023-01-04 137
> 899577600b25b3 Mark Zhang 2023-01-04 138 ipsec_fs_roce_setup_udp_dport(spec, ROCE_V2_UDP_DPORT);
> 899577600b25b3 Mark Zhang 2023-01-04 139
> 899577600b25b3 Mark Zhang 2023-01-04 140 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST;
> f2f0231cfe8905 Patrisious Haddad 2023-09-21 141 if (is_mpv_slave) {
> f2f0231cfe8905 Patrisious Haddad 2023-09-21 142 dst.type = MLX5_FLOW_DESTINATION_TYPE_FLOW_TABLE;
> f2f0231cfe8905 Patrisious Haddad 2023-09-21 143 dst.ft = roce->goto_alias_ft;
> f2f0231cfe8905 Patrisious Haddad 2023-09-21 144 } else {
> 899577600b25b3 Mark Zhang 2023-01-04 145 dst.type = MLX5_FLOW_DESTINATION_TYPE_TABLE_TYPE;
> 899577600b25b3 Mark Zhang 2023-01-04 146 dst.ft = roce->ft_rdma;
> f2f0231cfe8905 Patrisious Haddad 2023-09-21 147 }
> 899577600b25b3 Mark Zhang 2023-01-04 148 rule = mlx5_add_flow_rules(roce->ft, spec, &flow_act, &dst, 1);
> 899577600b25b3 Mark Zhang 2023-01-04 149 if (IS_ERR(rule)) {
> 899577600b25b3 Mark Zhang 2023-01-04 150 err = PTR_ERR(rule);
> 899577600b25b3 Mark Zhang 2023-01-04 151 mlx5_core_err(mdev, "Fail to add RX RoCE IPsec rule err=%d\n",
> 899577600b25b3 Mark Zhang 2023-01-04 152 err);
> f2f0231cfe8905 Patrisious Haddad 2023-09-21 153 goto out;
> 899577600b25b3 Mark Zhang 2023-01-04 154 }
> 899577600b25b3 Mark Zhang 2023-01-04 155
> 899577600b25b3 Mark Zhang 2023-01-04 156 roce->rule = rule;
> 899577600b25b3 Mark Zhang 2023-01-04 157
> 899577600b25b3 Mark Zhang 2023-01-04 158 memset(spec, 0, sizeof(*spec));
> 899577600b25b3 Mark Zhang 2023-01-04 159 rule = mlx5_add_flow_rules(roce->ft, spec, &flow_act, default_dst, 1);
> 899577600b25b3 Mark Zhang 2023-01-04 160 if (IS_ERR(rule)) {
> 899577600b25b3 Mark Zhang 2023-01-04 161 err = PTR_ERR(rule);
> 899577600b25b3 Mark Zhang 2023-01-04 162 mlx5_core_err(mdev, "Fail to add RX RoCE IPsec miss rule err=%d\n",
> 899577600b25b3 Mark Zhang 2023-01-04 163 err);
> 899577600b25b3 Mark Zhang 2023-01-04 164 goto fail_add_default_rule;
> 899577600b25b3 Mark Zhang 2023-01-04 165 }
> 899577600b25b3 Mark Zhang 2023-01-04 166
> 899577600b25b3 Mark Zhang 2023-01-04 167 roce->roce_miss.rule = rule;
> 899577600b25b3 Mark Zhang 2023-01-04 168
> f2f0231cfe8905 Patrisious Haddad 2023-09-21 169 if (!is_mpv_slave)
> f2f0231cfe8905 Patrisious Haddad 2023-09-21 @170 goto out;
>
> error code here? Or perhaps if not an error code, then a comment?
It is not an error and right behavior. MPV is special device which is
combination of two devices: master and slave. So is_mpv_slave is the
best comment for everyone who touches flow steering logic :).
Thanks
>
> f2f0231cfe8905 Patrisious Haddad 2023-09-21 171
> f2f0231cfe8905 Patrisious Haddad 2023-09-21 172 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST;
> f2f0231cfe8905 Patrisious Haddad 2023-09-21 173 dst.type = MLX5_FLOW_DESTINATION_TYPE_TABLE_TYPE;
> f2f0231cfe8905 Patrisious Haddad 2023-09-21 174 dst.ft = roce->ft_rdma;
> f2f0231cfe8905 Patrisious Haddad 2023-09-21 175 rule = mlx5_add_flow_rules(roce->nic_master_ft, NULL, &flow_act, &dst,
> f2f0231cfe8905 Patrisious Haddad 2023-09-21 176 1);
> f2f0231cfe8905 Patrisious Haddad 2023-09-21 177 if (IS_ERR(rule)) {
> f2f0231cfe8905 Patrisious Haddad 2023-09-21 178 err = PTR_ERR(rule);
> f2f0231cfe8905 Patrisious Haddad 2023-09-21 179 mlx5_core_err(mdev, "Fail to add RX RoCE IPsec rule for alias err=%d\n",
> f2f0231cfe8905 Patrisious Haddad 2023-09-21 180 err);
> f2f0231cfe8905 Patrisious Haddad 2023-09-21 181 goto fail_add_nic_master_rule;
> f2f0231cfe8905 Patrisious Haddad 2023-09-21 182 }
> f2f0231cfe8905 Patrisious Haddad 2023-09-21 183 roce->nic_master_rule = rule;
> f2f0231cfe8905 Patrisious Haddad 2023-09-21 184
> 899577600b25b3 Mark Zhang 2023-01-04 185 kvfree(spec);
> 899577600b25b3 Mark Zhang 2023-01-04 186 return 0;
> 899577600b25b3 Mark Zhang 2023-01-04 187
> f2f0231cfe8905 Patrisious Haddad 2023-09-21 188 fail_add_nic_master_rule:
> f2f0231cfe8905 Patrisious Haddad 2023-09-21 189 mlx5_del_flow_rules(roce->roce_miss.rule);
> 899577600b25b3 Mark Zhang 2023-01-04 190 fail_add_default_rule:
> 899577600b25b3 Mark Zhang 2023-01-04 191 mlx5_del_flow_rules(roce->rule);
> f2f0231cfe8905 Patrisious Haddad 2023-09-21 192 out:
> 899577600b25b3 Mark Zhang 2023-01-04 193 kvfree(spec);
> 899577600b25b3 Mark Zhang 2023-01-04 194 return err;
> 899577600b25b3 Mark Zhang 2023-01-04 195 }
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki
>
next prev parent reply other threads:[~2024-01-29 9:07 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-22 7:17 drivers/net/ethernet/mellanox/mlx5/core/lib/ipsec_fs_roce.c:170 ipsec_fs_roce_rx_rule_setup() warn: missing error code 'err' Dan Carpenter
2024-01-29 9:07 ` Leon Romanovsky [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-10-21 11:54 kernel test robot
2024-01-20 23:48 kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240129090742.GB8285@unreal \
--to=leon@kernel.org \
--cc=dan.carpenter@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lkp@intel.com \
--cc=mbloch@nvidia.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=oe-kbuild@lists.linux.dev \
--cc=phaddad@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.