Paolo Abeni
6c206b2009
udp: fix rx queue len reported by diag and proc interface
...
After commit 6b229cf77d ("udp: add batching to udp_rmem_release()")
the sk_rmem_alloc field does not measure exactly anymore the
receive queue length, because we batch the rmem release. The issue
is really apparent only after commit 0d4a6608f6 ("udp: do rmem bulk
free even if the rx sk queue is empty"): the user space can easily
check for an empty socket with not-0 queue length reported by the 'ss'
tool or the procfs interface.
We need to use a custom UDP helper to report the correct queue length,
taking into account the forward allocation deficit.
Reported-by: trevor.francis@46labs.com
Fixes: 6b229cf77d ("UDP: add batching to udp_rmem_release()")
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-06-08 19:55:15 -04:00
..
ila
net: Drop pernet_operations::async
2018-03-27 13:18:09 -04:00
netfilter
netfilter: Libify xt_TPROXY
2018-06-03 00:02:05 +02:00
addrconf.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2018-06-06 18:39:49 -07:00
addrconf_core.c
net/ipv6: Add helper to return path MTU based on fib result
2018-05-22 10:51:09 +02:00
addrlabel.c
net: Drop pernet_operations::async
2018-03-27 13:18:09 -04:00
af_inet6.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2018-06-06 18:39:49 -07:00
ah6.c
anycast.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2018-06-06 18:39:49 -07:00
calipso.c
datagram.c
udp: fix rx queue len reported by diag and proc interface
2018-06-08 19:55:15 -04:00
esp6.c
esp6_offload.c
exthdrs.c
ipv6: Count interface receive statistics on the ingress netdev
2018-04-17 13:39:51 -04:00
exthdrs_core.c
net: ipv6: Fix typo in ipv6_find_hdr() documentation
2018-05-07 23:50:27 -04:00
exthdrs_offload.c
fib6_notifier.c
fib6_rules.c
net/ipv6: Add fib6_lookup
2018-05-11 00:10:56 +02:00
fou6.c
icmp.c
net: Drop pernet_operations::async
2018-03-27 13:18:09 -04:00
inet6_connection_sock.c
inet6_hashtables.c
ip6_checksum.c
ip6_fib.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2018-06-06 18:39:49 -07:00
ip6_flowlabel.c
proc: introduce proc_create_net{,_data}
2018-05-16 07:24:30 +02:00
ip6_gre.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2018-05-21 16:01:54 -04:00
ip6_icmp.c
ip6_input.c
ipv6: Count interface receive statistics on the ingress netdev
2018-04-17 13:39:51 -04:00
ip6_offload.c
udp: add udp gso
2018-04-26 15:07:42 -04:00
ip6_offload.h
ip6_output.c
vrf: check the original netdevice for generating redirect
2018-06-04 10:16:45 -04:00
ip6_tunnel.c
ip6_tunnel: remove magic mtu value 0xFFF8
2018-06-01 13:56:30 -04:00
ip6_udp_tunnel.c
ip6_vti.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2018-05-11 20:53:22 -04:00
ip6mr.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2018-06-06 18:39:49 -07:00
ipcomp6.c
ipv6_sockglue.c
Kconfig
bpf: Add IPv6 Segment Routing helpers
2018-05-24 11:57:35 +02:00
Makefile
mcast.c
proc: introduce proc_create_net{,_data}
2018-05-16 07:24:30 +02:00
mcast_snoop.c
mip6.c
ndisc.c
vrf: check the original netdevice for generating redirect
2018-06-04 10:16:45 -04:00
netfilter.c
output_core.c
ping.c
proc: introduce proc_create_net{,_data}
2018-05-16 07:24:30 +02:00
proc.c
proc: introduce proc_create_net_single
2018-05-16 07:24:30 +02:00
protocol.c
raw.c
Merge branch 'work.aio-1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2018-06-04 13:57:43 -07:00
reassembly.c
ipv6: frags: fix a lockdep false positive
2018-04-18 23:19:39 -04:00
route.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2018-06-06 18:39:49 -07:00
seg6.c
net: remove unnecessary genlmsg_cancel() calls
2018-05-29 09:53:38 -04:00
seg6_hmac.c
seg6_iptunnel.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2018-06-03 09:31:58 -04:00
seg6_local.c
ipv6: sr: Add seg6local action End.BPF
2018-05-24 11:57:36 +02:00
sit.c
ip6_tunnel: remove magic mtu value 0xFFF8
2018-06-01 13:56:30 -04:00
syncookies.c
net/ipv4: disable SMC TCP option with SYN Cookies
2018-03-25 20:53:54 -04:00
sysctl_net_ipv6.c
ipv6: sr: Compute flowlabel for outer IPv6 header of seg6 encap mode
2018-04-25 13:02:15 -04:00
tcp_ipv6.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2018-06-06 18:39:49 -07:00
tcpv6_offload.c
tunnel6.c
udp.c
udp: fix rx queue len reported by diag and proc interface
2018-06-08 19:55:15 -04:00
udp_impl.h
udp_offload.c
udp: Add support for software checksum and GSO_PARTIAL with GSO offload
2018-05-08 22:30:06 -04:00
udplite.c
proc: introduce proc_create_net{,_data}
2018-05-16 07:24:30 +02:00
xfrm6_input.c
xfrm6_mode_beet.c
xfrm6_mode_ro.c
xfrm6_mode_transport.c
xfrm6_mode_tunnel.c
xfrm6_output.c
xfrm6_policy.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2018-06-03 09:31:58 -04:00
xfrm6_protocol.c
xfrm6_state.c
xfrm: remove VLA usage in __xfrm6_sort()
2018-04-26 07:51:48 +02:00
xfrm6_tunnel.c
xfrm: Fix warning in xfrm6_tunnel_net_exit.
2018-04-16 07:50:09 +02:00