Hi Kristian,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on net-next/master]

url:    
https://github.com/0day-ci/linux/commits/Kristian-Evensen/fou-Support-binding-FoU-socket/20190321-232759
config: x86_64-kexec (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All error/warnings (new ones prefixed by >>):

   In file included from include/net/inet_sock.h:26:0,
                    from include/linux/udp.h:20,
                    from net/ipv4/fou.c:7:
   net/ipv4/fou.c: In function 'fou_cfg_cmp':
>> include/net/sock.h:361:37: error: 'struct sock_common' has no member named 
>> 'skc_v6_rcv_saddr'; did you mean 'skc_rcv_saddr'?
    #define sk_v6_rcv_saddr __sk_common.skc_v6_rcv_saddr
                                        ^
>> net/ipv4/fou.c:515:24: note: in expansion of macro 'sk_v6_rcv_saddr'
       !ipv6_addr_cmp(&sk->sk_v6_rcv_saddr, &udp_cfg->local_ip6) &&
                           ^~~~~~~~~~~~~~~
>> net/ipv4/fou.c:515:51: error: 'struct udp_port_cfg' has no member named 
>> 'local_ip6'; did you mean 'local_ip'?
       !ipv6_addr_cmp(&sk->sk_v6_rcv_saddr, &udp_cfg->local_ip6) &&
                                                      ^~~~~~~~~
                                                      local_ip
   In file included from include/net/inet_sock.h:26:0,
                    from include/linux/udp.h:20,
                    from net/ipv4/fou.c:7:
>> include/net/sock.h:360:34: error: 'struct sock_common' has no member named 
>> 'skc_v6_daddr'; did you mean 'skc_daddr'?
    #define sk_v6_daddr  __sk_common.skc_v6_daddr
                                     ^
>> net/ipv4/fou.c:516:24: note: in expansion of macro 'sk_v6_daddr'
       !ipv6_addr_cmp(&sk->sk_v6_daddr, &udp_cfg->peer_ip6)));
                           ^~~~~~~~~~~
>> net/ipv4/fou.c:516:47: error: 'struct udp_port_cfg' has no member named 
>> 'peer_ip6'; did you mean 'peer_ip'?
       !ipv6_addr_cmp(&sk->sk_v6_daddr, &udp_cfg->peer_ip6)));
                                                  ^~~~~~~~
                                                  peer_ip
   net/ipv4/fou.c: In function 'parse_nl_config':
   net/ipv4/fou.c:713:20: error: 'struct udp_port_cfg' has no member named 
'local_ip6'; did you mean 'local_ip'?
       cfg->udp_config.local_ip6 = nla_get_in6_addr(attr);
                       ^~~~~~~~~
                       local_ip
   net/ipv4/fou.c:719:20: error: 'struct udp_port_cfg' has no member named 
'peer_ip6'; did you mean 'peer_ip'?
       cfg->udp_config.peer_ip6 = nla_get_in6_addr(attr);
                       ^~~~~~~~
                       peer_ip
   In file included from include/net/inet_sock.h:26:0,
                    from include/linux/udp.h:20,
                    from net/ipv4/fou.c:7:
   net/ipv4/fou.c: In function 'fou_fill_info':
>> include/net/sock.h:361:37: error: 'struct sock_common' has no member named 
>> 'skc_v6_rcv_saddr'; did you mean 'skc_rcv_saddr'?
    #define sk_v6_rcv_saddr __sk_common.skc_v6_rcv_saddr
                                        ^
   net/ipv4/fou.c:796:15: note: in expansion of macro 'sk_v6_rcv_saddr'
             &sk->sk_v6_rcv_saddr))
                  ^~~~~~~~~~~~~~~
>> include/net/sock.h:360:34: error: 'struct sock_common' has no member named 
>> 'skc_v6_daddr'; did you mean 'skc_daddr'?
    #define sk_v6_daddr  __sk_common.skc_v6_daddr
                                     ^
   net/ipv4/fou.c:799:52: note: in expansion of macro 'sk_v6_daddr'
      if (nla_put_in6_addr(msg, FOU_ATTR_PEER_V6, &sk->sk_v6_daddr))
                                                       ^~~~~~~~~~~
   net/ipv4/fou.c: In function 'fou_cfg_cmp':
   net/ipv4/fou.c:517:1: warning: control reaches end of non-void function 
[-Wreturn-type]
    }
    ^
--
   In file included from include/net/inet_sock.h:26:0,
                    from include/linux/udp.h:20,
                    from net//ipv4/fou.c:7:
   net//ipv4/fou.c: In function 'fou_cfg_cmp':
>> include/net/sock.h:361:37: error: 'struct sock_common' has no member named 
>> 'skc_v6_rcv_saddr'; did you mean 'skc_rcv_saddr'?
    #define sk_v6_rcv_saddr __sk_common.skc_v6_rcv_saddr
                                        ^
   net//ipv4/fou.c:515:24: note: in expansion of macro 'sk_v6_rcv_saddr'
       !ipv6_addr_cmp(&sk->sk_v6_rcv_saddr, &udp_cfg->local_ip6) &&
                           ^~~~~~~~~~~~~~~
   net//ipv4/fou.c:515:51: error: 'struct udp_port_cfg' has no member named 
'local_ip6'; did you mean 'local_ip'?
       !ipv6_addr_cmp(&sk->sk_v6_rcv_saddr, &udp_cfg->local_ip6) &&
                                                      ^~~~~~~~~
                                                      local_ip
   In file included from include/net/inet_sock.h:26:0,
                    from include/linux/udp.h:20,
                    from net//ipv4/fou.c:7:
>> include/net/sock.h:360:34: error: 'struct sock_common' has no member named 
>> 'skc_v6_daddr'; did you mean 'skc_daddr'?
    #define sk_v6_daddr  __sk_common.skc_v6_daddr
                                     ^
   net//ipv4/fou.c:516:24: note: in expansion of macro 'sk_v6_daddr'
       !ipv6_addr_cmp(&sk->sk_v6_daddr, &udp_cfg->peer_ip6)));
                           ^~~~~~~~~~~
   net//ipv4/fou.c:516:47: error: 'struct udp_port_cfg' has no member named 
'peer_ip6'; did you mean 'peer_ip'?
       !ipv6_addr_cmp(&sk->sk_v6_daddr, &udp_cfg->peer_ip6)));
                                                  ^~~~~~~~
                                                  peer_ip
   net//ipv4/fou.c: In function 'parse_nl_config':
   net//ipv4/fou.c:713:20: error: 'struct udp_port_cfg' has no member named 
'local_ip6'; did you mean 'local_ip'?
       cfg->udp_config.local_ip6 = nla_get_in6_addr(attr);
                       ^~~~~~~~~
                       local_ip
   net//ipv4/fou.c:719:20: error: 'struct udp_port_cfg' has no member named 
'peer_ip6'; did you mean 'peer_ip'?
       cfg->udp_config.peer_ip6 = nla_get_in6_addr(attr);
                       ^~~~~~~~
                       peer_ip
   In file included from include/net/inet_sock.h:26:0,
                    from include/linux/udp.h:20,
                    from net//ipv4/fou.c:7:
   net//ipv4/fou.c: In function 'fou_fill_info':
>> include/net/sock.h:361:37: error: 'struct sock_common' has no member named 
>> 'skc_v6_rcv_saddr'; did you mean 'skc_rcv_saddr'?
    #define sk_v6_rcv_saddr __sk_common.skc_v6_rcv_saddr
                                        ^
   net//ipv4/fou.c:796:15: note: in expansion of macro 'sk_v6_rcv_saddr'
             &sk->sk_v6_rcv_saddr))
                  ^~~~~~~~~~~~~~~
>> include/net/sock.h:360:34: error: 'struct sock_common' has no member named 
>> 'skc_v6_daddr'; did you mean 'skc_daddr'?
    #define sk_v6_daddr  __sk_common.skc_v6_daddr
                                     ^
   net//ipv4/fou.c:799:52: note: in expansion of macro 'sk_v6_daddr'
      if (nla_put_in6_addr(msg, FOU_ATTR_PEER_V6, &sk->sk_v6_daddr))
                                                       ^~~~~~~~~~~
   net//ipv4/fou.c: In function 'fou_cfg_cmp':
   net//ipv4/fou.c:517:1: warning: control reaches end of non-void function 
[-Wreturn-type]
    }
    ^

vim +515 net/ipv4/fou.c

   501  
   502  static bool fou_cfg_cmp(struct fou *fou, struct fou_cfg *cfg)
   503  {
   504          struct sock *sk = fou->sock->sk;
   505          struct udp_port_cfg *udp_cfg = &cfg->udp_config;
   506  
   507          return fou->family == udp_cfg->family &&
   508                 fou->port == udp_cfg->local_udp_port &&
   509                 sk->sk_dport == udp_cfg->peer_udp_port &&
   510                 sk->sk_bound_dev_if == udp_cfg->bind_ifindex &&
   511                 ((fou->family == AF_INET &&
   512                   sk->sk_rcv_saddr == udp_cfg->local_ip.s_addr &&
   513                   sk->sk_daddr == udp_cfg->peer_ip.s_addr) ||
   514                  (fou->family == AF_INET6 &&
 > 515                   !ipv6_addr_cmp(&sk->sk_v6_rcv_saddr, 
 > &udp_cfg->local_ip6) &&
 > 516                   !ipv6_addr_cmp(&sk->sk_v6_daddr, &udp_cfg->peer_ip6)));
   517  }
   518  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to