developer | 7e32f7e | 2022-05-18 21:10:08 +0800 | [diff] [blame] | 1 | From 29ca3cdfe13b2792b8624e6f769777e8cb387f9c Mon Sep 17 00:00:00 2001 |
| 2 | From: Antoine Tenart <antoine.tenart@bootlin.com> |
| 3 | Date: Wed, 6 May 2020 15:58:30 +0200 |
| 4 | Subject: net: macsec: fix rtnl locking issue |
| 5 | |
| 6 | netdev_update_features() must be called with the rtnl lock taken. Not |
| 7 | doing so triggers a warning, as ASSERT_RTNL() is used in |
| 8 | __netdev_update_features(), the first function called by |
| 9 | netdev_update_features(). Fix this. |
| 10 | |
| 11 | Fixes: c850240b6c41 ("net: macsec: report real_dev features when HW offloading is enabled") |
| 12 | Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com> |
| 13 | Signed-off-by: David S. Miller <davem@davemloft.net> |
| 14 | --- |
| 15 | drivers/net/macsec.c | 3 ++- |
| 16 | 1 file changed, 2 insertions(+), 1 deletion(-) |
| 17 | |
| 18 | diff --git a/drivers/net/macsec.c b/drivers/net/macsec.c |
| 19 | index 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 | -- |
| 37 | cgit 1.2.3-1.el7 |
| 38 | |