net: openvswitch: Check vport netdev name

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>
Link: https://lore.kernel.org/r/20240419061425.132723-1-jun.gu@easystack.cn
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Jun Gu 2024-04-19 14:14:25 +08:00 committed by Jakub Kicinski
parent 2557e2ec94
commit 2540088b83

View File

@ -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;
}