| From 3f2227f411bf9806675e92f5e2d2216d11ac9363 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 4 Sep 2018 21:53:51 +0200 |
| Subject: rtnetlink: move type calculation out of loop |
| |
| From: Christian Brauner <christian@brauner.io> |
| |
| [ Upstream commit 87ccbb1f943625884b824c5560f635dcea8e4510 ] |
| |
| I don't see how the type - which is one of |
| RTM_{GETADDR,GETROUTE,GETNETCONF} - can change. So do the message type |
| calculation once before entering the for loop. |
| |
| Signed-off-by: Christian Brauner <christian@brauner.io> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| net/core/rtnetlink.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c |
| index 95768a9fca06e..c0de73b125802 100644 |
| --- a/net/core/rtnetlink.c |
| +++ b/net/core/rtnetlink.c |
| @@ -3268,13 +3268,13 @@ static int rtnl_dump_all(struct sk_buff *skb, struct netlink_callback *cb) |
| { |
| int idx; |
| int s_idx = cb->family; |
| + int type = cb->nlh->nlmsg_type - RTM_BASE; |
| |
| if (s_idx == 0) |
| s_idx = 1; |
| |
| for (idx = 1; idx <= RTNL_FAMILY_MAX; idx++) { |
| struct rtnl_link **tab; |
| - int type = cb->nlh->nlmsg_type-RTM_BASE; |
| struct rtnl_link *link; |
| rtnl_dumpit_func dumpit; |
| |
| -- |
| 2.20.1 |
| |