[PATCH 5.4 27/39] vxlan: fix error return code in __vxlan_dev_create()

From: Greg Kroah-Hartman
Date: Sun Dec 06 2020 - 06:43:10 EST


From: Zhang Changzhong <zhangchangzhong@xxxxxxxxxx>

[ Upstream commit 832e09798c261cf58de3a68cfcc6556408c16a5a ]

Fix to return a negative error code from the error handling
case instead of 0, as done elsewhere in this function.

Fixes: 0ce1822c2a08 ("vxlan: add adjacent link to limit depth level")
Reported-by: Hulk Robot <hulkci@xxxxxxxxxx>
Signed-off-by: Zhang Changzhong <zhangchangzhong@xxxxxxxxxx>
Link: https://lore.kernel.org/r/1606903122-2098-1-git-send-email-zhangchangzhong@xxxxxxxxxx
Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
drivers/net/vxlan.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

--- a/drivers/net/vxlan.c
+++ b/drivers/net/vxlan.c
@@ -3617,8 +3617,10 @@ static int __vxlan_dev_create(struct net

if (dst->remote_ifindex) {
remote_dev = __dev_get_by_index(net, dst->remote_ifindex);
- if (!remote_dev)
+ if (!remote_dev) {
+ err = -ENODEV;
goto errout;
+ }

err = netdev_upper_dev_link(remote_dev, dev, extack);
if (err)