Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mpls: Unify return paths in mpls_dev_notify().

We will protect net->mpls.platform_label by a dedicated mutex.

Then, we need to wrap functions called from mpls_dev_notify()
with the mutex.

As a prep, let's unify the return paths.

Signed-off-by: Kuniyuki Iwashima <kuniyu@google.com>
Reviewed-by: Guillaume Nault <gnault@redhat.com>
Link: https://patch.msgid.link/20251029173344.2934622-4-kuniyu@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Kuniyuki Iwashima and committed by
Jakub Kicinski
451c538e f0914b84

+16 -8
+16 -8
net/mpls/af_mpls.c
··· 1616 1616 1617 1617 if (event == NETDEV_REGISTER) { 1618 1618 mdev = mpls_add_dev(dev); 1619 - if (IS_ERR(mdev)) 1620 - return notifier_from_errno(PTR_ERR(mdev)); 1619 + if (IS_ERR(mdev)) { 1620 + err = PTR_ERR(mdev); 1621 + goto err; 1622 + } 1621 1623 1622 - return NOTIFY_OK; 1624 + goto out; 1623 1625 } 1624 1626 1625 1627 mdev = mpls_dev_get(dev); 1626 1628 if (!mdev) 1627 - return NOTIFY_OK; 1629 + goto out; 1628 1630 1629 1631 switch (event) { 1630 1632 1631 1633 case NETDEV_DOWN: 1632 1634 err = mpls_ifdown(dev, event); 1633 1635 if (err) 1634 - return notifier_from_errno(err); 1636 + goto err; 1635 1637 break; 1636 1638 case NETDEV_UP: 1637 1639 flags = netif_get_flags(dev); ··· 1649 1647 } else { 1650 1648 err = mpls_ifdown(dev, event); 1651 1649 if (err) 1652 - return notifier_from_errno(err); 1650 + goto err; 1653 1651 } 1654 1652 break; 1655 1653 case NETDEV_UNREGISTER: 1656 1654 err = mpls_ifdown(dev, event); 1657 1655 if (err) 1658 - return notifier_from_errno(err); 1656 + goto err; 1657 + 1659 1658 mdev = mpls_dev_get(dev); 1660 1659 if (mdev) { 1661 1660 mpls_dev_sysctl_unregister(dev, mdev); ··· 1670 1667 mpls_dev_sysctl_unregister(dev, mdev); 1671 1668 err = mpls_dev_sysctl_register(dev, mdev); 1672 1669 if (err) 1673 - return notifier_from_errno(err); 1670 + goto err; 1674 1671 } 1675 1672 break; 1676 1673 } 1674 + 1675 + out: 1677 1676 return NOTIFY_OK; 1677 + 1678 + err: 1679 + return notifier_from_errno(err); 1678 1680 } 1679 1681 1680 1682 static struct notifier_block mpls_dev_notifier = {