openwrt/target/linux
Kevin Darbyshire-Bryant 3e81365141 kernel: gen_stats: Fix netlink stats dumping in the presence of padding
Backport hot off the press upstream netlink patch.  Fixes stats display
from CAKE qdisc on MIPS allowing us to bump CAKE to latest version.

The gen_stats facility will add a header for the toplevel nlattr of type
TCA_STATS2 that contains all stats added by qdisc callbacks. A reference
to this header is stored in the gnet_dump struct, and when all the
per-qdisc callbacks have finished adding their stats, the length of the
containing header will be adjusted to the right value.

However, on architectures that need padding (i.e., that don't set
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS), the padding nlattr is added
before the stats, which means that the stored pointer will point to the
padding, and so when the header is fixed up, the result is just a very
big padding nlattr. Because most qdiscs also supply the legacy TCA_STATS
struct, this problem has been mostly invisible, but we exposed it with
the netlink attribute-based statistics in CAKE.

Fix the issue by fixing up the stored pointer if it points to a padding
nlattr.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
(cherry picked from commit 3698b34a00)
2018-07-13 16:08:34 +01:00
..
apm821xx kernel: bump 4.14 to 4.14.48 for 18.06 2018-06-07 09:03:24 +02:00
ar7 kernel: bump 4.9 to 4.9.102 for 18.06 2018-05-24 16:03:58 +02:00
ar71xx kernel: bump 4.9 to 4.9.110 for 18.06 2018-07-02 07:06:06 +02:00
arc770 arc770: remove source-only 2018-05-24 17:24:30 +02:00
archs38 kernel: enable THIN_ARCHIVES by default 2018-05-24 17:24:31 +02:00
armvirt arm64: enable harden branch predictor 2018-04-27 21:34:18 +02:00
at91 kernel: bump 4.9 to 4.9.102 for 18.06 2018-05-24 16:03:58 +02:00
ath25 ath25: drop 4.9 kernel support 2018-05-24 17:24:30 +02:00
bcm53xx bcm53xx: fix NAND partitions on D-Link DIR-885L 2018-06-23 14:27:29 +02:00
brcm47xx kernel: bump 4.14 to 4.14.54 for 18.06 2018-07-12 13:54:24 +02:00
brcm63xx kernel: enable THIN_ARCHIVES by default 2018-05-24 17:24:31 +02:00
brcm2708 kernel: bump 4.9 to 4.9.111 for 18.06 2018-07-12 13:54:24 +02:00
cns3xxx kernel: enable THIN_ARCHIVES by default 2018-05-24 17:24:31 +02:00
gemini kernel: enable THIN_ARCHIVES by default 2018-05-24 17:24:31 +02:00
generic kernel: gen_stats: Fix netlink stats dumping in the presence of padding 2018-07-13 16:08:34 +01:00
imx6 kernel: enable THIN_ARCHIVES by default 2018-05-24 17:24:31 +02:00
ipq40xx kernel: bump 4.14 to 4.14.54 for 18.06 2018-07-12 13:54:24 +02:00
ipq806x ipq806x: fix numbering for Netgear R7800 LAN ports 2018-07-04 01:20:44 +02:00
ixp4xx kernel: bump 4.9 to 4.9.106 for 18.06 2018-06-07 09:03:05 +02:00
kirkwood kernel: enable THIN_ARCHIVES by default 2018-05-24 17:24:31 +02:00
lantiq lantiq: backport stp-xway get callback implementation 2018-07-03 20:59:27 +02:00
layerscape kernel: bump 4.9 to 4.9.111 for 18.06 2018-07-12 13:54:24 +02:00
malta malta: bump tp v4.14 2018-01-09 10:26:16 +01:00
mediatek kernel: bump 4.14 to 4.14.54 for 18.06 2018-07-12 13:54:24 +02:00
mpc85xx kernel: bump 4.9 to 4.9.106 for 18.06 2018-06-07 09:03:05 +02:00
mvebu kernel: bump 4.14 to 4.14.52 for 18.06 2018-07-02 07:06:23 +02:00
mxs kernel: enable THIN_ARCHIVES by default 2018-05-24 17:24:31 +02:00
octeon kernel: enable THIN_ARCHIVES by default 2018-05-24 17:24:31 +02:00
octeontx kernel: enable THIN_ARCHIVES by default 2018-05-24 17:24:31 +02:00
omap kernel: enable EXPORTFS by default 2018-05-24 17:24:31 +02:00
orion orion: remove linux 4.4 support 2018-04-19 14:38:57 +02:00
oxnas kernel: bump 4.14 to 4.14.52 for 18.06 2018-07-02 07:06:23 +02:00
pistachio kernel: enable THIN_ARCHIVES by default 2018-05-24 17:24:31 +02:00
ramips ramips: clean up and fix MT7621 NAND driver issues 2018-07-13 17:01:41 +02:00
rb532 treewide: move nand_do_upgrade call to platform_do_upgrade 2018-02-16 14:44:02 +01:00
sunxi kernel: bump 4.9 to 4.9.111 for 18.06 2018-07-12 13:54:24 +02:00
uml kernel: bump 4.9 to 4.9.102 for 18.06 2018-05-24 16:03:58 +02:00
x86 kernel: bump 4.9 to 4.9.106 for 18.06 2018-06-07 09:03:05 +02:00
Makefile