linux_dsm_epyc7002/include/net
Jason Gunthorpe 9302d7bb0c sctp: Fix mangled IPv4 addresses on a IPv6 listening socket
sctp_v4_map_v6 was subtly writing and reading from members
of a union in a way the clobbered data it needed to read before
it read it.

Zeroing the v6 flowinfo overwrites the v4 sin_addr with 0, meaning
that every place that calls sctp_v4_map_v6 gets ::ffff:0.0.0.0 as the
result.

Reorder things to guarantee correct behaviour no matter what the
union layout is.

This impacts user space clients that open an IPv6 SCTP socket and
receive IPv4 connections. Prior to 299ee user space would see a
sockaddr with AF_INET and a correct address, after 299ee the sockaddr
is AF_INET6, but the address is wrong.

Fixes: 299ee123e1 (sctp: Fixup v4mapped behaviour to comply with Sock API)
Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-05-27 14:15:26 -04:00
..
9p 9p: switch p9_client_read() to passing struct iov_iter * 2015-04-11 22:28:27 -04:00
bluetooth Bluetooth: Read LE remote features during connection establishment 2015-04-09 08:36:54 +03:00
caif
irda
iucv
netfilter netfilter: nf_tables: mark stateful expressions 2015-04-13 20:12:31 +02:00
netns netns: remove BUG_ONs from net_generic() 2015-04-17 15:21:48 -04:00
nfc nfc: nci: Add comment to explain NCI_HCI_MAX_PIPES 2015-04-06 00:19:05 +02:00
phonet
sctp sctp: Fix mangled IPv4 addresses on a IPv6 listening socket 2015-05-27 14:15:26 -04:00
tc_act act_bpf: add initial eBPF support for actions 2015-03-20 19:10:44 -04:00
6lowpan.h
act_api.h
addrconf.h
af_ieee802154.h
af_rxrpc.h
af_unix.h
af_vsock.h
ah.h
arp.h
atmclip.h
ax25.h
ax88796.h
bond_3ad.h
bond_alb.h
bond_options.h
bonding.h net/bonding: Make DRV macros private 2015-04-26 22:59:53 -04:00
busy_poll.h
cfg80211-wext.h
cfg80211.h cfg80211: move IE split utilities here from mac80211 2015-04-07 13:56:41 +02:00
cfg802154.h cfg802154: pass name_assign_type to rdev_add_virtual_intf() 2015-04-30 18:48:10 +02:00
checksum.h
cipso_ipv4.h
cls_cgroup.h
codel.h codel: fix maxpacket/mtu confusion 2015-05-03 22:17:40 -04:00
compat.h net: switch importing msghdr from userland to {compat_,}import_iovec() 2015-04-09 00:02:26 -04:00
datalink.h
dcbevent.h
dcbnl.h
dn_dev.h
dn_fib.h
dn_neigh.h netfilter: Pass socket pointer down through okfn(). 2015-04-07 15:25:55 -04:00
dn_nsp.h
dn_route.h
dn.h
dsa.h net: dsa: Add basic framework to support ndo_fdb functions 2015-03-29 13:23:54 -07:00
dsfield.h
dst_ops.h
dst.h
esp.h
ethoc.h
fib_rules.h
firewire.h
flow_keys.h
flow.h
flowcache.h
fou.h
garp.h
gen_stats.h
genetlink.h
geneve.h
gre.h
gro_cells.h
gue.h
icmp.h
ieee80211_radiotap.h
ieee802154_netdev.h
if_inet6.h ipv6: do retries on stable privacy addresses 2015-03-23 22:12:09 -04:00
inet6_connection_sock.h inet: get rid of central tcp/dccp listener timer 2015-03-20 12:40:25 -04:00
inet6_hashtables.h ipv6: get rid of __inet6_hash() 2015-03-18 22:00:35 -04:00
inet_common.h
inet_connection_sock.h inet: properly align icsk_ca_priv 2015-05-19 11:08:00 -04:00
inet_ecn.h
inet_frag.h
inet_hashtables.h inet: get rid of last __inet_hash_connect() argument 2015-03-18 22:00:35 -04:00
inet_sock.h inet: fix request sock refcounting 2015-03-17 22:02:29 -04:00
inet_timewait_sock.h tcp/dccp: get rid of central timewait timer 2015-04-13 16:40:05 -04:00
inetpeer.h tcp: simplify inetpeer_addr_base use 2015-03-31 13:58:35 -04:00
ip6_checksum.h
ip6_fib.h
ip6_route.h netfilter: Pass socket pointer down through okfn(). 2015-04-07 15:25:55 -04:00
ip6_tunnel.h udp_tunnel: Pass UDP socket down through udp_tunnel{, 6}_xmit_skb(). 2015-04-07 15:29:08 -04:00
ip_fib.h
ip_tunnels.h ipip,gre,vti,sit: implement ndo_get_iflink 2015-04-02 14:05:00 -04:00
ip_vs.h
ip.h netfilter: Pass socket pointer down through okfn(). 2015-04-07 15:25:55 -04:00
ipcomp.h
ipconfig.h
ipv6.h net: remove extra newlines 2015-04-07 22:24:37 -04:00
ipx.h
iw_handler.h
lapb.h
lib80211.h
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
llc.h
mac80211.h mac80211: fix 90 kernel-doc warnings 2015-05-04 12:56:13 +02:00
mac802154.h mac802154: add description to mac802154 APIs 2015-04-30 18:48:09 +02:00
mip6.h
mld.h
mpls.h
mrp.h
ndisc.h
neighbour.h net: neighbour: Add mcast_resolicit to configure the number of multicast resolicitations in PROBE state. 2015-03-20 21:47:40 -04:00
net_namespace.h
net_ratelimit.h
netevent.h
netlabel.h
netlink.h netlink: implement nla_get_in_addr and nla_get_in6_addr 2015-03-31 13:58:35 -04:00
netprio_cgroup.h
netrom.h
nexthop.h
nl802154.h
p8022.h
ping.h
pkt_cls.h
pkt_sched.h
protocol.h
psnap.h
raw.h
rawv6.h
red.h
regulatory.h
request_sock.h inet: fix possible panic in reqsk_queue_unlink() 2015-04-24 11:39:15 -04:00
rose.h
route.h
rtnetlink.h rtnetlink: Mark name argument of rtnl_create_link() const 2015-04-10 12:42:40 -07:00
sch_generic.h
scm.h
secure_seq.h
slhc_vj.h
snmp.h
sock.h Merge branch 'iocb' into for-davem 2015-04-09 00:01:38 -04:00
Space.h
stp.h
switchdev.h switchdev: kernel-doc cleanup on swithdev ops 2015-03-20 21:36:53 -04:00
tcp_memcontrol.h
tcp_states.h
tcp.h tcp: prepare CC get_info() access from getsockopt() 2015-04-29 17:10:38 -04:00
timewait_sock.h
transp_v6.h
tso.h
udp_tunnel.h udp_tunnel: Pass UDP socket down through udp_tunnel{, 6}_xmit_skb(). 2015-04-07 15:29:08 -04:00
udp.h
udplite.h
vsock_addr.h
vxlan.h udp_tunnel: Pass UDP socket down through udp_tunnel{, 6}_xmit_skb(). 2015-04-07 15:29:08 -04:00
wext.h
wimax.h
x25.h
x25device.h
xfrm.h netfilter: Pass socket pointer down through okfn(). 2015-04-07 15:25:55 -04:00