* [PATCH net v2 2/2] octeontx2-pf: fix error handling of devlink port in rvu_rep_create()
2024-12-17 5:23 [PATCH net v2 1/2] octeontx2-pf: fix netdev memory leak in rvu_rep_create() Harshit Mogalapalli
@ 2024-12-17 5:23 ` Harshit Mogalapalli
2024-12-18 6:04 ` [EXTERNAL] " Geethasowjanya Akula
2024-12-18 6:03 ` [EXTERNAL] [PATCH net v2 1/2] octeontx2-pf: fix netdev memory leak " Geethasowjanya Akula
` (2 subsequent siblings)
3 siblings, 1 reply; 7+ messages in thread
From: Harshit Mogalapalli @ 2024-12-17 5:23 UTC (permalink / raw)
To: Sunil Goutham, Geetha sowjanya, Subbaraya Sundeep, hariprasad,
Bharat Bhushan, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Simon Horman, netdev, linux-kernel
Cc: dan.carpenter, kernel-janitors, error27, harshit.m.mogalapalli,
Przemek Kitszel
Unregister the devlink port when register_netdev() fails.
Fixes: 9ed0343f561e ("octeontx2-pf: Add devlink port support")
Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Signed-off-by: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
---
v1->v2: Add R.B from Przemek
---
drivers/net/ethernet/marvell/octeontx2/nic/rep.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/rep.c b/drivers/net/ethernet/marvell/octeontx2/nic/rep.c
index 9e3fcbae5dee..04e08e06f30f 100644
--- a/drivers/net/ethernet/marvell/octeontx2/nic/rep.c
+++ b/drivers/net/ethernet/marvell/octeontx2/nic/rep.c
@@ -690,6 +690,7 @@ int rvu_rep_create(struct otx2_nic *priv, struct netlink_ext_ack *extack)
if (err) {
NL_SET_ERR_MSG_MOD(extack,
"PFVF representor registration failed");
+ rvu_rep_devlink_port_unregister(rep);
free_netdev(ndev);
goto exit;
}
--
2.46.0
^ permalink raw reply related [flat|nested] 7+ messages in thread* RE: [EXTERNAL] [PATCH net v2 2/2] octeontx2-pf: fix error handling of devlink port in rvu_rep_create()
2024-12-17 5:23 ` [PATCH net v2 2/2] octeontx2-pf: fix error handling of devlink port " Harshit Mogalapalli
@ 2024-12-18 6:04 ` Geethasowjanya Akula
0 siblings, 0 replies; 7+ messages in thread
From: Geethasowjanya Akula @ 2024-12-18 6:04 UTC (permalink / raw)
To: Harshit Mogalapalli, Sunil Kovvuri Goutham,
Subbaraya Sundeep Bhatta, Hariprasad Kelam, Bharat Bhushan,
Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Simon Horman, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org
Cc: dan.carpenter@linaro.org, kernel-janitors@vger.kernel.org,
error27@gmail.com, Przemek Kitszel
>-----Original Message-----
>From: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
>Sent: Tuesday, December 17, 2024 10:53 AM
>To: Sunil Kovvuri Goutham <sgoutham@marvell.com>; Geethasowjanya Akula
><gakula@marvell.com>; Subbaraya Sundeep Bhatta <sbhatta@marvell.com>;
>Hariprasad Kelam <hkelam@marvell.com>; Bharat Bhushan
><bbhushan2@marvell.com>; Andrew Lunn <andrew+netdev@lunn.ch>; David
>S. Miller <davem@davemloft.net>; Eric Dumazet <edumazet@google.com>;
>Jakub Kicinski <kuba@kernel.org>; Paolo Abeni <pabeni@redhat.com>; Simon
>Horman <horms@kernel.org>; netdev@vger.kernel.org; linux-
>kernel@vger.kernel.org
>Cc: dan.carpenter@linaro.org; kernel-janitors@vger.kernel.org;
>error27@gmail.com; harshit.m.mogalapalli@oracle.com; Przemek Kitszel
><przemyslaw.kitszel@intel.com>
>Subject: [EXTERNAL] [PATCH net v2 2/2] octeontx2-pf: fix error handling of
>devlink port in rvu_rep_create()
>
>Unregister the devlink port when register_netdev() fails.
>
>Fixes: 9ed0343f561e ("octeontx2-pf: Add devlink port support")
>Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
>Signed-off-by: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
>---
>v1->v2: Add R.B from Przemek
>---
> drivers/net/ethernet/marvell/octeontx2/nic/rep.c | 1 +
> 1 file changed, 1 insertion(+)
>
>diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/rep.c
>b/drivers/net/ethernet/marvell/octeontx2/nic/rep.c
>index 9e3fcbae5dee..04e08e06f30f 100644
>--- a/drivers/net/ethernet/marvell/octeontx2/nic/rep.c
>+++ b/drivers/net/ethernet/marvell/octeontx2/nic/rep.c
>@@ -690,6 +690,7 @@ int rvu_rep_create(struct otx2_nic *priv, struct
>netlink_ext_ack *extack)
> if (err) {
> NL_SET_ERR_MSG_MOD(extack,
> "PFVF representor registration
>failed");
>+ rvu_rep_devlink_port_unregister(rep);
> free_netdev(ndev);
> goto exit;
> }
>--
>2.46.0
Ack.
Thanks.
^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [EXTERNAL] [PATCH net v2 1/2] octeontx2-pf: fix netdev memory leak in rvu_rep_create()
2024-12-17 5:23 [PATCH net v2 1/2] octeontx2-pf: fix netdev memory leak in rvu_rep_create() Harshit Mogalapalli
2024-12-17 5:23 ` [PATCH net v2 2/2] octeontx2-pf: fix error handling of devlink port " Harshit Mogalapalli
@ 2024-12-18 6:03 ` Geethasowjanya Akula
2024-12-18 17:38 ` Markus Elfring
2024-12-19 3:30 ` patchwork-bot+netdevbpf
3 siblings, 0 replies; 7+ messages in thread
From: Geethasowjanya Akula @ 2024-12-18 6:03 UTC (permalink / raw)
To: Harshit Mogalapalli, Sunil Kovvuri Goutham,
Subbaraya Sundeep Bhatta, Hariprasad Kelam, Bharat Bhushan,
Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Simon Horman, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org
Cc: dan.carpenter@linaro.org, kernel-janitors@vger.kernel.org,
error27@gmail.com, Przemek Kitszel
>-----Original Message-----
>From: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
>Sent: Tuesday, December 17, 2024 10:53 AM
>To: Sunil Kovvuri Goutham <sgoutham@marvell.com>; Geethasowjanya Akula
><gakula@marvell.com>; Subbaraya Sundeep Bhatta <sbhatta@marvell.com>;
>Hariprasad Kelam <hkelam@marvell.com>; Bharat Bhushan
><bbhushan2@marvell.com>; Andrew Lunn <andrew+netdev@lunn.ch>; David
>S. Miller <davem@davemloft.net>; Eric Dumazet <edumazet@google.com>;
>Jakub Kicinski <kuba@kernel.org>; Paolo Abeni <pabeni@redhat.com>; Simon
>Horman <horms@kernel.org>; netdev@vger.kernel.org; linux-
>kernel@vger.kernel.org
>Cc: dan.carpenter@linaro.org; kernel-janitors@vger.kernel.org;
>error27@gmail.com; harshit.m.mogalapalli@oracle.com; Przemek Kitszel
><przemyslaw.kitszel@intel.com>
>Subject: [EXTERNAL] [PATCH net v2 1/2] octeontx2-pf: fix netdev memory leak
>in rvu_rep_create()
>
>When rvu_rep_devlink_port_register() fails, free_netdev(ndev) for this
>incomplete iteration before going to "exit:" label.
>
>Fixes: 9ed0343f561e ("octeontx2-pf: Add devlink port support")
>Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
>Signed-off-by: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
>---
>v1-->v2: Change the Fixes tag to the correct one as pointed out by
>v1-->Przemek
>---
> drivers/net/ethernet/marvell/octeontx2/nic/rep.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
>diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/rep.c
>b/drivers/net/ethernet/marvell/octeontx2/nic/rep.c
>index 232b10740c13..9e3fcbae5dee 100644
>--- a/drivers/net/ethernet/marvell/octeontx2/nic/rep.c
>+++ b/drivers/net/ethernet/marvell/octeontx2/nic/rep.c
>@@ -680,8 +680,10 @@ int rvu_rep_create(struct otx2_nic *priv, struct
>netlink_ext_ack *extack)
> ndev->features |= ndev->hw_features;
> eth_hw_addr_random(ndev);
> err = rvu_rep_devlink_port_register(rep);
>- if (err)
>+ if (err) {
>+ free_netdev(ndev);
> goto exit;
>+ }
>
> SET_NETDEV_DEVLINK_PORT(ndev, &rep->dl_port);
> err = register_netdev(ndev);
>--
>2.46.0
Ack. Thanks for the fix.
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH net v2 1/2] octeontx2-pf: fix netdev memory leak in rvu_rep_create()
2024-12-17 5:23 [PATCH net v2 1/2] octeontx2-pf: fix netdev memory leak in rvu_rep_create() Harshit Mogalapalli
2024-12-17 5:23 ` [PATCH net v2 2/2] octeontx2-pf: fix error handling of devlink port " Harshit Mogalapalli
2024-12-18 6:03 ` [EXTERNAL] [PATCH net v2 1/2] octeontx2-pf: fix netdev memory leak " Geethasowjanya Akula
@ 2024-12-18 17:38 ` Markus Elfring
2024-12-18 17:51 ` Dan Carpenter
2024-12-19 3:30 ` patchwork-bot+netdevbpf
3 siblings, 1 reply; 7+ messages in thread
From: Markus Elfring @ 2024-12-18 17:38 UTC (permalink / raw)
To: Harshit Mogalapalli, netdev, Andrew Lunn, Bharat Bhushan,
Dan Carpenter, David S. Miller, Eric Dumazet,
Geethasowjanya Akula, Hariprasad Kelam, Jakub Kicinski,
Paolo Abeni, Simon Horman, Subbaraya Sundeep Bhatta,
Sunil Goutham
Cc: linux-kernel, kernel-janitors, Dan Carpenter, Przemek Kitszel
> When rvu_rep_devlink_port_register() fails, free_netdev(ndev) for this
> incomplete iteration before going to "exit:" label.
…
> +++ b/drivers/net/ethernet/marvell/octeontx2/nic/rep.c
> @@ -680,8 +680,10 @@ int rvu_rep_create(struct otx2_nic *priv, struct netlink_ext_ack *extack)
> ndev->features |= ndev->hw_features;
> eth_hw_addr_random(ndev);
> err = rvu_rep_devlink_port_register(rep);
> - if (err)
> + if (err) {
> + free_netdev(ndev);
> goto exit;
> + }
>
> SET_NETDEV_DEVLINK_PORT(ndev, &rep->dl_port);
…
I suggest to add another jump target instead so that a bit of exception handling
can be better reused at the end of this function implementation.
Regards,
Markus
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH net v2 1/2] octeontx2-pf: fix netdev memory leak in rvu_rep_create()
2024-12-18 17:38 ` Markus Elfring
@ 2024-12-18 17:51 ` Dan Carpenter
0 siblings, 0 replies; 7+ messages in thread
From: Dan Carpenter @ 2024-12-18 17:51 UTC (permalink / raw)
To: Markus Elfring
Cc: Harshit Mogalapalli, netdev, Andrew Lunn, Bharat Bhushan,
David S. Miller, Eric Dumazet, Geethasowjanya Akula,
Hariprasad Kelam, Jakub Kicinski, Paolo Abeni, Simon Horman,
Subbaraya Sundeep Bhatta, Sunil Goutham, linux-kernel,
kernel-janitors, Dan Carpenter, Przemek Kitszel
On Wed, Dec 18, 2024 at 06:38:25PM +0100, Markus Elfring wrote:
> > When rvu_rep_devlink_port_register() fails, free_netdev(ndev) for this
> > incomplete iteration before going to "exit:" label.
>
>
> …
> > +++ b/drivers/net/ethernet/marvell/octeontx2/nic/rep.c
> > @@ -680,8 +680,10 @@ int rvu_rep_create(struct otx2_nic *priv, struct netlink_ext_ack *extack)
> > ndev->features |= ndev->hw_features;
> > eth_hw_addr_random(ndev);
> > err = rvu_rep_devlink_port_register(rep);
> > - if (err)
> > + if (err) {
> > + free_netdev(ndev);
> > goto exit;
> > + }
> >
> > SET_NETDEV_DEVLINK_PORT(ndev, &rep->dl_port);
> …
>
> I suggest to add another jump target instead so that a bit of exception handling
> can be better reused at the end of this function implementation.
>
When you're cleaning up from inside a loop, then the best practices is
to clean up partial iterations before the goto and then clean up whole
iterations in the unwind ladder. So this patch is better the way that
Harshit his written it.
regards,
dan carpenter
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH net v2 1/2] octeontx2-pf: fix netdev memory leak in rvu_rep_create()
2024-12-17 5:23 [PATCH net v2 1/2] octeontx2-pf: fix netdev memory leak in rvu_rep_create() Harshit Mogalapalli
` (2 preceding siblings ...)
2024-12-18 17:38 ` Markus Elfring
@ 2024-12-19 3:30 ` patchwork-bot+netdevbpf
3 siblings, 0 replies; 7+ messages in thread
From: patchwork-bot+netdevbpf @ 2024-12-19 3:30 UTC (permalink / raw)
To: Harshit Mogalapalli
Cc: sgoutham, gakula, sbhatta, hkelam, bbhushan2, andrew+netdev,
davem, edumazet, kuba, pabeni, horms, netdev, linux-kernel,
dan.carpenter, kernel-janitors, error27, przemyslaw.kitszel
Hello:
This series was applied to netdev/net.git (main)
by Jakub Kicinski <kuba@kernel.org>:
On Mon, 16 Dec 2024 21:23:24 -0800 you wrote:
> When rvu_rep_devlink_port_register() fails, free_netdev(ndev) for this
> incomplete iteration before going to "exit:" label.
>
> Fixes: 9ed0343f561e ("octeontx2-pf: Add devlink port support")
> Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
> Signed-off-by: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
>
> [...]
Here is the summary with links:
- [net,v2,1/2] octeontx2-pf: fix netdev memory leak in rvu_rep_create()
https://git.kernel.org/netdev/net/c/51df94767836
- [net,v2,2/2] octeontx2-pf: fix error handling of devlink port in rvu_rep_create()
https://git.kernel.org/netdev/net/c/b95c8c33ae68
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 7+ messages in thread