netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net] octeontx2-pf: Add missing mutex lock in otx2_get_pauseparam
@ 2023-11-25 16:35 Subbaraya Sundeep
  2023-11-28 17:20 ` Simon Horman
  0 siblings, 1 reply; 3+ messages in thread
From: Subbaraya Sundeep @ 2023-11-25 16:35 UTC (permalink / raw)
  To: netdev, linux-kernel
  Cc: kuba, davem, pabeni, edumazet, sgoutham, gakula, hkelam,
	Subbaraya Sundeep

All the mailbox messages sent to AF needs to be guarded
by mutex lock. Add the missing lock in otx2_get_pauseparam
function.

Fixes: 75f36270990c ("octeontx2-pf: Support to enable/disable pause frames via ethtool")
Signed-off-by: Subbaraya Sundeep <sbhatta@marvell.com>
---
 drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
index 9efcec5..53f6258 100644
--- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
+++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
@@ -334,9 +334,12 @@ static void otx2_get_pauseparam(struct net_device *netdev,
 	if (is_otx2_lbkvf(pfvf->pdev))
 		return;
 
+	mutex_lock(&pfvf->mbox.lock);
 	req = otx2_mbox_alloc_msg_cgx_cfg_pause_frm(&pfvf->mbox);
-	if (!req)
+	if (!req) {
+		mutex_unlock(&pfvf->mbox.lock);
 		return;
+	}
 
 	if (!otx2_sync_mbox_msg(&pfvf->mbox)) {
 		rsp = (struct cgx_pause_frm_cfg *)
@@ -344,6 +347,7 @@ static void otx2_get_pauseparam(struct net_device *netdev,
 		pause->rx_pause = rsp->rx_pause;
 		pause->tx_pause = rsp->tx_pause;
 	}
+	mutex_unlock(&pfvf->mbox.lock);
 }
 
 static int otx2_set_pauseparam(struct net_device *netdev,
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH net] octeontx2-pf: Add missing mutex lock in otx2_get_pauseparam
  2023-11-25 16:35 [PATCH net] octeontx2-pf: Add missing mutex lock in otx2_get_pauseparam Subbaraya Sundeep
@ 2023-11-28 17:20 ` Simon Horman
  2023-11-29  4:55   ` [EXT] " Subbaraya Sundeep Bhatta
  0 siblings, 1 reply; 3+ messages in thread
From: Simon Horman @ 2023-11-28 17:20 UTC (permalink / raw)
  To: Subbaraya Sundeep
  Cc: netdev, linux-kernel, kuba, davem, pabeni, edumazet, sgoutham,
	gakula, hkelam

On Sat, Nov 25, 2023 at 10:05:41PM +0530, Subbaraya Sundeep wrote:
> All the mailbox messages sent to AF needs to be guarded
> by mutex lock. Add the missing lock in otx2_get_pauseparam
> function.
> 
> Fixes: 75f36270990c ("octeontx2-pf: Support to enable/disable pause frames via ethtool")
> Signed-off-by: Subbaraya Sundeep <sbhatta@marvell.com>

Hi,

I am wondering if the call to otx2_nix_config_bp()
in otx2_dcbnl_ieee_setpfc() also needs to be protected by mbox.lock.

And although not strictly related to this patch, while looking over this, I
noticed that in otx2_init_hw_resources() it appears that &mbox->lock may be
unlocked twice in some error paths.

e.g.
	/* Init Auras and pools used by NIX RQ, for free buffer ptrs */
	err = otx2_rq_aura_pool_init(pf);
	if (err) {
		mutex_unlock(&mbox->lock);
		goto err_free_nix_lf;
	}
	...
err_free_nix_lf:
	mutex_lock(&mbox->lock);
	...

...

^ permalink raw reply	[flat|nested] 3+ messages in thread

* RE: [EXT] Re: [PATCH net] octeontx2-pf: Add missing mutex lock in otx2_get_pauseparam
  2023-11-28 17:20 ` Simon Horman
@ 2023-11-29  4:55   ` Subbaraya Sundeep Bhatta
  0 siblings, 0 replies; 3+ messages in thread
From: Subbaraya Sundeep Bhatta @ 2023-11-29  4:55 UTC (permalink / raw)
  To: Simon Horman
  Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	kuba@kernel.org, davem@davemloft.net, pabeni@redhat.com,
	edumazet@google.com, Sunil Kovvuri Goutham, Geethasowjanya Akula,
	Hariprasad Kelam

Hi Simon,

>-----Original Message-----
>From: Simon Horman <horms@kernel.org>
>Sent: Tuesday, November 28, 2023 10:51 PM
>To: Subbaraya Sundeep Bhatta <sbhatta@marvell.com>
>Cc: netdev@vger.kernel.org; linux-kernel@vger.kernel.org; kuba@kernel.org;
>davem@davemloft.net; pabeni@redhat.com; edumazet@google.com; Sunil
>Kovvuri Goutham <sgoutham@marvell.com>; Geethasowjanya Akula
><gakula@marvell.com>; Hariprasad Kelam <hkelam@marvell.com>
>Subject: [EXT] Re: [PATCH net] octeontx2-pf: Add missing mutex lock in
>otx2_get_pauseparam
>
>----------------------------------------------------------------------
>On Sat, Nov 25, 2023 at 10:05:41PM +0530, Subbaraya Sundeep wrote:
>> All the mailbox messages sent to AF needs to be guarded by mutex lock.
>> Add the missing lock in otx2_get_pauseparam function.
>>
>> Fixes: 75f36270990c ("octeontx2-pf: Support to enable/disable pause
>> frames via ethtool")
>> Signed-off-by: Subbaraya Sundeep <sbhatta@marvell.com>
>
>Hi,
>
>I am wondering if the call to otx2_nix_config_bp() in otx2_dcbnl_ieee_setpfc()
>also needs to be protected by mbox.lock.
>
Correct. I will add lock around it and send v2 of this patch.

>And although not strictly related to this patch, while looking over this, I
>noticed that in otx2_init_hw_resources() it appears that &mbox->lock may be
>unlocked twice in some error paths.
>
>e.g.
>	/* Init Auras and pools used by NIX RQ, for free buffer ptrs */
>	err = otx2_rq_aura_pool_init(pf);
>	if (err) {
>		mutex_unlock(&mbox->lock);
>		goto err_free_nix_lf;
>	}
>	...
>err_free_nix_lf:
>	mutex_lock(&mbox->lock);
>	...
>
>...
Will fix it and send it as another patch.

Thanks,
Sundeep

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-11-29  4:55 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-25 16:35 [PATCH net] octeontx2-pf: Add missing mutex lock in otx2_get_pauseparam Subbaraya Sundeep
2023-11-28 17:20 ` Simon Horman
2023-11-29  4:55   ` [EXT] " Subbaraya Sundeep Bhatta

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).