Re: [PATCH v2 01/18] netlink: make the check for "send from tx_ring" deterministic
From: Sergei Shtylyov <hidden>
Date: 2015-02-02 13:14:17
Hello. On 2/2/2015 10:59 AM, Al Viro wrote:
From: Al Viro <viro@zeniv.linux.org.uk>
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: Al Viro <viro@zeniv.linux.org.uk> --- net/netlink/af_netlink.c | 4 ++++ 1 file changed, 4 insertions(+)
quoted hunk ↗ jump to hunk
diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c index a36777b..af51d58 100644 --- a/net/netlink/af_netlink.c +++ b/net/netlink/af_netlink.c@@ -2298,7 +2298,11 @@ static int netlink_sendmsg(struct kiocb *kiocb, struct socket *sock, goto out; } + /* It's a really convoluted way for userland to ask for mmaped + * sendmsg(), but that's what we've got... */
Hmm, not sure why DaveM hasn't commented on this broken comment formatting
(perhaps he was going to fix it while applying?). The preferred comment style
in the networking code is:
/* bla
* bla
*/
WBR, Sergei