Stefano Brivio
afce615aaa
ipv6: Don't increase IPSTATS_MIB_FRAGFAILS twice in ip6_fragment()
...
RFC 2465 defines ipv6IfStatsOutFragFails as:
"The number of IPv6 datagrams that have been discarded
because they needed to be fragmented at this output
interface but could not be."
The existing implementation, instead, would increase the counter
twice in case we fail to allocate room for single fragments:
once for the fragment, once for the datagram.
This didn't look intentional though. In one of the two affected
affected failure paths, the double increase was simply a result
of a new 'goto fail' statement, introduced to avoid a skb leak.
The other path appears to be affected since at least 2.6.12-rc2.
Reported-by: Sabrina Dubroca <sdubroca@redhat.com>
Fixes: 1d325d217c ("ipv6: ip6_fragment: fix headroom tests and skb leak")
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-07-25 21:17:10 -07:00
..
6lowpan
9p
Merge branch 'work.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2017-07-15 12:00:42 -07:00
802
net: introduce __skb_put_[zero, data, u8]
2017-06-20 13:30:14 -04:00
8021q
net: add netlink_ext_ack argument to rtnl_link_ops.validate
2017-06-26 23:13:22 -04:00
appletalk
networking: make skb_push & __skb_push return void pointers
2017-06-16 11:48:40 -04:00
atm
net, atm: convert eg_cache_entry.use from atomic_t to refcount_t
2017-07-04 22:35:16 +01:00
ax25
net, ax25: convert ax25_cb.refcount from atomic_t to refcount_t
2017-07-04 22:35:19 +01:00
batman-adv
networking: make skb_put & friends return void pointers
2017-06-16 11:48:39 -04:00
bluetooth
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2017-07-05 12:31:59 -07:00
bpf
bpf: Align packet data properly in program testing framework.
2017-05-02 11:46:28 -04:00
bridge
net: bridge: fix dest lookup when vlan proto doesn't match
2017-07-14 08:19:23 -07:00
caif
net: convert sock.sk_wmem_alloc from atomic_t to refcount_t
2017-07-01 07:39:08 -07:00
can
networking: introduce and use skb_put_data()
2017-06-16 11:48:37 -04:00
ceph
libceph: potential NULL dereference in ceph_msg_data_create()
2017-07-17 14:54:59 +02:00
core
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2017-07-20 16:33:39 -07:00
dcb
dcb: enforce minimum length on IEEE_APPS attribute
2017-05-21 13:42:33 -04:00
dccp
dccp: make const array error_code static
2017-07-13 09:24:02 -07:00
decnet
net, decnet: convert dn_fib_info.fib_clntref from atomic_t to refcount_t
2017-07-04 22:35:15 +01:00
dns_resolver
dsa
net: dsa: Initialize ds->cpu_port_mask earlier
2017-07-24 17:36:27 -07:00
ethernet
networking: make skb_push & __skb_push return void pointers
2017-06-16 11:48:40 -04:00
hsr
net: add netlink_ext_ack argument to rtnl_link_ops.newlink
2017-06-26 23:13:21 -04:00
ieee802154
net: add netlink_ext_ack argument to rtnl_link_ops.validate
2017-06-26 23:13:22 -04:00
ife
ipv4
udp: preserve head state for IP_CMSG_PASSSEC
2017-07-25 10:00:58 -07:00
ipv6
ipv6: Don't increase IPSTATS_MIB_FRAGFAILS twice in ip6_fragment()
2017-07-25 21:17:10 -07:00
ipx
net, ipx: convert ipx_route.refcnt from atomic_t to refcount_t
2017-07-04 22:35:17 +01:00
irda
Merge branch 'work.memdup_user' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2017-07-05 16:05:24 -07:00
iucv
iucv: Convert sk_wmem_alloc accesses to refcount_t.
2017-07-03 02:31:22 -07:00
kcm
net: convert sock.sk_wmem_alloc from atomic_t to refcount_t
2017-07-01 07:39:08 -07:00
key
net, xfrm: convert xfrm_policy.refcnt from atomic_t to refcount_t
2017-07-04 22:35:18 +01:00
l2tp
net, l2tp: convert l2tp_session.ref_count from atomic_t to refcount_t
2017-07-04 22:35:15 +01:00
l3mdev
lapb
net, lapb: convert lapb_cb.refcnt from atomic_t to refcount_t
2017-07-04 22:35:16 +01:00
llc
net, llc: convert llc_sap.refcnt from atomic_t to refcount_t
2017-07-04 22:35:15 +01:00
mac80211
net: manual clean code which call skb_put_[data:zero]
2017-06-20 13:30:15 -04:00
mac802154
net: Fix inconsistent teardown and release of private netdev state.
2017-06-07 15:53:24 -04:00
mpls
mpls: fix uninitialized in_label var warning in mpls_getroute
2017-07-08 11:26:41 +01:00
ncsi
networking: make skb_push & __skb_push return void pointers
2017-06-16 11:48:40 -04:00
netfilter
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2017-07-20 16:33:39 -07:00
netlabel
netlink
net: convert sock.sk_refcnt from atomic_t to refcount_t
2017-07-01 07:39:08 -07:00
netrom
net, netrom: convert nr_node.refcount from atomic_t to refcount_t
2017-07-04 22:35:17 +01:00
nfc
NFC: Add sockaddr length checks before accessing sa_family in bind handlers
2017-06-23 00:38:31 +02:00
openvswitch
openvswitch: fix potential out of bound access in parse_ct
2017-07-24 16:25:06 -07:00
packet
packet: fix use-after-free in prb_retire_rx_blk_timer_expired()
2017-07-24 17:33:19 -07:00
phonet
net: convert sock.sk_refcnt from atomic_t to refcount_t
2017-07-01 07:39:08 -07:00
psample
networking: make skb_put & friends return void pointers
2017-06-16 11:48:39 -04:00
qrtr
networking: make skb_put & friends return void pointers
2017-06-16 11:48:39 -04:00
rds
rds: Make sure updates to cp_send_gen can be observed
2017-07-20 15:33:01 -07:00
rfkill
net: rfkill: gpio: Switch to devm_acpi_dev_add_driver_gpios()
2017-06-13 11:07:51 +02:00
rose
rxrpc
net: convert sock.sk_refcnt from atomic_t to refcount_t
2017-07-01 07:39:08 -07:00
sched
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2017-07-20 16:33:39 -07:00
sctp
sctp: fix an array overflow when all ext chunks are set
2017-07-14 09:05:10 -07:00
smc
net/smc: Add warning about remote memory exposure
2017-05-16 14:49:43 -04:00
strparser
sunrpc
NFS client updates for Linux 4.13
2017-07-13 14:35:37 -07:00
switchdev
net: switchdev: Change notifier chain to be atomic
2017-06-08 14:16:24 -04:00
tipc
net: convert sock.sk_refcnt from atomic_t to refcount_t
2017-07-01 07:39:08 -07:00
tls
TLS: Fix length check in do_tls_getsockopt_tx()
2017-07-06 10:58:19 +01:00
unix
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2017-07-05 12:31:59 -07:00
vmw_vsock
net: manual clean code which call skb_put_[data:zero]
2017-06-20 13:30:15 -04:00
wimax
wireless
netlink validation fixes for nl80211
2017-07-07 11:35:55 +01:00
x25
net, x25: convert x25_neigh.refcnt from atomic_t to refcount_t
2017-07-04 22:35:18 +01:00
xfrm
net, xfrm: convert sec_path.refcnt from atomic_t to refcount_t
2017-07-04 22:35:18 +01:00
compat.c
get_compat_bpf_fprog(): don't copyin field-by-field
2017-07-04 13:14:34 -04:00
Kconfig
tls: kernel TLS support
2017-06-15 12:12:40 -04:00
Makefile
tls: kernel TLS support
2017-06-15 12:12:40 -04:00
socket.c
net/socket: fix type in assignment and trim long line
2017-07-24 14:17:01 -07:00
sysctl_net.c