linux-stable/net
Dust Li 3c6e959125 net: sched: fix tc -s class show no bstats on class with nolock subqueues
[ Upstream commit 14e54ab914 ]

When a classful qdisc's child qdisc has set the flag
TCQ_F_CPUSTATS (pfifo_fast for example), the child qdisc's
cpu_bstats should be passed to gnet_stats_copy_basic(),
but many classful qdisc didn't do that. As a result,
`tc -s class show dev DEV` always return 0 for bytes and
packets in this case.

Pass the child qdisc's cpu_bstats to gnet_stats_copy_basic()
to fix this issue.

The qstats also has this problem, but it has been fixed
in 5dd431b6b9 ("net: sched: introduce and use qstats read...")
and bstats still remains buggy.

Fixes: 22e0f8b932 ("net: sched: make bstats per cpu and estimator RCU safe")
Signed-off-by: Dust Li <dust.li@linux.alibaba.com>
Signed-off-by: Tony Lu <tonylu@linux.alibaba.com>
Acked-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-12-05 15:38:19 +01:00
..
6lowpan 6lowpan: iphc: reset mac_header after decompress to fix panic 2018-10-03 17:00:47 -07:00
9p 9p/virtio: Add cleanup path in p9_virtio_init 2019-07-31 07:28:39 +02:00
802
8021q vlan: disable SIOCSHWTSTAMP in container 2019-05-16 19:42:34 +02:00
appletalk appletalk: enforce CAP_NET_RAW for raw sockets 2019-10-05 12:47:43 +02:00
atm net: use skb_queue_empty_lockless() in poll() handlers 2019-11-10 11:25:34 +01:00
ax25 ax25: enforce CAP_NET_RAW for raw sockets 2019-10-05 12:47:43 +02:00
batman-adv batman-adv: Only read OGM2 tvlv_len after buffer len check 2019-09-21 07:15:35 +02:00
bluetooth Bluetooth: L2CAP: Detect if remote is not able to use the whole MPS 2019-11-20 18:00:46 +01:00
bpf
bridge bridge: ebtables: don't crash when using dnat target in output chains 2019-12-05 15:36:56 +01:00
caif net: use skb_queue_empty_lockless() in poll() handlers 2019-11-10 11:25:34 +01:00
can can: af_can: Fix error path of can_init() 2019-07-21 09:04:22 +02:00
ceph libceph: fix PG split vs OSD (re)connect race 2019-08-29 08:26:42 +02:00
core net: fix possible overflow in __sk_mem_raise_allocated() 2019-12-05 15:37:58 +01:00
dcb net: dcb: For wild-card lookups, use priority -1, not 0 2018-09-19 22:43:43 +02:00
dccp inet: stop leaking jiffies on the wire 2019-11-10 11:25:37 +01:00
decnet decnet: fix DN_IFREQ_SIZE 2019-12-05 15:37:56 +01:00
dns_resolver
dsa net: dsa: fix switch tree list 2019-11-10 11:25:32 +01:00
ethernet
hsr net/hsr: fix possible crash in add_timer() 2019-03-19 13:13:22 +01:00
ieee802154 ieee802154: enforce CAP_NET_RAW for raw sockets 2019-10-05 12:47:44 +02:00
ife
ipv4 ip_tunnel: Make none-tunnel-dst tunnel port work with lwtunnel 2019-12-05 15:37:56 +01:00
ipv6 ipv6: Fix handling of LLA with VRF and sockets bound to VRF 2019-12-01 09:14:14 +01:00
ipx
iucv
kcm kcm: switch order of device registration to fix a crash 2019-04-17 08:37:45 +02:00
key xfrm: clean up xfrm protocol checks 2019-09-16 08:20:44 +02:00
l2tp compat_ioctl: pppoe: fix PPPOEIOCSFWD handling 2019-08-09 17:53:35 +02:00
l3mdev
lapb lapb: fixed leak of control-blocks. 2019-06-22 08:16:14 +02:00
llc llc: avoid blocking in llc_sap_close() 2019-11-20 17:59:59 +01:00
mac80211 mac80211: fix station inactive_time shortly after boot 2019-12-05 15:37:06 +01:00
mac802154 net: mac802154: tx: expand tailroom if necessary 2018-09-09 19:55:52 +02:00
mpls mpls: Return error for RTA_GATEWAY attribute 2019-03-13 14:03:09 -07:00
ncsi
netfilter netfilter: nft_compat: do not dump private area 2019-11-24 08:23:32 +01:00
netlabel netlabel: fix out-of-bounds memory accesses 2019-03-13 14:03:08 -07:00
netlink genetlink: Fix a memory leak on error path 2019-04-03 06:25:08 +02:00
netrom netrom: hold sock when setting skb->destructor 2019-07-31 07:28:46 +02:00
nfc nfc: netlink: fix double device reference drop 2019-11-12 19:17:54 +01:00
nsh
openvswitch openvswitch: remove another BUG_ON() 2019-12-05 15:38:17 +01:00
packet net/packet: fix race in tpacket_snd() 2019-08-25 10:50:26 +02:00
phonet net: use skb_queue_empty_lockless() in poll() handlers 2019-11-10 11:25:34 +01:00
psample net: psample: fix skb_over_panic 2019-12-05 15:38:15 +01:00
qrtr net: qrtr: Stop rx_worker before freeing node 2019-10-05 12:47:40 +02:00
rds net/rds: Fix error handling in rds_ib_add_one() 2019-10-07 18:55:20 +02:00
rfkill
rose net/rose: fix unbound loop in rose_loopback_timer() 2019-05-02 09:40:34 +02:00
rxrpc rxrpc: Fix call ref leak 2019-11-06 12:43:37 +01:00
sched net: sched: fix tc -s class show no bstats on class with nolock subqueues 2019-12-05 15:38:19 +01:00
sctp sctp: cache netns in sctp_ep_common 2019-12-05 15:38:18 +01:00
smc net/smc: prevent races between smc_lgr_terminate() and smc_conn_free() 2019-12-05 15:37:57 +01:00
strparser
sunrpc sunrpc: safely reallow resvport min/max inversion 2019-12-01 09:13:42 +01:00
switchdev
tipc tipc: fix link name length check 2019-12-05 15:38:18 +01:00
tls net/tls: Fixed return value when tls_complete_pending_work() fails 2018-12-05 19:41:11 +01:00
unix net: fix warning in af_unix 2019-12-01 09:13:35 +01:00
vmw_vsock VSOCK: bind to random port for VMADDR_PORT_ANY 2019-12-05 15:37:24 +01:00
wimax
wireless cfg80211: call disconnect_wk when AP stops 2019-12-01 09:14:15 +01:00
x25 net/x25: fix a race in x25_bind() 2019-03-19 13:13:23 +01:00
xfrm xfrm: Fix memleak on xfrm state destroy 2019-12-05 15:38:10 +01:00
compat.c sock: Make sock->sk_stamp thread-safe 2019-01-09 17:14:46 +01:00
Kconfig
Makefile
socket.c bpf: get rid of pure_initcall dependency to enable jits 2019-08-25 10:50:02 +02:00
sysctl_net.c