OSDN Git Service

rtnetlink: do not use RTM_GETLINK directly
authorFlorian Westphal <fw@strlen.de>
Thu, 10 Aug 2017 14:52:58 +0000 (16:52 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 10 Aug 2017 16:50:22 +0000 (09:50 -0700)
commit5c2bb9b6e27d9207c2e12b9cdb6bfc171afa663e
tree5ddd2662f10cbaad9329675ec4d6d159f8d034fd
parent377cb248840907adc407324b4d23f97b3ee70c98
rtnetlink: do not use RTM_GETLINK directly

Userspace sends RTM_GETLINK type, but the kernel substracts
RTM_BASE from this, i.e. 'type' doesn't contain RTM_GETLINK
anymore but instead RTM_GETLINK - RTM_BASE.

This caused the calcit callback to not be invoked when it
should have been (and vice versa).

While at it, also fix a off-by one when checking family index. vs
handler array size.

Fixes: e1fa6d216dd ("rtnetlink: call rtnl_calcit directly")
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/rtnetlink.c