Hi Karsten,

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/Ursula-Braun/net-smc-periodic-testlink-support/20180501-045940
config: x86_64-randconfig-x016-201817 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 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/linux/sock_diag.h:8:0,
                    from net/smc/smc_diag.c:15:
   net/smc/smc_diag.c: In function 'smc_diag_msg_common_fill':
>> include/net/sock.h:350: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/smc/smc_diag.c:49:47: note: in expansion of macro 'sk_v6_rcv_saddr'
      memcpy(&r->id.idiag_src, &smc->clcsock->sk->sk_v6_rcv_saddr,
                                                  ^~~~~~~~~~~~~~~
>> include/net/sock.h:350: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/smc/smc_diag.c:50:35: note: in expansion of macro 'sk_v6_rcv_saddr'
             sizeof(smc->clcsock->sk->sk_v6_rcv_saddr));
                                      ^~~~~~~~~~~~~~~
>> include/net/sock.h:349: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/smc/smc_diag.c:51:47: note: in expansion of macro 'sk_v6_daddr'
      memcpy(&r->id.idiag_dst, &smc->clcsock->sk->sk_v6_daddr,
                                                  ^~~~~~~~~~~
>> include/net/sock.h:349: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/smc/smc_diag.c:52:35: note: in expansion of macro 'sk_v6_daddr'
             sizeof(smc->clcsock->sk->sk_v6_daddr));
                                      ^~~~~~~~~~~
--
   In file included from include/linux/sock_diag.h:8:0,
                    from net//smc/smc_diag.c:15:
   net//smc/smc_diag.c: In function 'smc_diag_msg_common_fill':
>> include/net/sock.h:350: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//smc/smc_diag.c:49:47: note: in expansion of macro 'sk_v6_rcv_saddr'
      memcpy(&r->id.idiag_src, &smc->clcsock->sk->sk_v6_rcv_saddr,
                                                  ^~~~~~~~~~~~~~~
>> include/net/sock.h:350: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//smc/smc_diag.c:50:35: note: in expansion of macro 'sk_v6_rcv_saddr'
             sizeof(smc->clcsock->sk->sk_v6_rcv_saddr));
                                      ^~~~~~~~~~~~~~~
>> include/net/sock.h:349: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//smc/smc_diag.c:51:47: note: in expansion of macro 'sk_v6_daddr'
      memcpy(&r->id.idiag_dst, &smc->clcsock->sk->sk_v6_daddr,
                                                  ^~~~~~~~~~~
>> include/net/sock.h:349: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//smc/smc_diag.c:52:35: note: in expansion of macro 'sk_v6_daddr'
             sizeof(smc->clcsock->sk->sk_v6_daddr));
                                      ^~~~~~~~~~~

vim +/sk_v6_rcv_saddr +49 net/smc/smc_diag.c

  > 15  #include <linux/sock_diag.h>
    16  #include <linux/inet_diag.h>
    17  #include <linux/smc_diag.h>
    18  #include <net/netlink.h>
    19  #include <net/smc.h>
    20  
    21  #include "smc.h"
    22  #include "smc_core.h"
    23  
    24  static void smc_gid_be16_convert(__u8 *buf, u8 *gid_raw)
    25  {
    26          sprintf(buf, "%04x:%04x:%04x:%04x:%04x:%04x:%04x:%04x",
    27                  be16_to_cpu(((__be16 *)gid_raw)[0]),
    28                  be16_to_cpu(((__be16 *)gid_raw)[1]),
    29                  be16_to_cpu(((__be16 *)gid_raw)[2]),
    30                  be16_to_cpu(((__be16 *)gid_raw)[3]),
    31                  be16_to_cpu(((__be16 *)gid_raw)[4]),
    32                  be16_to_cpu(((__be16 *)gid_raw)[5]),
    33                  be16_to_cpu(((__be16 *)gid_raw)[6]),
    34                  be16_to_cpu(((__be16 *)gid_raw)[7]));
    35  }
    36  
    37  static void smc_diag_msg_common_fill(struct smc_diag_msg *r, struct 
sock *sk)
    38  {
    39          struct smc_sock *smc = smc_sk(sk);
    40  
    41          if (!smc->clcsock)
    42                  return;
    43          r->id.idiag_sport = htons(smc->clcsock->sk->sk_num);
    44          r->id.idiag_dport = smc->clcsock->sk->sk_dport;
    45          r->id.idiag_if = smc->clcsock->sk->sk_bound_dev_if;
    46          sock_diag_save_cookie(sk, r->id.idiag_cookie);
    47          if (sk->sk_protocol == SMCPROTO_SMC6) {
    48                  r->diag_family = PF_INET6;
  > 49                  memcpy(&r->id.idiag_src, 
&smc->clcsock->sk->sk_v6_rcv_saddr,
  > 50                         sizeof(smc->clcsock->sk->sk_v6_rcv_saddr));
  > 51                  memcpy(&r->id.idiag_dst, &smc->clcsock->sk->sk_v6_daddr,
    52                         sizeof(smc->clcsock->sk->sk_v6_daddr));
    53          } else {
    54                  r->diag_family = PF_INET;
    55                  memset(&r->id.idiag_src, 0, sizeof(r->id.idiag_src));
    56                  memset(&r->id.idiag_dst, 0, sizeof(r->id.idiag_dst));
    57                  r->id.idiag_src[0] = smc->clcsock->sk->sk_rcv_saddr;
    58                  r->id.idiag_dst[0] = smc->clcsock->sk->sk_daddr;
    59          }
    60  }
    61  

---
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