Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c3c1a7db authored by Al Viro's avatar Al Viro
Browse files

ipv6: rawv6_send_hdrinc(): pass msghdr



Switch from passing msg->iov_iter.iov to passing msg itself

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 7ae9abfd
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -609,7 +609,7 @@ static int rawv6_push_pending_frames(struct sock *sk, struct flowi6 *fl6,
	return err;
}

static int rawv6_send_hdrinc(struct sock *sk, void *from, int length,
static int rawv6_send_hdrinc(struct sock *sk, struct msghdr *msg, int length,
			struct flowi6 *fl6, struct dst_entry **dstp,
			unsigned int flags)
{
@@ -648,7 +648,7 @@ static int rawv6_send_hdrinc(struct sock *sk, void *from, int length,
	skb->ip_summed = CHECKSUM_NONE;

	skb->transport_header = skb->network_header;
	err = memcpy_fromiovecend((void *)iph, from, 0, length);
	err = memcpy_fromiovecend((void *)iph, msg->msg_iter.iov, 0, length);
	if (err)
		goto error_fault;

@@ -886,8 +886,7 @@ static int rawv6_sendmsg(struct kiocb *iocb, struct sock *sk,

back_from_confirm:
	if (inet->hdrincl)
		/* XXX: stripping const */
		err = rawv6_send_hdrinc(sk, (struct iovec *)msg->msg_iter.iov, len, &fl6, &dst, msg->msg_flags);
		err = rawv6_send_hdrinc(sk, msg, len, &fl6, &dst, msg->msg_flags);
	else {
		lock_sock(sk);
		err = ip6_append_data(sk, raw6_getfrag, &rfv,