if (test_bit(OPT_IPV6_DEVICE, &options)) {
                conn->ipv6_traffic_class = fw_ddb_entry->ipv4_tos;
 
-               conn->link_local_ipv6_addr = kzalloc(IPv6_ADDR_LEN, GFP_KERNEL);
+               conn->link_local_ipv6_addr = kmemdup(
+                                       fw_ddb_entry->link_local_ipv6_addr,
+                                       IPv6_ADDR_LEN, GFP_KERNEL);
                if (!conn->link_local_ipv6_addr) {
                        rc = -ENOMEM;
                        goto exit_copy;
                }
-
-               memcpy(conn->link_local_ipv6_addr,
-                      fw_ddb_entry->link_local_ipv6_addr, IPv6_ADDR_LEN);
        } else {
                conn->ipv4_tos = fw_ddb_entry->ipv4_tos;
        }