From a64fae835481238a9f6b1c9fba9b10a536dd5f2c Mon Sep 17 00:00:00 2001 From: Kevin Darbyshire-Bryant Date: Fri, 30 Mar 2018 15:46:58 +0000 Subject: [PATCH] Revert "iproute2: fix hidden uint to uin64_t promotion in json_print" This reverts commit 745d0e7f4b6e8659cc967291acd33889035127f0. It looks like upstream don't want the patch so let's revert it here too. I hope a fix from upstream is forthcoming. Signed-off-by: Kevin Darbyshire-Bryant --- package/network/utils/iproute2/Makefile | 2 +- ...den-uint-to-uin64_t-promottion-in-js.patch | 65 ------------------- 2 files changed, 1 insertion(+), 66 deletions(-) delete mode 100644 package/network/utils/iproute2/patches/910-iproute2-fix-hidden-uint-to-uin64_t-promottion-in-js.patch diff --git a/package/network/utils/iproute2/Makefile b/package/network/utils/iproute2/Makefile index d8ff5e590d..ef4befaeda 100644 --- a/package/network/utils/iproute2/Makefile +++ b/package/network/utils/iproute2/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=iproute2 PKG_VERSION:=4.15.0 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@KERNEL/linux/utils/net/iproute2 diff --git a/package/network/utils/iproute2/patches/910-iproute2-fix-hidden-uint-to-uin64_t-promottion-in-js.patch b/package/network/utils/iproute2/patches/910-iproute2-fix-hidden-uint-to-uin64_t-promottion-in-js.patch deleted file mode 100644 index a549770045..0000000000 --- a/package/network/utils/iproute2/patches/910-iproute2-fix-hidden-uint-to-uin64_t-promottion-in-js.patch +++ /dev/null @@ -1,65 +0,0 @@ -From e1c6b35f9f978f6919e8bf651de67b30dc145543 Mon Sep 17 00:00:00 2001 -From: Kevin Darbyshire-Bryant -Date: Sun, 18 Mar 2018 08:51:08 +0000 -Subject: [PATCH] iproute2: fix hidden uint to uin64_t promotion in json_print - -print_int used 'int' type internally, whereas print_uint used 'uint64_t' - -These helper functions eventually call vfprintf(fp, fmt, args) which is -a variable argument list function and is dependent upon 'fmt' containing -correct information about the length of the passed arguments. - -Unfortunately print_int v print_uint offered no clue to the programmer -that internally passed ints to print_uint were being promoted to 64bits, -thus the format passed in 'fmt' string vs the actual passed integer -could be different lengths. This is even more interesting on big endian -architectures where 'vfprintf' would be looking in the middle of an -int64 type. Symptoms of this included tc qdisc showing bizarre values -for a variety of fields across a variety of qdiscs (e.g. refcnt, flows, -quantum) - -print_u/int now stick with native int size. - -A similar patch has been sent upstream. - -Fixes FS#1425 - -Signed-off-by: Kevin Darbyshire-Bryant ---- - include/json_print.h | 2 +- - lib/json_print.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/include/json_print.h b/include/json_print.h -index dc4d2bb3..350d35cb 100644 ---- a/include/json_print.h -+++ b/include/json_print.h -@@ -56,10 +56,10 @@ void close_json_array(enum output_type type, const char *delim); - print_color_##type_name(t, COLOR_NONE, key, fmt, value); \ - } - _PRINT_FUNC(int, int); -+_PRINT_FUNC(uint, unsigned int); - _PRINT_FUNC(bool, bool); - _PRINT_FUNC(null, const char*); - _PRINT_FUNC(string, const char*); --_PRINT_FUNC(uint, uint64_t); - _PRINT_FUNC(hu, unsigned short); - _PRINT_FUNC(hex, unsigned int); - _PRINT_FUNC(0xhex, unsigned int); -diff --git a/lib/json_print.c b/lib/json_print.c -index aa527af6..ae3a317d 100644 ---- a/lib/json_print.c -+++ b/lib/json_print.c -@@ -117,8 +117,8 @@ void close_json_array(enum output_type type, const char *str) - } \ - } - _PRINT_FUNC(int, int); -+_PRINT_FUNC(uint, unsigned int); - _PRINT_FUNC(hu, unsigned short); --_PRINT_FUNC(uint, uint64_t); - _PRINT_FUNC(lluint, unsigned long long int); - #undef _PRINT_FUNC - --- -2.14.3 (Apple Git-98) - -- 2.30.2