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

Commit 538de0e0 authored by David S. Miller's avatar David S. Miller
Browse files

ipv4: Use flowi4_init_output() in ip_send_reply()

parent e79d9bc7
Loading
Loading
Loading
Loading
+8 −10
Original line number Diff line number Diff line
@@ -1474,16 +1474,14 @@ void ip_send_reply(struct sock *sk, struct sk_buff *skb, struct ip_reply_arg *ar
	}

	{
		struct flowi4 fl4 = {
			.flowi4_oif = arg->bound_dev_if,
			.daddr = daddr,
			.saddr = rt->rt_spec_dst,
			.flowi4_tos = RT_TOS(ip_hdr(skb)->tos),
			.fl4_sport = tcp_hdr(skb)->dest,
			.fl4_dport = tcp_hdr(skb)->source,
			.flowi4_proto = sk->sk_protocol,
			.flowi4_flags = ip_reply_arg_flowi_flags(arg),
		};
		struct flowi4 fl4;

		flowi4_init_output(&fl4, arg->bound_dev_if, 0,
				   RT_TOS(ip_hdr(skb)->tos),
				   RT_SCOPE_UNIVERSE, sk->sk_protocol,
				   ip_reply_arg_flowi_flags(arg),
				   daddr, rt->rt_spec_dst,
				   tcp_hdr(skb)->source, tcp_hdr(skb)->dest);
		security_skb_classify_flow(skb, flowi4_to_flowi(&fl4));
		rt = ip_route_output_key(sock_net(sk), &fl4);
		if (IS_ERR(rt))