net: macsec: fix rtnl locking issue
authorAntoine Tenart <antoine.tenart@bootlin.com>
Wed, 6 May 2020 13:58:30 +0000 (15:58 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 6 May 2020 21:34:38 +0000 (14:34 -0700)
netdev_update_features() must be called with the rtnl lock taken. Not
doing so triggers a warning, as ASSERT_RTNL() is used in
__netdev_update_features(), the first function called by
netdev_update_features(). Fix this.

Fixes: c850240b6c41 ("net: macsec: report real_dev features when HW offloading is enabled")
Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/macsec.c

index d4034025c87c144c3da423cc4e9ea5ef05f884bd..d0d31cb991803daa2a18099605d35f1fbb406eb2 100644 (file)
@@ -2641,11 +2641,12 @@ static int macsec_upd_offload(struct sk_buff *skb, struct genl_info *info)
        if (ret)
                goto rollback;
 
-       rtnl_unlock();
        /* Force features update, since they are different for SW MACSec and
         * HW offloading cases.
         */
        netdev_update_features(dev);
+
+       rtnl_unlock();
        return 0;
 
 rollback: