{
        struct smc_sock *smc = smc_sk(sk);
 
+       memset(r, 0, sizeof(*r));
        r->diag_family = sk->sk_family;
+       sock_diag_save_cookie(sk, r->id.idiag_cookie);
        if (!smc->clcsock)
                return;
        r->id.idiag_sport = htons(smc->clcsock->sk->sk_num);
        r->id.idiag_dport = smc->clcsock->sk->sk_dport;
        r->id.idiag_if = smc->clcsock->sk->sk_bound_dev_if;
-       sock_diag_save_cookie(sk, r->id.idiag_cookie);
        if (sk->sk_protocol == SMCPROTO_SMC) {
-               memset(&r->id.idiag_src, 0, sizeof(r->id.idiag_src));
-               memset(&r->id.idiag_dst, 0, sizeof(r->id.idiag_dst));
                r->id.idiag_src[0] = smc->clcsock->sk->sk_rcv_saddr;
                r->id.idiag_dst[0] = smc->clcsock->sk->sk_daddr;
 #if IS_ENABLED(CONFIG_IPV6)