linux/include/net
Patrick McHardy 48d5cad87c [XFRM]: Fix SNAT-related crash in xfrm4_output_finish
When a packet matching an IPsec policy is SNATed so it doesn't match any
policy anymore it looses its xfrm bundle, which makes xfrm4_output_finish
crash because of a NULL pointer dereference.

This patch directs these packets to the original output path instead. Since
the packets have already passed the POST_ROUTING hook, but need to start at
the beginning of the original output path which includes another
POST_ROUTING invocation, a flag is added to the IPCB to indicate that the
packet was rerouted and doesn't need to pass the POST_ROUTING hook again.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-02-15 15:10:22 -08:00
..
bluetooth [Bluetooth] Reduce L2CAP MTU for RFCOMM connections 2006-02-13 11:39:57 +01:00
irda [IRDA]: Ratelimit messages. 2006-02-13 15:34:11 -08:00
netfilter [NETFILTER]: nf_conntrack: check address family when finding protocol module 2006-02-04 23:51:17 -08:00
sctp [SCTP]: Fix 'fast retransmit' to send a TSN only once. 2006-02-02 16:57:31 -08:00
tc_act [PKT_SCHED]: Introduce simple actions. 2005-04-24 20:10:16 -07:00
tipc [TIPC] More updates of file headers 2006-01-12 14:06:39 -08:00
act_api.h [PKT_SCHED]: Convert tc action functions to single skb pointers 2006-01-09 14:16:08 -08:00
act_generic.h [PKT_SCHED]: Fixup simple action define. 2005-05-19 12:42:39 -07:00
addrconf.h [NET]: Fix sparse warnings 2005-08-29 16:01:32 -07:00
af_unix.h [AF_UNIX]: Convert to use a spinlock instead of rwlock 2006-01-03 14:10:46 -08:00
ah.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
arp.h [NET]: Kill skb->real_dev 2005-08-29 15:32:25 -07:00
atmclip.h [INET_SOCK]: Move struct inet_sock & helper functions to net/inet_sock.h 2006-01-03 13:11:21 -08:00
ax25.h drivers/net: Remove pointless checks for NULL prior to calling kfree() 2005-10-28 16:53:13 -04:00
checksum.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
compat.h [NET]: Need struct sock forward decl in net/compat.h 2005-09-08 12:32:46 -07:00
datalink.h [NET]: Kill skb->real_dev 2005-08-29 15:32:25 -07:00
dn_dev.h [PATCH] Eliminate __attribute__ ((packed)) warnings for gcc-4.1 2006-01-08 20:14:07 -08:00
dn_fib.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dn_neigh.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dn_nsp.h [PATCH] Eliminate __attribute__ ((packed)) warnings for gcc-4.1 2006-01-08 20:14:07 -08:00
dn_route.h [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
dn.h [DECNET]: add memory buffer settings 2005-12-05 13:42:06 -08:00
dsfield.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dst.h [XFRM]: Netfilter IPsec output hooks 2006-01-07 12:57:28 -08:00
esp.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
flow.h [LSM-IPSec]: Security association restriction. 2006-01-03 13:10:24 -08:00
gen_stats.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
genetlink.h [PATCH] genetlink: don't touch module ref count 2006-01-13 13:06:40 -08:00
icmp.h [INET_SOCK]: Move struct inet_sock & helper functions to net/inet_sock.h 2006-01-03 13:11:21 -08:00
ieee80211_crypt.h [PATCH] hostap: don't #include C files in hostap_main.c 2006-01-16 16:51:54 -05:00
ieee80211_radiotap.h [PATCH] ieee80211: Added ieee80211_radiotap.h 2005-09-21 23:03:55 -04:00
ieee80211.h [PATCH] ieee80211: Fix A band min and max channel definitions 2006-01-27 16:49:58 -05:00
if_inet6.h [IPV6] mcast: Fix multiple issues in MLDv2 reports. 2005-12-27 14:03:00 -08:00
inet6_connection_sock.h [IPV6]: Generalise some functions 2006-01-03 13:10:46 -08:00
inet6_hashtables.h [IPV6]: Introduce inet6_timewait_sock 2006-01-03 13:10:47 -08:00
inet_common.h [NET]: move struct proto_ops to const 2006-01-03 13:11:15 -08:00
inet_connection_sock.h [INET]: congestion and af_ops can be const 2006-01-10 12:54:26 -08:00
inet_ecn.h [INET_SOCK]: Move struct inet_sock & helper functions to net/inet_sock.h 2006-01-03 13:11:21 -08:00
inet_hashtables.h [INET_SOCK]: Move struct inet_sock & helper functions to net/inet_sock.h 2006-01-03 13:11:21 -08:00
inet_sock.h [INET_SOCK]: Move struct inet_sock & helper functions to net/inet_sock.h 2006-01-03 13:11:21 -08:00
inet_timewait_sock.h [INET_SOCK]: Move struct inet_sock & helper functions to net/inet_sock.h 2006-01-03 13:11:21 -08:00
inetpeer.h [IPV4]: Safer reassembly 2006-01-03 13:10:31 -08:00
ip6_checksum.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip6_fib.h [IPV6]: V6 route events reported with wrong netlink PID and seq number 2005-06-21 13:51:04 -07:00
ip6_route.h [TCP]: Move the tcp sock states to net/tcp_states.h 2005-08-29 15:41:54 -07:00
ip6_tunnel.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip_fib.h [INET_SOCK]: Move struct inet_sock & helper functions to net/inet_sock.h 2006-01-03 13:11:21 -08:00
ip_mp_alg.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip_vs.h [INET_SOCK]: Move struct inet_sock & helper functions to net/inet_sock.h 2006-01-03 13:11:21 -08:00
ip.h [XFRM]: Fix SNAT-related crash in xfrm4_output_finish 2006-02-15 15:10:22 -08:00
ipcomp.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ipconfig.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ipip.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ipv6.h [IPV4/6]: Netfilter IPsec input hooks 2006-01-07 12:57:31 -08:00
ipx.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iw_handler.h [PATCH] iw_handler.h: SIOCSIWNAME -> SIOCSIWCOMMIT in comment 2006-01-16 16:51:53 -05:00
lapb.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc_c_ac.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc_c_ev.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc_c_st.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc_conn.h [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
llc_if.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc_pdu.h [LLC]: Fix typo 2005-11-14 21:58:18 -08:00
llc_s_ac.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc_s_ev.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc_s_st.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc_sap.h [LLC]: Fix the accept path 2005-09-22 07:57:21 -03:00
llc.h [LLC]: Fix sparse warnings 2005-09-22 05:14:33 -03:00
ndisc.h [INET_SOCK]: Move struct inet_sock & helper functions to net/inet_sock.h 2006-01-03 13:11:21 -08:00
neighbour.h [INET_SOCK]: Move struct inet_sock & helper functions to net/inet_sock.h 2006-01-03 13:11:21 -08:00
netlink.h [NETLINK]: Generic netlink receive queue processor 2005-11-10 02:26:40 +01:00
netrom.h drivers/net: Remove pointless checks for NULL prior to calling kfree() 2005-10-28 16:53:13 -04:00
p8022.h [NET]: Fix sparse warnings 2005-08-29 16:01:32 -07:00
pkt_act.h [INET_SOCK]: Move struct inet_sock & helper functions to net/inet_sock.h 2006-01-03 13:11:21 -08:00
pkt_cls.h [NET]: Remove explicit initializations of skb->input_dev 2005-08-29 15:33:26 -07:00
pkt_sched.h [PKT_SCHED]: Use USEC_PER_SEC 2006-01-09 14:16:05 -08:00
protocol.h [IPV6]: Move nextheader offset to the IP6CB 2006-01-07 12:57:29 -08:00
psnap.h [NET]: Kill skb->real_dev 2005-08-29 15:32:25 -07:00
raw.h [INET_SOCK]: Move struct inet_sock & helper functions to net/inet_sock.h 2006-01-03 13:11:21 -08:00
rawv6.h [IPV4/6]: Check if packet was actually delivered to a raw socket to decide whether to send an ICMP unreachable 2005-08-29 15:37:22 -07:00
red.h [PKT_SCHED]: Generic RED layer 2005-11-05 22:02:24 +01:00
request_sock.h [IPV6]: Generalise tcp_v6_search_req & tcp_v6_synq_add 2006-01-03 13:10:36 -08:00
rose.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
route.h [IPV4]: Always set fl.proto in ip_route_newports 2006-01-31 17:35:35 -08:00
sch_generic.h [PKT_SCHED]: Cleanup qdisc creation and alignment macros 2005-07-05 14:15:09 -07:00
scm.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
slhc_vj.h [NET]: Remove __ARGS from include/net/slhc_vj.h 2005-07-05 15:12:04 -07:00
snmp.h [PATCH] smp_processor_id() cleanup 2005-06-21 18:46:13 -07:00
sock.h [NET]: Add CONFIG_NETDEBUG to suppress bad packet messages. 2006-02-02 20:40:09 -08:00
syncppp.h [PATCH] drivers/net/wan/: possible cleanups 2005-09-14 08:36:54 -04:00
tcp_ecn.h [NET]: Introduce inet_connection_sock 2005-08-29 15:43:19 -07:00
tcp_states.h [TCP]: Move the TCPF_ enum to tcp_states.h 2006-01-03 13:10:57 -08:00
tcp.h [TCP]: less inline's 2006-01-03 16:03:49 -08:00
timewait_sock.h [TWSK]: Introduce struct timewait_sock_ops 2006-01-03 13:10:54 -08:00
transp_v6.h [ICSK]: Rename struct tcp_func to struct inet_connection_sock_af_ops 2006-01-03 13:10:38 -08:00
udp.h [INET_SOCK]: Move struct inet_sock & helper functions to net/inet_sock.h 2006-01-03 13:11:21 -08:00
x25.h [NET]: Kill skb->real_dev 2005-08-29 15:32:25 -07:00
x25device.h [NET]: Remove explicit initializations of skb->input_dev 2005-08-29 15:33:26 -07:00
xfrm.h [XFRM]: Fix SNAT-related crash in xfrm4_output_finish 2006-02-15 15:10:22 -08:00