Hi Patrick, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on net-next/master] url: https://github.com/0day-ci/linux/commits/Patrick-Ruddy/netlink-ipv4-IGMP-join-notifications/20180831-105548 config: i386-randconfig-s0-201834 (attached as .config) compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026 reproduce: # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): In file included from net//ipv4/udp.c:92:0: >> include/linux/igmp.h:133:58: warning: 'struct netlink_callback' declared inside parameter list will not be visible outside of this definition or declaration extern int ip_mc_dump_ifaddr(struct sk_buff *skb, struct netlink_callback *cb, ^~~~~~~~~~~~~~~~ vim +133 include/linux/igmp.h 108 109 extern int ip_check_mc_rcu(struct in_device *dev, __be32 mc_addr, __be32 src_addr, u8 proto); 110 extern int igmp_rcv(struct sk_buff *); 111 extern int ip_mc_join_group(struct sock *sk, struct ip_mreqn *imr); 112 extern int ip_mc_join_group_ssm(struct sock *sk, struct ip_mreqn *imr, 113 unsigned int mode); 114 extern int ip_mc_leave_group(struct sock *sk, struct ip_mreqn *imr); 115 extern void ip_mc_drop_socket(struct sock *sk); 116 extern int ip_mc_source(int add, int omode, struct sock *sk, 117 struct ip_mreq_source *mreqs, int ifindex); 118 extern int ip_mc_msfilter(struct sock *sk, struct ip_msfilter *msf,int ifindex); 119 extern int ip_mc_msfget(struct sock *sk, struct ip_msfilter *msf, 120 struct ip_msfilter __user *optval, int __user *optlen); 121 extern int ip_mc_gsfget(struct sock *sk, struct group_filter *gsf, 122 struct group_filter __user *optval, int __user *optlen); 123 extern int ip_mc_sf_allow(struct sock *sk, __be32 local, __be32 rmt, 124 int dif, int sdif); 125 extern void ip_mc_init_dev(struct in_device *); 126 extern void ip_mc_destroy_dev(struct in_device *); 127 extern void ip_mc_up(struct in_device *); 128 extern void ip_mc_down(struct in_device *); 129 extern void ip_mc_unmap(struct in_device *); 130 extern void ip_mc_remap(struct in_device *); 131 extern void ip_mc_dec_group(struct in_device *in_dev, __be32 addr); 132 extern void ip_mc_inc_group(struct in_device *in_dev, __be32 addr); > 133 extern int ip_mc_dump_ifaddr(struct sk_buff *skb, struct netlink_callback *cb, 134 struct net_device *dev); 135 int ip_mc_check_igmp(struct sk_buff *skb, struct sk_buff **skb_trimmed); 136 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation