android_kernel_samsung_msm8976/net/ipv4
Eli Cooper b8e698e321 ipv4: Set skb->protocol properly for local output
commit f4180439109aa720774baafdd798b3234ab1a0d2 upstream.

When xfrm is applied to TSO/GSO packets, it follows this path:

    xfrm_output() -> xfrm_output_gso() -> skb_gso_segment()

where skb_gso_segment() relies on skb->protocol to function properly.

This patch sets skb->protocol to ETH_P_IP before dst_output() is called,
fixing a bug where GSO packets sent through a sit tunnel are dropped
when xfrm is involved.

Signed-off-by: Eli Cooper <elicooper@gmx.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Willy Tarreau <w@1wt.eu>
2019-07-27 21:42:44 +02:00
..
netfilter netfilter: x_tables: introduce and use xt_copy_counters_from_user 2019-07-27 21:41:45 +02:00
af_inet.c This is the 3.10.95 stable release 2017-04-18 17:14:54 +02:00
ah4.c
arp.c
cipso_ipv4.c
datagram.c ipv6: lock socket in ip6_datagram_connect() 2015-10-01 12:07:37 +02:00
devinet.c ipv4: Don't do expensive useless work during inetdev destroy. 2017-04-22 23:02:54 +02:00
esp4.c
fib_frontend.c ipv4: Don't do expensive useless work during inetdev destroy. 2017-04-22 23:02:54 +02:00
fib_lookup.h
fib_rules.c ipv4: Fix incorrect error code when adding an unreachable route 2014-12-06 15:05:46 -08:00
fib_semantics.c ipv4, fib: pass LOOPBACK_IFINDEX instead of 0 to flowi4_iif 2015-09-16 18:20:08 +05:30
fib_trie.c
gre.c
icmp.c This is the 3.10.67 stable release 2015-04-24 18:04:40 -07:00
igmp.c
inet_connection_sock.c dccp/tcp: do not inherit mc_list from parent 2017-05-20 14:06:16 +02:00
inet_diag.c net: diag: support v4mapped sockets in inet_diag_find_one_icsk() 2016-05-18 14:36:08 +05:30
inet_fragment.c
inet_hashtables.c
inet_lro.c
inet_timewait_sock.c
inetpeer.c This is the 3.10.67 stable release 2015-04-24 18:04:40 -07:00
ip_forward.c ip_forward: Drop frames with attached skb->sk 2015-05-06 21:56:20 +02:00
ip_fragment.c net: disable fragment reassembly if high_thresh is set to zero 2019-07-27 21:42:34 +02:00
ip_gre.c
ip_input.c
ip_options.c
ip_output.c ipv4: Set skb->protocol properly for local output 2019-07-27 21:42:44 +02:00
ip_sockglue.c ipv4: keep skb->dst around in presence of IP options 2017-07-10 21:25:02 +00:00
ip_tunnel.c
ip_vti.c
ipcomp.c
ipconfig.c
ipip.c
ipmr.c ipmr, ip6mr: fix scheduling while atomic and a deadlock with ipmr_get_route 2019-07-27 21:42:37 +02:00
Kconfig net: diag: Support destroying TCP sockets. 2016-05-18 14:36:07 +05:30
Makefile
netfilter.c
ping.c ping: implement proper locking 2017-06-22 10:18:36 +00:00
proc.c
protocol.c
raw.c This is the 3.10.67 stable release 2015-04-24 18:04:40 -07:00
route.c ipv4: use new_gw for redirect neigh lookup 2019-07-27 21:42:42 +02:00
syncookies.c
sysctl_net_ipv4.c net: Fail explicit bind to local reserved ports 2015-09-09 15:26:20 -07:00
sysfs_net_ipv4.c
tcp.c tcp: initialize rcv_mss to TCP_MIN_MSS instead of 0 2018-05-26 00:39:34 +02:00
tcp_bic.c
tcp_cong.c
tcp_cubic.c tcp_cubic: do not set epoch_start in the future 2017-04-18 12:17:39 +02:00
tcp_diag.c net: diag: Support destroying TCP sockets. 2016-05-18 14:36:07 +05:30
tcp_fastopen.c
tcp_highspeed.c
tcp_htcp.c
tcp_hybla.c
tcp_illinois.c remove extra definitions of U32_MAX 2015-04-29 10:33:54 +02:00
tcp_input.c tcp: detect malicious patterns in tcp_collapse_ofo_queue() 2018-08-16 23:14:58 +02:00
tcp_ipv4.c tcp: take care of truncations done by sk_filter() 2019-07-27 21:42:33 +02:00
tcp_lp.c
tcp_memcontrol.c
tcp_metrics.c
tcp_minisocks.c
tcp_output.c tcp: fix wrong checksum calculation on MTU probing 2019-07-27 21:42:32 +02:00
tcp_probe.c
tcp_scalable.c
tcp_timer.c
tcp_vegas.c
tcp_vegas.h
tcp_veno.c
tcp_westwood.c
tcp_yeah.c tcp_yeah: don't set ssthresh below 2 2016-01-28 21:49:34 -08:00
tunnel4.c
udp.c udp: properly support MSG_PEEK with truncated buffers 2017-04-22 23:02:51 +02:00
udp_diag.c udp_diag: Fix socket skipping within chain 2015-02-26 17:48:48 -08:00
udp_impl.h
udplite.c
xfrm4_input.c
xfrm4_mode_beet.c
xfrm4_mode_transport.c
xfrm4_mode_tunnel.c
xfrm4_output.c
xfrm4_policy.c This is the 3.10.84 stable release 2015-09-30 13:25:40 +05:30
xfrm4_state.c
xfrm4_tunnel.c