blob: 1ffaa86261a2e4f335db884842cc33af46f75e9e [file] [log] [blame]
developer7e32f7e2022-05-18 21:10:08 +08001From 29ca3cdfe13b2792b8624e6f769777e8cb387f9c Mon Sep 17 00:00:00 2001
2From: Antoine Tenart <antoine.tenart@bootlin.com>
3Date: Wed, 6 May 2020 15:58:30 +0200
4Subject: net: macsec: fix rtnl locking issue
5
6netdev_update_features() must be called with the rtnl lock taken. Not
7doing so triggers a warning, as ASSERT_RTNL() is used in
8__netdev_update_features(), the first function called by
9netdev_update_features(). Fix this.
10
11Fixes: c850240b6c41 ("net: macsec: report real_dev features when HW offloading is enabled")
12Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
13Signed-off-by: David S. Miller <davem@davemloft.net>
14---
15 drivers/net/macsec.c | 3 ++-
16 1 file changed, 2 insertions(+), 1 deletion(-)
17
18diff --git a/drivers/net/macsec.c b/drivers/net/macsec.c
19index d4034025c87c1..d0d31cb991803 100644
20--- a/drivers/net/macsec.c
21+++ b/drivers/net/macsec.c
22@@ -2641,11 +2641,12 @@ static int macsec_upd_offload(struct sk_buff *skb, struct genl_info *info)
23 if (ret)
24 goto rollback;
25
26- rtnl_unlock();
27 /* Force features update, since they are different for SW MACSec and
28 * HW offloading cases.
29 */
30 netdev_update_features(dev);
31+
32+ rtnl_unlock();
33 return 0;
34
35 rollback:
36--
37cgit 1.2.3-1.el7
38