tree: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git
master
head: a3fde2addd5f0218b64102005a237ef727b0dc30
commit: addf9b90de22f7aaad0db39bccb5d51ac47dd4e1 [134/141] net: rtnetlink: use
rcu to free rtnl message handlers
reproduce:
# apt-get install sparse
git checkout addf9b90de22f7aaad0db39bccb5d51ac47dd4e1
make ARCH=x86_64 allmodconfig
make C=1 CF=-D__CHECK_ENDIAN__
sparse warnings: (new ones prefixed by >>)
vim +155 net/core/rtnetlink.c
147
148 static struct rtnl_link *rtnl_get_link(int protocol, int msgtype)
149 {
150 struct rtnl_link **tab;
151
152 if (protocol >= ARRAY_SIZE(rtnl_msg_handlers))
153 protocol = PF_UNSPEC;
154
> 155 tab = rcu_dereference_rtnl(rtnl_msg_handlers[protocol]);
156 if (!tab)
157 tab =
rcu_dereference_rtnl(rtnl_msg_handlers[PF_UNSPEC]);
158
159 return tab[msgtype];
160 }
161
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation