From: Saeed Mahameed <saeed@kernel.org>
To: "David S. Miller" <davem@davemloft.net>,
Jakub Kicinski <kuba@kernel.org>
Cc: netdev@vger.kernel.org, Tariq Toukan <tariqt@nvidia.com>,
Aya Levin <ayal@nvidia.com>, Amir Tzin <amirtz@nvidia.com>,
Saeed Mahameed <saeedm@nvidia.com>
Subject: [net 8/8] net/mlx5: Reset mkey index on creation
Date: Wed, 16 Jun 2021 15:40:15 -0700 [thread overview]
Message-ID: <20210616224015.14393-9-saeed@kernel.org> (raw)
In-Reply-To: <20210616224015.14393-1-saeed@kernel.org>
From: Aya Levin <ayal@nvidia.com>
Reset only the index part of the mkey and keep the variant part. On
devlink reload, driver recreates mkeys, so the mkey index may change.
Trying to preserve the variant part of the mkey, driver mistakenly
merged the mkey index with current value. In case of a devlink reload,
current value of index part is dirty, so the index may be corrupted.
Fixes: 54c62e13ad76 ("{IB,net}/mlx5: Setup mkey variant before mr create command invocation")
Signed-off-by: Aya Levin <ayal@nvidia.com>
Signed-off-by: Amir Tzin <amirtz@nvidia.com>
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
---
drivers/net/ethernet/mellanox/mlx5/core/mr.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/mr.c b/drivers/net/ethernet/mellanox/mlx5/core/mr.c
index 50af84e76fb6..174f71ed5280 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/mr.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/mr.c
@@ -54,7 +54,7 @@ int mlx5_core_create_mkey(struct mlx5_core_dev *dev,
mkey_index = MLX5_GET(create_mkey_out, lout, mkey_index);
mkey->iova = MLX5_GET64(mkc, mkc, start_addr);
mkey->size = MLX5_GET64(mkc, mkc, len);
- mkey->key |= mlx5_idx_to_mkey(mkey_index);
+ mkey->key = (u32)mlx5_mkey_variant(mkey->key) | mlx5_idx_to_mkey(mkey_index);
mkey->pd = MLX5_GET(mkc, mkc, pd);
init_waitqueue_head(&mkey->wait);
--
2.31.1
prev parent reply other threads:[~2021-06-16 22:40 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-16 22:40 [pull request][net 0/8] mlx5 fixes 2021-06-16 Saeed Mahameed
2021-06-16 22:40 ` [net 1/8] net/mlx5: Fix error path for set HCA defaults Saeed Mahameed
2021-06-17 18:40 ` patchwork-bot+netdevbpf
2021-06-16 22:40 ` [net 2/8] net/mlx5: Check that driver was probed prior attaching the device Saeed Mahameed
2021-06-16 22:40 ` [net 3/8] net/mlx5: E-Switch, Read PF mac address Saeed Mahameed
2021-06-16 22:40 ` [net 4/8] net/mlx5: E-Switch, Allow setting GUID for host PF vport Saeed Mahameed
2021-06-16 22:40 ` [net 5/8] net/mlx5: SF_DEV, remove SF device on invalid state Saeed Mahameed
2021-06-16 22:40 ` [net 6/8] net/mlx5: DR, Fix STEv1 incorrect L3 decapsulation padding Saeed Mahameed
2021-06-16 22:40 ` [net 7/8] net/mlx5e: Don't create devices during unload flow Saeed Mahameed
2021-06-16 22:40 ` Saeed Mahameed [this message]
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=20210616224015.14393-9-saeed@kernel.org \
--to=saeed@kernel.org \
--cc=amirtz@nvidia.com \
--cc=ayal@nvidia.com \
--cc=davem@davemloft.net \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=saeedm@nvidia.com \
--cc=tariqt@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).