• Al Viro's avatar
    netlink: make the check for "send from tx_ring" deterministic · a8866ff6
    Al Viro authored
    As it is, zero msg_iovlen means that the first iovec in the kernel
    array of iovecs is left uninitialized, so checking if its ->iov_base
    is NULL is random.  Since the real users of that thing are doing
    sendto(fd, NULL, 0, ...), they are getting msg_iovlen = 1 and
    msg_iov[0] = {NULL, 0}, which is what this test is trying to catch.
    As suggested by davem, let's just check that msg_iovlen was 1 and
    msg_iov[0].iov_base was NULL - _that_ is well-defined and it catches
    what we want to catch.
    Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
    a8866ff6
af_netlink.c 73.1 KB