netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v4] net: openvswitch: Check vport netdev name
  2024-04-17 10:48 [PATCH net-next v3] net: openvswitch: Check vport net device name Eelco Chaudron
@ 2024-04-18  2:32 ` jun.gu
  2024-04-18 15:38   ` Jakub Kicinski
       [not found]   ` <20240419043133.117295-1-jun.gu@easystack.cn>
  0 siblings, 2 replies; 7+ messages in thread
From: jun.gu @ 2024-04-18  2:32 UTC (permalink / raw)
  To: echaudro; +Cc: dev, jun.gu, linux-kernel, netdev

Ensure that the provided netdev name is not one of its aliases to
prevent unnecessary creation and destruction of the vport by
ovs-vswitchd.

Signed-off-by: Jun Gu <jun.gu@easystack.cn>
Acked-by: Eelco Chaudron <echaudro@redhat.com>
---
 net/openvswitch/vport-netdev.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/net/openvswitch/vport-netdev.c b/net/openvswitch/vport-netdev.c
index 903537a5da22..7003e76b8172 100644
--- a/net/openvswitch/vport-netdev.c
+++ b/net/openvswitch/vport-netdev.c
@@ -78,7 +78,10 @@ struct vport *ovs_netdev_link(struct vport *vport, const char *name)
 	int err;
 
 	vport->dev = dev_get_by_name(ovs_dp_get_net(vport->dp), name);
-	if (!vport->dev) {
+	/* Ensure that the device exists and that the provided
+	 * name is not one of its aliases.
+	 */
+	if ((!vport->dev) || strcmp(name, ovs_vport_name(vport))) {
 		err = -ENODEV;
 		goto error_free_vport;
 	}
-- 
2.25.1


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

* Re: [PATCH net-next v4] net: openvswitch: Check vport netdev name
  2024-04-18  2:32 ` [PATCH net-next v4] net: openvswitch: Check vport netdev name jun.gu
@ 2024-04-18 15:38   ` Jakub Kicinski
       [not found]   ` <20240419043133.117295-1-jun.gu@easystack.cn>
  1 sibling, 0 replies; 7+ messages in thread
From: Jakub Kicinski @ 2024-04-18 15:38 UTC (permalink / raw)
  To: jun.gu; +Cc: echaudro, dev, linux-kernel, netdev

On Thu, 18 Apr 2024 10:32:42 +0800 jun.gu wrote:
> +	if ((!vport->dev) || strcmp(name, ovs_vport_name(vport))) {

Please drop the unnecessary brackets.
When you repost, start a new thread, do not post new version
in-reply-to.
-- 
pw-bot: cr

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

* [PATCH net-next v4] net: openvswitch: Check vport netdev name
@ 2024-04-19  6:14 Jun Gu
  2024-04-23  0:38 ` Jakub Kicinski
  2024-04-23  0:53 ` patchwork-bot+netdevbpf
  0 siblings, 2 replies; 7+ messages in thread
From: Jun Gu @ 2024-04-19  6:14 UTC (permalink / raw)
  To: kuba; +Cc: dev, echaudro, jun.gu, linux-kernel, netdev

Ensure that the provided netdev name is not one of its aliases to
prevent unnecessary creation and destruction of the vport by
ovs-vswitchd.

Signed-off-by: Jun Gu <jun.gu@easystack.cn>
Acked-by: Eelco Chaudron <echaudro@redhat.com>
---
 net/openvswitch/vport-netdev.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/net/openvswitch/vport-netdev.c b/net/openvswitch/vport-netdev.c
index 903537a5da22..618edc346c0f 100644
--- a/net/openvswitch/vport-netdev.c
+++ b/net/openvswitch/vport-netdev.c
@@ -78,7 +78,10 @@ struct vport *ovs_netdev_link(struct vport *vport, const char *name)
 	int err;
 
 	vport->dev = dev_get_by_name(ovs_dp_get_net(vport->dp), name);
-	if (!vport->dev) {
+	/* Ensure that the device exists and that the provided
+	 * name is not one of its aliases.
+	 */
+	if (!vport->dev || strcmp(name, ovs_vport_name(vport))) {
 		err = -ENODEV;
 		goto error_free_vport;
 	}
-- 
2.25.1


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

* Re: [PATCH net-next v4] net: openvswitch: Check vport netdev name
       [not found]   ` <20240419043133.117295-1-jun.gu@easystack.cn>
@ 2024-04-20  3:01     ` Jakub Kicinski
  0 siblings, 0 replies; 7+ messages in thread
From: Jakub Kicinski @ 2024-04-20  3:01 UTC (permalink / raw)
  To: Jun Gu; +Cc: dev, echaudro, linux-kernel, netdev

On Fri, 19 Apr 2024 12:31:33 +0800 Jun Gu wrote:
> From: "jun.gu" <jun.gu@easystack.cn>
> 
> Ensure that the provided netdev name is not one of its aliases to
> prevent unnecessary creation and destruction of the vport by
> ovs-vswitchd.
> 
> Signed-off-by: jun.gu  <jun.gu@easystack.cn>
> Acked-by: Eelco Chaudron <echaudro@redhat.com>

I said: When you repost, start a new thread, do not post new version
in-reply-to.

If you don't understand what something means - ask :|
Now try again.
-- 
pw-bot: cr

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

* Re: [PATCH net-next v4] net: openvswitch: Check vport netdev name
  2024-04-19  6:14 [PATCH net-next v4] net: openvswitch: Check vport netdev name Jun Gu
@ 2024-04-23  0:38 ` Jakub Kicinski
  2024-04-23  2:34   ` Jun Gu
  2024-04-23  0:53 ` patchwork-bot+netdevbpf
  1 sibling, 1 reply; 7+ messages in thread
From: Jakub Kicinski @ 2024-04-23  0:38 UTC (permalink / raw)
  To: Jun Gu; +Cc: dev, echaudro, linux-kernel, netdev

On Fri, 19 Apr 2024 14:14:25 +0800 Jun Gu wrote:
>  	vport->dev = dev_get_by_name(ovs_dp_get_net(vport->dp), name);
> -	if (!vport->dev) {
> +	/* Ensure that the device exists and that the provided
> +	 * name is not one of its aliases.
> +	 */
> +	if (!vport->dev || strcmp(name, ovs_vport_name(vport))) {
>  		err = -ENODEV;
>  		goto error_free_vport;
>  	}

Sorry I applied this before I realised that it's buggy.
dev_get_by_name() will give you a reference on the device.
You must free it, so the error handling is different.
Please follow up ASAP to fix that.

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

* Re: [PATCH net-next v4] net: openvswitch: Check vport netdev name
  2024-04-19  6:14 [PATCH net-next v4] net: openvswitch: Check vport netdev name Jun Gu
  2024-04-23  0:38 ` Jakub Kicinski
@ 2024-04-23  0:53 ` patchwork-bot+netdevbpf
  1 sibling, 0 replies; 7+ messages in thread
From: patchwork-bot+netdevbpf @ 2024-04-23  0:53 UTC (permalink / raw)
  To: Jun Gu; +Cc: kuba, dev, echaudro, linux-kernel, netdev

Hello:

This patch was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Fri, 19 Apr 2024 14:14:25 +0800 you wrote:
> Ensure that the provided netdev name is not one of its aliases to
> prevent unnecessary creation and destruction of the vport by
> ovs-vswitchd.
> 
> Signed-off-by: Jun Gu <jun.gu@easystack.cn>
> Acked-by: Eelco Chaudron <echaudro@redhat.com>
> 
> [...]

Here is the summary with links:
  - [net-next,v4] net: openvswitch: Check vport netdev name
    https://git.kernel.org/netdev/net-next/c/2540088b836f

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

* Re: [PATCH net-next v4] net: openvswitch: Check vport netdev name
  2024-04-23  0:38 ` Jakub Kicinski
@ 2024-04-23  2:34   ` Jun Gu
  0 siblings, 0 replies; 7+ messages in thread
From: Jun Gu @ 2024-04-23  2:34 UTC (permalink / raw)
  To: Jakub Kicinski; +Cc: dev, echaudro, linux-kernel, netdev

My mistake, I'm wondering that I need to submit a new patch or a v5 
version based on this patch?

在 4/23/24 08:38, Jakub Kicinski 写道:
> On Fri, 19 Apr 2024 14:14:25 +0800 Jun Gu wrote:
>>   	vport->dev = dev_get_by_name(ovs_dp_get_net(vport->dp), name);
>> -	if (!vport->dev) {
>> +	/* Ensure that the device exists and that the provided
>> +	 * name is not one of its aliases.
>> +	 */
>> +	if (!vport->dev || strcmp(name, ovs_vport_name(vport))) {
>>   		err = -ENODEV;
>>   		goto error_free_vport;
>>   	}
> 
> Sorry I applied this before I realised that it's buggy.
> dev_get_by_name() will give you a reference on the device.
> You must free it, so the error handling is different.
> Please follow up ASAP to fix that.
> 

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

end of thread, other threads:[~2024-04-23  7:22 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-19  6:14 [PATCH net-next v4] net: openvswitch: Check vport netdev name Jun Gu
2024-04-23  0:38 ` Jakub Kicinski
2024-04-23  2:34   ` Jun Gu
2024-04-23  0:53 ` patchwork-bot+netdevbpf
  -- strict thread matches above, loose matches on Subject: below --
2024-04-17 10:48 [PATCH net-next v3] net: openvswitch: Check vport net device name Eelco Chaudron
2024-04-18  2:32 ` [PATCH net-next v4] net: openvswitch: Check vport netdev name jun.gu
2024-04-18 15:38   ` Jakub Kicinski
     [not found]   ` <20240419043133.117295-1-jun.gu@easystack.cn>
2024-04-20  3:01     ` Jakub Kicinski

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