c
size_t size;
if (__builtin_add_overflow(NLMSG_ALIGN(sizeof(struct ifaddrmsg)),
                           nla_total_size(1), &size) ||
    __builtin_add_overflow(size, nla_total_size(4), &size))
    goto errout;
skb = nlmsg_new(size, GFP_KERNEL);
