David S. Miller
79f9ab7e0a
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec
...
Steffen Klassert says:
====================
This pull request fixes some issues that arise when 6in4 or 4in6 tunnels
are used in combination with IPsec, all from Hannes Frederic Sowa and a
null pointer dereference when queueing packets to the policy hold queue.
1) We might access the local error handler of the wrong address family if
6in4 or 4in6 tunnel is protected by ipsec. Fix this by addind a pointer
to the correct local_error to xfrm_state_afinet.
2) Add a helper function to always refer to the correct interpretation
of skb->sk.
3) Call skb_reset_inner_headers to record the position of the inner headers
when adding a new one in various ipv6 tunnels. This is needed to identify
the addresses where to send back errors in the xfrm layer.
4) Dereference inner ipv6 header if encapsulated to always call the
right error handler.
5) Choose protocol family by skb protocol to not call the wrong
xfrm{4,6}_local_error handler in case an ipv6 sockets is used
in ipv4 mode.
6) Partly revert "xfrm: introduce helper for safe determination of mtu"
because this introduced pmtu discovery problems.
7) Set skb->protocol on tcp, raw and ip6_append_data genereated skbs.
We need this to get the correct mtu informations in xfrm.
8) Fix null pointer dereference in xdst_queue_output.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-08-29 16:05:30 -04:00
..
9p
9P: Add cancelled() to the transport functions.
2013-07-07 22:18:18 -05:00
bluetooth
Bluetooth: Remove unneeded flag
2013-06-23 00:23:53 +01:00
caif
caif: Remove my bouncing email address.
2013-04-23 13:25:51 -04:00
irda
irda: small read past the end of array in debug code
2013-04-19 17:32:31 -04:00
iucv
af_iucv: fix recvmsg by replacing skb_pull() function
2013-04-08 17:16:57 -04:00
netfilter
net_sched: add 64bit rate estimators
2013-06-11 02:51:03 -07:00
netns
netfilter: {ipt,ebt}_ULOG: rise warning on deprecation
2013-05-23 14:23:16 +02:00
nfc
NFC: netlink: Rename CMD_FW_UPLOAD to CMD_FW_DOWNLOAD
2013-07-31 01:19:43 +02:00
phonet
sctp
net: sctp: prevent checksum.h from double inclusion
2013-07-02 00:23:57 -07:00
tc_act
act_api.h
net_sched: add 64bit rate estimators
2013-06-11 02:51:03 -07:00
addrconf.h
ipv6,mcast: always hold idev->lock before mca_lock
2013-07-01 23:39:21 -07:00
af_ieee802154.h
af_rxrpc.h
af_unix.h
af_unix: fix a fatal race with bit fields
2013-05-01 15:13:49 -04:00
ah.h
arp.h
atmclip.h
ax25.h
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
ax88796.h
busy_poll.h
net: add cpu_relax to busy poll loop
2013-08-28 17:45:48 -04:00
cfg80211-wext.h
cfg80211.h
cfg80211: require passing BSS struct back to cfg80211_assoc_timeout
2013-06-19 18:55:39 +02:00
checksum.h
cipso_ipv4.h
cls_cgroup.h
cls_cgroup: remove task_struct parameter from sock_update_classid()
2013-04-09 13:19:35 -04:00
codel.h
compat.h
datalink.h
dcbevent.h
dcbnl.h
dn.h
dn_dev.h
dn_fib.h
decnet: Parse netlink attributes on our own
2013-03-22 10:31:16 -04:00
dn_neigh.h
dn_nsp.h
dn_route.h
decnet: use correct RCU API to deref sk_dst_cache field
2013-01-28 00:15:27 -05:00
dsa.h
dsfield.h
ipv6: Optimize ipv6_change_dsfield().
2013-01-09 23:59:53 -08:00
dst.h
Fix dst_neigh_lookup/dst_neigh_lookup_skb return value handling bug
2013-03-15 09:06:58 -04:00
dst_ops.h
esp.h
ethoc.h
fib_rules.h
firewire.h
firewire net, ipv4 arp: Extend hardware address and remove driver-level packet inspection.
2013-03-26 12:32:13 -04:00
flow.h
ipv4: Add FLOWI_FLAG_KNOWN_NH
2012-10-08 17:42:36 -04:00
flow_keys.h
flow_keys: include thoff into flow_keys for later usage
2013-03-20 12:14:36 -04:00
garp.h
gen_stats.h
net_sched: add 64bit rate estimators
2013-06-11 02:51:03 -07:00
genetlink.h
genl: Hold reference on correct module while netlink-dump.
2013-08-28 17:19:17 -04:00
gre.h
net: gre: move GSO functions to gre_offload
2013-07-03 14:37:39 -07:00
gro_cells.h
gro: Fix kcalloc argument order
2013-01-27 22:46:33 -05:00
icmp.h
ipv4: fix error handling in icmp_protocol.
2013-02-22 15:10:18 -05:00
ieee80211_radiotap.h
mac80211: add STBC flag for radiotap
2013-05-24 12:07:25 +02:00
ieee802154.h
ieee802154_netdev.h
ieee802154/nl-mac.c: make some MLME operations optional
2013-04-08 12:00:16 -04:00
if_inet6.h
ipv6: resend MLD report if a link-local address completes DAD
2013-06-28 21:19:17 -07:00
inet6_connection_sock.h
inet6_hashtables.h
ipv6: use a stronger hash for tcp
2013-02-21 18:15:58 -05:00
inet_common.h
inet_connection_sock.h
tcp: Tail loss probe (TLP)
2013-03-12 08:30:34 -04:00
inet_ecn.h
net: Correct comparisons and calculations using skb->tail and skb-transport_header
2013-05-28 23:49:07 -07:00
inet_frag.h
net: frag, fix race conditions in LRU list maintenance
2013-05-06 11:06:51 -04:00
inet_hashtables.h
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
inet_sock.h
ipv4: remove is_data also from ip_options documentation.
2013-06-12 03:13:50 -07:00
inet_timewait_sock.h
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
inetpeer.h
ip.h
ipv4: Add a socket release callback for datagram sockets
2013-01-21 14:17:05 -05:00
ip6_checksum.h
ipv6: move csum_ipv6_magic() and udp6_csum_init() into static library
2013-01-08 17:56:10 -08:00
ip6_fib.h
ipv6: prevent fib6_run_gc() contention
2013-08-01 14:16:20 -07:00
ip6_route.h
ipv6: handle Redirect ICMP Message with no Redirected Header option
2013-08-22 20:08:21 -07:00
ip6_tunnel.h
GRE: Refactor GRE tunneling code.
2013-03-26 12:27:18 -04:00
ip_fib.h
ipv4: remove fib_update_nh_saddrs() declaration.
2013-07-02 00:33:52 -07:00
ip_tunnels.h
ip_tunnel: Do not use inner ip-header-id for tunnel ip-header-id.
2013-08-13 16:52:50 -07:00
ip_vs.h
ipvs: add sync_persist_mode flag
2013-06-26 18:01:46 +09:00
ipcomp.h
ipconfig.h
ipv6.h
ipv6: Convert use of typedef ctl_table to struct ctl_table
2013-06-19 23:18:07 -07:00
ipx.h
iw_handler.h
lapb.h
lib80211.h
hostap: Don't use create_proc_read_entry()
2013-04-29 15:41:56 -04:00
llc.h
llc: Remove stray reference to sysctl_llc_station_ack_timeout.
2012-09-17 13:13:24 -04:00
llc_c_ac.h
llc_c_ev.h
llc_c_st.h
llc_conn.h
llc_if.h
llc_pdu.h
llc_s_ac.h
llc_s_ev.h
llc_s_st.h
llc_sap.h
mac80211.h
mac80211: add a flag to indicate CCK support for HT clients
2013-08-21 15:03:25 +02:00
mac802154.h
mip6.h
mld.h
mrp.h
net/802: Implement Multiple Registration Protocol (MRP)
2013-02-10 20:37:22 -05:00
ndisc.h
ndisc: Add missing inline to ndisc_addr_option_pad
2013-07-31 15:18:17 -07:00
neighbour.h
net neighbour, decnet: Ensure to align device private data on preferred alignment.
2013-02-11 00:21:44 -05:00
net_namespace.h
netns: exclude ipvs from struct net when IPVS disabled
2013-06-26 18:01:46 +09:00
net_ratelimit.h
netdma.h
netevent.h
ipv6 netevent: Remove old_neigh from netevent_redirect.
2013-01-14 15:04:59 -05:00
netlabel.h
userns: Convert the audit loginuid to be a kuid
2012-09-17 18:08:54 -07:00
netlink.h
netlink: Rename pid to portid to avoid confusion
2012-09-10 15:30:41 -04:00
netprio_cgroup.h
netprio_cgroup: remove task_struct parameter from sock_update_netprio()
2013-04-09 13:19:37 -04:00
netrom.h
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
nexthop.h
nl802154.h
p8022.h
ping.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2013-06-05 16:37:30 -07:00
pkt_cls.h
pkt_sched: namespace aware act_mirred
2013-01-14 15:09:36 -05:00
pkt_sched.h
sch_api: introduce qdisc_watchdog_schedule_ns()
2013-02-12 18:59:45 -05:00
protocol.h
net: Remove code duplication between offload structures
2012-11-15 17:39:51 -05:00
psnap.h
raw.h
rawv6.h
red.h
regulatory.h
regulatory: use RCU to protect last_request
2013-01-03 13:01:30 +01:00
request_sock.h
net: remove a stale comment for dl_next
2013-04-22 15:55:48 -04:00
rose.h
route.h
xfrm: introduce helper for safe determination of mtu
2013-08-14 13:09:07 +02:00
rtnetlink.h
rtnetlink: Remove passing of attributes into rtnl_doit functions
2013-03-22 10:31:16 -04:00
sch_generic.h
net_sched: restore "linklayer atm" handling
2013-08-15 01:43:08 -07:00
scm.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2013-04-22 20:32:51 -04:00
secure_seq.h
net: defer net_secret[] initialization
2013-04-29 15:14:02 -04:00
slhc_vj.h
snmp.h
sock.h
net: rename CONFIG_NET_LL_RX_POLL to CONFIG_NET_RX_BUSY_POLL
2013-08-01 15:11:17 -07:00
stp.h
tcp.h
tcp: remove invalid __rcu annotation
2013-06-25 02:44:05 -07:00
tcp_memcontrol.h
tcp_states.h
timewait_sock.h
transp_v6.h
transp_v6.h: style neatening
2013-06-04 16:43:42 -07:00
udp.h
ipv6: call udp_push_pending_frames when uncorking a socket with AF_INET pending data
2013-07-02 12:44:18 -07:00
udplite.h
wext.h
wimax.h
wpan-phy.h
x25.h
x25device.h
xfrm.h
xfrm: revert ipv4 mtu determination to dst_mtu
2013-08-26 12:40:53 +02:00