Re: [PATCH net-next 2/4] net/smc: ipv6 support for smc_diag.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Kernel Development]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Info]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Linux Media]     [Device Mapper]

  Powered by Linux