diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 2564972216..5a75d29003 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -6,14 +6,14 @@ ifdef CONFIG_TESTING_KERNEL KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER) endif -LINUX_VERSION-4.9 = .222 -LINUX_VERSION-4.14 = .179 -LINUX_VERSION-4.19 = .121 +LINUX_VERSION-4.9 = .223 +LINUX_VERSION-4.14 = .180 +LINUX_VERSION-4.19 = .122 LINUX_VERSION-5.4 = .40 -LINUX_KERNEL_HASH-4.9.222 = 4cce9016eba7bbc51989d4fc6a5811a0f1c65e6d79a0b6203b7299e4a87b5229 -LINUX_KERNEL_HASH-4.14.179 = 5da7eb5c94904ee31db7e25eb7be53e27a34c9a7fde2ee4bb0b3af7b87cc5981 -LINUX_KERNEL_HASH-4.19.121 = fbe5a813ae0b2d37f25f122a005f341130fbe59cad63e2601784411855937085 +LINUX_KERNEL_HASH-4.9.223 = cf5300e6f5d8c66c2bed8f00d53f9c58103731809862427012e4010f5d782ae5 +LINUX_KERNEL_HASH-4.14.180 = 444ef973d9b6a6ea174e4a9086f0aea980d8575d13302e431ad688f22e27ed0e +LINUX_KERNEL_HASH-4.19.122 = 5050268ec5cf003d96366d1611ecfa4ab6974125d6fa26cea1ccb81dd4df00a5 LINUX_KERNEL_HASH-5.4.40 = 83563f027687ecaafb41d0d2d52056f40ec9822f8a9e43592e215349730020ab remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) diff --git a/package/firmware/ath10k-firmware/Makefile b/package/firmware/ath10k-firmware/Makefile index c3614c47d5..df06f3b3eb 100644 --- a/package/firmware/ath10k-firmware/Makefile +++ b/package/firmware/ath10k-firmware/Makefile @@ -8,8 +8,9 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ath10k-firmware -PKG_SOURCE_DATE:=2020-05-06 -PKG_SOURCE_VERSION:=d58efac2ae3e1ec1b1f45e7d5ead20d1b79f9415 +PKG_SOURCE_DATE:=2019-10-03 +PKG_SOURCE_VERSION:=d622d160e9f552ead68d9ae81b715422892dc2ef +PKG_MIRROR_HASH:=2e504e071c3f896d629c4cfffe7ff4b5f1acdb4fecd3f01e8ff8c73e87a67cc7 PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git @@ -178,4 +179,4 @@ $(eval $(call BuildPackage,ath10k-firmware-qca988x)) #$(eval $(call BuildPackage,ath10k-firmware-qca99x0)) #$(eval $(call BuildPackage,ath10k-firmware-qca6174)) #$(eval $(call BuildPackage,ath10k-firmware-qca9984)) -$(eval $(call BuildPackage,ath10k-firmware-qca4019)) +#$(eval $(call BuildPackage,ath10k-firmware-qca4019)) diff --git a/package/firmware/linux-firmware/Makefile b/package/firmware/linux-firmware/Makefile index 01dee59171..085cce422d 100644 --- a/package/firmware/linux-firmware/Makefile +++ b/package/firmware/linux-firmware/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=linux-firmware -PKG_VERSION:=20200122 +PKG_VERSION:=20191215 PKG_RELEASE:=1 PKG_SOURCE_URL:=@KERNEL/linux/kernel/firmware PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz -PKG_HASH:=a30e811b3736a72b874ac27e10662f5e5409b1cadf8aab7ba88e8f8bc8083986 +PKG_HASH:=c2068ff4a797c0f2c3edbb9488f82a48bca8a995855ea21310a8346195c0ae56 PKG_MAINTAINER:=Felix Fietkau diff --git a/package/firmware/linux-firmware/qca_ath10k.mk b/package/firmware/linux-firmware/qca_ath10k.mk index 6019ce26ec..72735819fd 100644 --- a/package/firmware/linux-firmware/qca_ath10k.mk +++ b/package/firmware/linux-firmware/qca_ath10k.mk @@ -19,7 +19,7 @@ define Package/ath10k-firmware-qca4019/install $(PKG_BUILD_DIR)/ath10k/QCA4019/hw1.0/firmware-5.bin \ $(1)/lib/firmware/ath10k/QCA4019/hw1.0/firmware-5.bin endef -# $(eval $(call BuildPackage,ath10k-firmware-qca4019)) +$(eval $(call BuildPackage,ath10k-firmware-qca4019)) Package/ath10k-firmware-qca9887 = $(call Package/firmware-default,ath10k qca9887 firmware) define Package/ath10k-firmware-qca9887/install diff --git a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh index 211fcb9510..f363200910 100644 --- a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh +++ b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh @@ -590,13 +590,7 @@ mac80211_setup_supplicant() { local add_sp=0 local spobj="$(ubus -S list | grep wpa_supplicant.${ifname})" - [ "$enable" = 0 ] && { - ubus call wpa_supplicant.${phy} config_del "{\"iface\":\"$ifname\"}" - ip link set dev "$ifname" down - iw dev "$ifname" del - return 0 - } - + wpa_supplicant_prepare_interface "$ifname" nl80211 || return 1 wpa_supplicant_prepare_interface "$ifname" nl80211 || { iw dev "$ifname" del return 1 @@ -613,17 +607,18 @@ mac80211_setup_supplicant() { [ "$spobj" ] && ubus call wpa_supplicant config_remove "{\"iface\":\"$ifname\"}" add_sp=1 fi + [ "$enable" = 0 ] && { + ubus call wpa_supplicant config_remove "{\"iface\":\"$ifname\"}" + ip link set dev "$ifname" down + return 0 + } [ -z "$spobj" ] && add_sp=1 - NEW_MD5_SP=$(test -e "${_config}" && md5sum ${_config}) - OLD_MD5_SP=$(uci -q -P /var/state get wireless._${phy}.md5_${ifname}) if [ "$add_sp" = "1" ]; then wpa_supplicant_run "$ifname" "$hostapd_ctrl" else - [ "${NEW_MD5_SP}" == "${OLD_MD5_SP}" ] || ubus call $spobj reload + ubus call $spobj reload fi - uci -q -P /var/state set wireless._${phy}.md5_${ifname}="${NEW_MD5_SP}" - return 0 } mac80211_setup_supplicant_noctl() { @@ -770,6 +765,7 @@ mac80211_setup_vif() { [ "$vif_enable" = 1 ] || action=down if [ "$mode" != "ap" ] || [ "$ifname" = "$ap_ifname" ]; then + logger ip link set dev "$ifname" $action ip link set dev "$ifname" "$action" || { wireless_setup_vif_failed IFUP_ERROR json_select .. @@ -927,8 +923,8 @@ drv_mac80211_setup() { [ "$rxantenna" = "all" ] && rxantenna=0xffffffff iw phy "$phy" set antenna $txantenna $rxantenna >/dev/null 2>&1 - iw phy "$phy" set antenna_gain $antenna_gain >/dev/null 2>&1 - iw phy "$phy" set distance "$distance" >/dev/null 2>&1 + iw phy "$phy" set antenna_gain $antenna_gain + iw phy "$phy" set distance "$distance" if [ -n "$txpower" ]; then iw phy "$phy" set txpower fixed "${txpower%%.*}00" @@ -958,8 +954,8 @@ drv_mac80211_setup() { OLD_MD5=$(uci -q -P /var/state get wireless._${phy}.md5) if [ "${NEWAPLIST}" != "${OLDAPLIST}" ]; then mac80211_vap_cleanup hostapd "${OLDAPLIST}" + [ -n "${NEWAPLIST}" ] && mac80211_iw_interface_add "$phy" "${NEWAPLIST%% *}" __ap || return fi - [ -n "${NEWAPLIST}" ] && mac80211_iw_interface_add "$phy" "${NEWAPLIST%% *}" __ap local add_ap=0 local primary_ap=${NEWAPLIST%% *} [ -n "$hostapd_ctrl" ] && { @@ -970,11 +966,7 @@ drv_mac80211_setup() { no_reload=$? if [ "$no_reload" != "0" ]; then mac80211_vap_cleanup hostapd "${OLDAPLIST}" - mac80211_vap_cleanup wpa_supplicant "$(uci -q -P /var/state get wireless._${phy}.splist)" - mac80211_vap_cleanup none "$(uci -q -P /var/state get wireless._${phy}.umlist)" - sleep 2 - mac80211_iw_interface_add "$phy" "${NEWAPLIST%% *}" __ap - for_each_interface "sta adhoc mesh monitor" mac80211_prepare_vif + [ -n "${NEWAPLIST}" ] && mac80211_iw_interface_add "$phy" "${NEWAPLIST%% *}" __ap || return fi } fi @@ -1039,10 +1031,12 @@ list_phy_interfaces() { drv_mac80211_teardown() { wireless_process_kill_all - for phy in `ls /sys/class/ieee80211/`; do - mac80211_interface_cleanup "$phy" - uci -q -P /var/state revert wireless._${phy} - done + json_select data + json_get_vars phy + json_select .. + + mac80211_interface_cleanup "$phy" + uci -q -P /var/state revert wireless._${phy} } add_driver mac80211 diff --git a/package/libs/libjson-c/Makefile b/package/libs/libjson-c/Makefile index b61d99cc99..f02518310a 100644 --- a/package/libs/libjson-c/Makefile +++ b/package/libs/libjson-c/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=json-c PKG_VERSION:=0.13.1 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-nodoc.tar.gz PKG_SOURCE_URL:=https://s3.amazonaws.com/json-c_releases/releases/ diff --git a/package/libs/libjson-c/patches/001-Protect-array_list_del_idx-against-size_t-overflow.patch b/package/libs/libjson-c/patches/001-Protect-array_list_del_idx-against-size_t-overflow.patch new file mode 100644 index 0000000000..456fbf35ff --- /dev/null +++ b/package/libs/libjson-c/patches/001-Protect-array_list_del_idx-against-size_t-overflow.patch @@ -0,0 +1,27 @@ +From 099016b7e8d70a6d5dd814e788bba08d33d48426 Mon Sep 17 00:00:00 2001 +From: Tobias Stoeckmann +Date: Mon, 4 May 2020 19:41:16 +0200 +Subject: [PATCH 1/2] Protect array_list_del_idx against size_t overflow. + +If the assignment of stop overflows due to idx and count being +larger than SIZE_T_MAX in sum, out of boundary access could happen. + +It takes invalid usage of this function for this to happen, but +I decided to add this check so array_list_del_idx is as safe against +bad usage as the other arraylist functions. +--- + arraylist.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/arraylist.c ++++ b/arraylist.c +@@ -135,6 +135,9 @@ array_list_del_idx( struct array_list *a + { + size_t i, stop; + ++ /* Avoid overflow in calculation with large indices. */ ++ if (idx > SIZE_T_MAX - count) ++ return -1; + stop = idx + count; + if ( idx >= arr->length || stop > arr->length ) return -1; + for ( i = idx; i < stop; ++i ) { diff --git a/package/libs/libjson-c/patches/002-Prevent-division-by-zero-in-linkhash.patch b/package/libs/libjson-c/patches/002-Prevent-division-by-zero-in-linkhash.patch new file mode 100644 index 0000000000..d37fe5857b --- /dev/null +++ b/package/libs/libjson-c/patches/002-Prevent-division-by-zero-in-linkhash.patch @@ -0,0 +1,32 @@ +From 77d935b7ae7871a1940cd827e850e6063044ec45 Mon Sep 17 00:00:00 2001 +From: Tobias Stoeckmann +Date: Mon, 4 May 2020 19:46:45 +0200 +Subject: [PATCH 2/2] Prevent division by zero in linkhash. + +If a linkhash with a size of zero is created, then modulo operations +are prone to division by zero operations. + +Purely protective measure against bad usage. +--- + linkhash.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/linkhash.c ++++ b/linkhash.c +@@ -12,6 +12,7 @@ + + #include "config.h" + ++#include + #include + #include + #include +@@ -498,6 +499,8 @@ struct lh_table* lh_table_new(int size, + int i; + struct lh_table *t; + ++ /* Allocate space for elements to avoid divisions by zero. */ ++ assert(size > 0); + t = (struct lh_table*)calloc(1, sizeof(struct lh_table)); + if (!t) + return NULL; diff --git a/package/libs/libjson-c/patches/003-Fix-integer-overflows.patch b/package/libs/libjson-c/patches/003-Fix-integer-overflows.patch new file mode 100644 index 0000000000..2fac62df59 --- /dev/null +++ b/package/libs/libjson-c/patches/003-Fix-integer-overflows.patch @@ -0,0 +1,86 @@ +From d07b91014986900a3a75f306d302e13e005e9d67 Mon Sep 17 00:00:00 2001 +From: Tobias Stoeckmann +Date: Mon, 4 May 2020 19:47:25 +0200 +Subject: [PATCH] Fix integer overflows. + +The data structures linkhash and printbuf are limited to 2 GB in size +due to a signed integer being used to track their current size. + +If too much data is added, then size variable can overflow, which is +an undefined behaviour in C programming language. + +Assuming that a signed int overflow just leads to a negative value, +like it happens on many sytems (Linux i686/amd64 with gcc), then +printbuf is vulnerable to an out of boundary write on 64 bit systems. +--- + linkhash.c | 7 +++++-- + printbuf.c | 19 ++++++++++++++++--- + 2 files changed, 21 insertions(+), 5 deletions(-) + +--- a/linkhash.c ++++ b/linkhash.c +@@ -579,9 +579,12 @@ int lh_table_insert_w_hash(struct lh_tab + { + unsigned long n; + +- if (t->count >= t->size * LH_LOAD_FACTOR) +- if (lh_table_resize(t, t->size * 2) != 0) ++ if (t->count >= t->size * LH_LOAD_FACTOR) { ++ /* Avoid signed integer overflow with large tables. */ ++ int new_size = INT_MAX / 2 < t->size ? t->size * 2 : INT_MAX; ++ if (t->size == INT_MAX || lh_table_resize(t, new_size) != 0) + return -1; ++ } + + n = h % t->size; + +--- a/printbuf.c ++++ b/printbuf.c +@@ -15,6 +15,7 @@ + + #include "config.h" + ++#include + #include + #include + #include +@@ -65,9 +66,16 @@ static int printbuf_extend(struct printb + if (p->size >= min_size) + return 0; + +- new_size = p->size * 2; +- if (new_size < min_size + 8) +- new_size = min_size + 8; ++ /* Prevent signed integer overflows with large buffers. */ ++ if (min_size > INT_MAX - 8) ++ return -1; ++ if (p->size > INT_MAX / 2) ++ new_size = min_size + 8; ++ else { ++ new_size = p->size * 2; ++ if (new_size < min_size + 8) ++ new_size = min_size + 8; ++ } + #ifdef PRINTBUF_DEBUG + MC_DEBUG("printbuf_memappend: realloc " + "bpos=%d min_size=%d old_size=%d new_size=%d\n", +@@ -82,6 +90,9 @@ static int printbuf_extend(struct printb + + int printbuf_memappend(struct printbuf *p, const char *buf, int size) + { ++ /* Prevent signed integer overflows with large buffers. */ ++ if (size > INT_MAX - p->bpos - 1) ++ return -1; + if (p->size <= p->bpos + size + 1) { + if (printbuf_extend(p, p->bpos + size + 1) < 0) + return -1; +@@ -98,6 +109,9 @@ int printbuf_memset(struct printbuf *pb, + + if (offset == -1) + offset = pb->bpos; ++ /* Prevent signed integer overflows with large buffers. */ ++ if (len > INT_MAX - offset) ++ return -1; + size_needed = offset + len; + if (pb->size < size_needed) + { diff --git a/package/libs/libjson-c/patches/004-Issue-599-Fix-the-backwards-check-in-lh_table_insert.patch b/package/libs/libjson-c/patches/004-Issue-599-Fix-the-backwards-check-in-lh_table_insert.patch new file mode 100644 index 0000000000..aed6918e70 --- /dev/null +++ b/package/libs/libjson-c/patches/004-Issue-599-Fix-the-backwards-check-in-lh_table_insert.patch @@ -0,0 +1,29 @@ +From 519dfe1591d85432986f9762d41d1a883198c157 Mon Sep 17 00:00:00 2001 +From: Eric Haszlakiewicz +Date: Sun, 10 May 2020 03:32:19 +0000 +Subject: [PATCH] Issue #599: Fix the backwards check in + lh_table_insert_w_hash() that was preventing adding more than 11 objects. Add + a test to check for this too. + +--- + linkhash.c | 2 +- + tests/test4.c | 29 +++++++++++++++++++++++++++++ + tests/test4.expected | 1 + + 3 files changed, 31 insertions(+), 1 deletion(-) + +diff --git a/linkhash.c b/linkhash.c +index 51e90b1..f930efd 100644 +--- a/linkhash.c ++++ b/linkhash.c +@@ -582,7 +582,7 @@ int lh_table_insert_w_hash(struct lh_table *t, const void *k, const void *v, con + + if (t->count >= t->size * LH_LOAD_FACTOR) { + /* Avoid signed integer overflow with large tables. */ +- int new_size = INT_MAX / 2 < t->size ? t->size * 2 : INT_MAX; ++ int new_size = (t->size > INT_MAX / 2) ? INT_MAX : (t->size * 2); + if (t->size == INT_MAX || lh_table_resize(t, new_size) != 0) + return -1; + } +-- +2.26.2 + diff --git a/package/network/services/hostapd/files/wpa_supplicant-basic.config b/package/network/services/hostapd/files/wpa_supplicant-basic.config index db3f7c7a11..a9da65deed 100644 --- a/package/network/services/hostapd/files/wpa_supplicant-basic.config +++ b/package/network/services/hostapd/files/wpa_supplicant-basic.config @@ -264,7 +264,7 @@ CONFIG_BACKEND=file # configuration can still be changed, the changes are just not going to be # persistent over restarts. This option can be used to reduce code size by # about 3.5 kB. -CONFIG_NO_CONFIG_WRITE=y +#CONFIG_NO_CONFIG_WRITE=y # Remove support for configuration blobs to reduce code size by about 1.5 kB. #CONFIG_NO_CONFIG_BLOBS=y diff --git a/package/network/services/hostapd/files/wpa_supplicant-mini.config b/package/network/services/hostapd/files/wpa_supplicant-mini.config index c1e0141edd..850d22febc 100644 --- a/package/network/services/hostapd/files/wpa_supplicant-mini.config +++ b/package/network/services/hostapd/files/wpa_supplicant-mini.config @@ -264,7 +264,7 @@ CONFIG_BACKEND=file # configuration can still be changed, the changes are just not going to be # persistent over restarts. This option can be used to reduce code size by # about 3.5 kB. -CONFIG_NO_CONFIG_WRITE=y +#CONFIG_NO_CONFIG_WRITE=y # Remove support for configuration blobs to reduce code size by about 1.5 kB. #CONFIG_NO_CONFIG_BLOBS=y diff --git a/package/network/services/umdns/Makefile b/package/network/services/umdns/Makefile index 6bf11248d6..42048c374c 100644 --- a/package/network/services/umdns/Makefile +++ b/package/network/services/umdns/Makefile @@ -30,7 +30,7 @@ define Package/umdns DEPENDS:=+libubox +libubus +libblobmsg-json endef -TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include -Wno-address-of-packed-member +TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include define Package/umdns/conffiles /etc/config/umdns diff --git a/package/network/utils/wireguard-tools/Makefile b/package/network/utils/wireguard-tools/Makefile index 549329509a..1773261a28 100644 --- a/package/network/utils/wireguard-tools/Makefile +++ b/package/network/utils/wireguard-tools/Makefile @@ -11,12 +11,12 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=wireguard-tools -PKG_VERSION:=1.0.20200319 +PKG_VERSION:=1.0.20200510 PKG_RELEASE:=1 PKG_SOURCE:=wireguard-tools-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://git.zx2c4.com/wireguard-tools/snapshot/ -PKG_HASH:=757ed31d4d48d5fd7853bfd9bfa6a3a1b53c24a94fe617439948784a2c0ed987 +PKG_HASH:=cd526c7ea177e59ae4c0ebc4f3cc360b8524881b090d043426bdf7e3c85ac8e7 PKG_LICENSE:=GPL-2.0 PKG_LICENSE_FILES:=COPYING diff --git a/package/zxlhhyccc/k3-brcmfmac4366c-firmware/Makefile b/package/zxlhhyccc/k3-brcmfmac4366c-firmware/Makefile index 43781a92a5..7d17d8edb9 100644 --- a/package/zxlhhyccc/k3-brcmfmac4366c-firmware/Makefile +++ b/package/zxlhhyccc/k3-brcmfmac4366c-firmware/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=k3wifi PKG_VERSION:=1 -PKG_RELEASE:=1 +PKG_RELEASE:=2 include $(INCLUDE_DIR)/package.mk diff --git a/package/zxlhhyccc/k3-brcmfmac4366c-firmware/files/lib/firmware/brcm/brcmfmac4366c-pcie.bin b/package/zxlhhyccc/k3-brcmfmac4366c-firmware/files/lib/firmware/brcm/brcmfmac4366c-pcie.bin index 5439cdec01..19faa54db2 100644 Binary files a/package/zxlhhyccc/k3-brcmfmac4366c-firmware/files/lib/firmware/brcm/brcmfmac4366c-pcie.bin and b/package/zxlhhyccc/k3-brcmfmac4366c-firmware/files/lib/firmware/brcm/brcmfmac4366c-pcie.bin differ diff --git a/target/linux/ar71xx/patches-4.14/411-mtd-cfi_cmdset_0002-force-word-write.patch b/target/linux/ar71xx/patches-4.14/411-mtd-cfi_cmdset_0002-force-word-write.patch index 9a367c2ab0..3fa18162eb 100644 --- a/target/linux/ar71xx/patches-4.14/411-mtd-cfi_cmdset_0002-force-word-write.patch +++ b/target/linux/ar71xx/patches-4.14/411-mtd-cfi_cmdset_0002-force-word-write.patch @@ -43,7 +43,7 @@ static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip, unsigned long adr, const u_char *buf, int len) -@@ -1932,7 +1937,6 @@ static int __xipram do_write_buffer(stru +@@ -1930,7 +1935,6 @@ static int __xipram do_write_buffer(stru return ret; } @@ -51,7 +51,7 @@ static int cfi_amdstd_write_buffers(struct mtd_info *mtd, loff_t to, size_t len, size_t *retlen, const u_char *buf) { -@@ -2007,6 +2011,7 @@ static int cfi_amdstd_write_buffers(stru +@@ -2005,6 +2009,7 @@ static int cfi_amdstd_write_buffers(stru return 0; } diff --git a/target/linux/ath79/patches-4.19/404-mtd-cybertan-trx-parser.patch b/target/linux/ath79/patches-4.19/404-mtd-cybertan-trx-parser.patch index 22e31db3fa..fcfe72e287 100644 --- a/target/linux/ath79/patches-4.19/404-mtd-cybertan-trx-parser.patch +++ b/target/linux/ath79/patches-4.19/404-mtd-cybertan-trx-parser.patch @@ -1,9 +1,10 @@ --- a/drivers/mtd/parsers/Makefile +++ b/drivers/mtd/parsers/Makefile -@@ -1,2 +1,3 @@ +@@ -1,3 +1,4 @@ +obj-$(CONFIG_MTD_PARSER_CYBERTAN) += parser_cybertan.o obj-$(CONFIG_MTD_PARSER_TRX) += parser_trx.o obj-$(CONFIG_MTD_SHARPSL_PARTS) += sharpslpart.o + obj-$(CONFIG_MTD_ROUTERBOOT_PARTS) += routerbootpart.o --- a/drivers/mtd/parsers/Kconfig +++ b/drivers/mtd/parsers/Kconfig @@ -1,3 +1,11 @@ diff --git a/target/linux/bcm27xx/patches-4.19/950-0470-bcmgenet-Better-coalescing-parameter-defaults.patch b/target/linux/bcm27xx/patches-4.19/950-0470-bcmgenet-Better-coalescing-parameter-defaults.patch index 9f8fff4b9c..43a8a698f4 100644 --- a/target/linux/bcm27xx/patches-4.19/950-0470-bcmgenet-Better-coalescing-parameter-defaults.patch +++ b/target/linux/bcm27xx/patches-4.19/950-0470-bcmgenet-Better-coalescing-parameter-defaults.patch @@ -18,7 +18,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c -@@ -2149,7 +2149,7 @@ static void bcmgenet_init_tx_ring(struct +@@ -2150,7 +2150,7 @@ static void bcmgenet_init_tx_ring(struct bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_PROD_INDEX); bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_CONS_INDEX); @@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell /* Disable rate control for now */ bcmgenet_tdma_ring_writel(priv, index, flow_period_val, TDMA_FLOW_PERIOD); -@@ -3579,9 +3579,12 @@ static int bcmgenet_probe(struct platfor +@@ -3580,9 +3580,12 @@ static int bcmgenet_probe(struct platfor netif_set_real_num_rx_queues(priv->dev, priv->hw_params->rx_queues + 1); /* Set default coalescing parameters */ diff --git a/target/linux/bcm27xx/patches-4.19/950-0658-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch b/target/linux/bcm27xx/patches-4.19/950-0658-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch index c9dfa079c2..5b7f16cdb0 100644 --- a/target/linux/bcm27xx/patches-4.19/950-0658-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch +++ b/target/linux/bcm27xx/patches-4.19/950-0658-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch @@ -38,7 +38,7 @@ Signed-off-by: Phil Elwell static inline void bcmgenet_writel(u32 value, void __iomem *offset) { /* MIPS chips strapped for BE will automagically configure the -@@ -1995,6 +1999,11 @@ static void reset_umac(struct bcmgenet_p +@@ -1996,6 +2000,11 @@ static void reset_umac(struct bcmgenet_p bcmgenet_rbuf_ctrl_set(priv, 0); udelay(10); diff --git a/target/linux/bcm63xx/patches-4.14/121-mtd-bcm63xxpart-move-imagetag-parsing-to-its-own-par.patch b/target/linux/bcm63xx/patches-4.14/121-mtd-bcm63xxpart-move-imagetag-parsing-to-its-own-par.patch index 6a714eb91d..609e108b40 100644 --- a/target/linux/bcm63xx/patches-4.14/121-mtd-bcm63xxpart-move-imagetag-parsing-to-its-own-par.patch +++ b/target/linux/bcm63xx/patches-4.14/121-mtd-bcm63xxpart-move-imagetag-parsing-to-its-own-par.patch @@ -259,9 +259,10 @@ there. depends on MTD && (BCM47XX || ARCH_BCM_5301X || COMPILE_TEST) --- a/drivers/mtd/parsers/Makefile +++ b/drivers/mtd/parsers/Makefile -@@ -1 +1,2 @@ +@@ -1,2 +1,3 @@ +obj-$(CONFIG_MTD_PARSER_IMAGETAG) += parser_imagetag.o obj-$(CONFIG_MTD_PARSER_TRX) += parser_trx.o + obj-$(CONFIG_MTD_ROUTERBOOT_PARTS) += routerbootpart.o --- /dev/null +++ b/drivers/mtd/parsers/parser_imagetag.c @@ -0,0 +1,214 @@ diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-ap-303.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-ap-303.dts index 2cfe1e82c1..1c1bb6dc03 100644 --- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-ap-303.dts +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-ap-303.dts @@ -88,7 +88,7 @@ i2c_0: i2c@78b7000 { pinctrl-0 = <&i2c_0_pins>; pinctrl-names = "default"; - status = "ok"; + status = "okay"; tpm@29 { /* No Driver */ diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4029-ap-303.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4029-ap-303.dts index 2cfe1e82c1..1c1bb6dc03 100644 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4029-ap-303.dts +++ b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4029-ap-303.dts @@ -88,7 +88,7 @@ i2c_0: i2c@78b7000 { pinctrl-0 = <&i2c_0_pins>; pinctrl-names = "default"; - status = "ok"; + status = "okay"; tpm@29 { /* No Driver */ diff --git a/target/linux/ipq40xx/patches-4.14/998-ignore-stats-debug-info.patch b/target/linux/ipq40xx/patches-4.14/998-ignore-stats-debug-info.patch index 6d967d8d33..9041c15236 100644 --- a/target/linux/ipq40xx/patches-4.14/998-ignore-stats-debug-info.patch +++ b/target/linux/ipq40xx/patches-4.14/998-ignore-stats-debug-info.patch @@ -1,3 +1,51 @@ +diff --git a/drivers/net/wireless/ath/ath10k/htt_rx.c b/drivers/net/wireless/ath/ath10k/htt_rx.c +index 7d295ee71534..50670d651cff 100644 +--- a/drivers/net/wireless/ath/ath10k/htt_rx.c ++++ b/drivers/net/wireless/ath/ath10k/htt_rx.c +@@ -2520,7 +2520,7 @@ + sgi = ATH10K_HW_GI(peer_stats->flags); + + if (txrate.flags == WMI_RATE_PREAMBLE_VHT && txrate.mcs > 9) { +- ath10k_warn(ar, "Invalid VHT mcs %hhd peer stats", txrate.mcs); ++ + return; + } + +@@ -2578,7 +2578,7 @@ + ppdu_len = resp->peer_tx_stats.ppdu_len * sizeof(__le32); + + if (skb->len < sizeof(struct htt_resp_hdr) + num_ppdu * ppdu_len) { +- ath10k_warn(ar, "Invalid peer stats buf length %d\n", skb->len); ++ + return; + } + +@@ -2590,8 +2590,8 @@ + spin_lock_bh(&ar->data_lock); + peer = ath10k_peer_find_by_id(ar, peer_id); + if (!peer) { +- ath10k_warn(ar, "Invalid peer id %d peer stats buffer\n", +- peer_id); ++ ++ + goto out; + } + + +diff --git a/drivers/net/wireless/ath/ath10k/txrx.c b/drivers/net/wireless/ath/ath10k/txrx.c +--- a/drivers/net/wireless/ath/ath10k/txrx.c ++++ b/drivers/net/wireless/ath/ath10k/txrx.c +@@ -261,8 +261,8 @@ + spin_lock_bh(&ar->data_lock); + peer = ath10k_peer_find_by_id(ar, ev->peer_id); + if (!peer) { +- ath10k_warn(ar, "peer-unmap-event: unknown peer id %d\n", +- ev->peer_id); ++ ++ + goto exit; + } + diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c index 10a4467..eb8fb94 100644 --- a/drivers/base/firmware_class.c @@ -17,3 +65,19 @@ index 10a4467..eb8fb94 100644 opt_flags); } + +diff --git a/drivers/net/wireless/ath/ath10k/sdio.c b/drivers/net/wireless/ath/ath10k/sdio.c +index 7d295ee71534..50670d651cff 100644 +--- a/drivers/net/wireless/ath/ath10k/sdio.c ++++ b/drivers/net/wireless/ath/ath10k/sdio.c +@@ -1874,8 +1874,8 @@ + ar_sdio->mbox_addr[eid], ar_sdio->mbox_size[eid]); + break; + default: +- ath10k_warn(ar, "unsupported HTC service id: %d\n", +- service_id); ++ ++ + return -EINVAL; + } + diff --git a/target/linux/layerscape/patches-4.14/202-core-linux-support-layerscape.patch b/target/linux/layerscape/patches-4.14/202-core-linux-support-layerscape.patch index 784b10dd50..571ec4cd11 100644 --- a/target/linux/layerscape/patches-4.14/202-core-linux-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.14/202-core-linux-support-layerscape.patch @@ -713,7 +713,7 @@ Signed-off-by: Yangbo Lu } #ifdef CONFIG_NET_INGRESS -@@ -6341,7 +6342,15 @@ static int __netdev_upper_dev_link(struc +@@ -6342,7 +6343,15 @@ static int __netdev_upper_dev_link(struc struct net_device *upper_dev, bool master, void *upper_priv, void *upper_info) { @@ -730,7 +730,7 @@ Signed-off-by: Yangbo Lu int ret = 0; ASSERT_RTNL(); -@@ -6359,12 +6368,7 @@ static int __netdev_upper_dev_link(struc +@@ -6360,12 +6369,7 @@ static int __netdev_upper_dev_link(struc if (master && netdev_master_upper_dev_get(dev)) return -EBUSY; @@ -744,7 +744,7 @@ Signed-off-by: Yangbo Lu &changeupper_info.info); ret = notifier_to_errno(ret); if (ret) -@@ -6376,7 +6380,7 @@ static int __netdev_upper_dev_link(struc +@@ -6377,7 +6381,7 @@ static int __netdev_upper_dev_link(struc return ret; netdev_update_addr_mask(dev); @@ -753,7 +753,7 @@ Signed-off-by: Yangbo Lu &changeupper_info.info); ret = notifier_to_errno(ret); if (ret) -@@ -6440,21 +6444,25 @@ EXPORT_SYMBOL(netdev_master_upper_dev_li +@@ -6441,21 +6445,25 @@ EXPORT_SYMBOL(netdev_master_upper_dev_li void netdev_upper_dev_unlink(struct net_device *dev, struct net_device *upper_dev) { @@ -784,7 +784,7 @@ Signed-off-by: Yangbo Lu &changeupper_info.info); } EXPORT_SYMBOL(netdev_upper_dev_unlink); -@@ -6470,11 +6478,13 @@ EXPORT_SYMBOL(netdev_upper_dev_unlink); +@@ -6471,11 +6479,13 @@ EXPORT_SYMBOL(netdev_upper_dev_unlink); void netdev_bonding_info_change(struct net_device *dev, struct netdev_bonding_info *bonding_info) { @@ -800,7 +800,7 @@ Signed-off-by: Yangbo Lu &info.info); } EXPORT_SYMBOL(netdev_bonding_info_change); -@@ -6600,11 +6610,13 @@ EXPORT_SYMBOL(dev_get_nest_level); +@@ -6601,11 +6611,13 @@ EXPORT_SYMBOL(dev_get_nest_level); void netdev_lower_state_changed(struct net_device *lower_dev, void *lower_state_info) { @@ -816,7 +816,7 @@ Signed-off-by: Yangbo Lu &changelowerstate_info.info); } EXPORT_SYMBOL(netdev_lower_state_changed); -@@ -6895,11 +6907,14 @@ void __dev_notify_flags(struct net_devic +@@ -6896,11 +6908,14 @@ void __dev_notify_flags(struct net_devic if (dev->flags & IFF_UP && (changes & ~(IFF_UP | IFF_PROMISC | IFF_ALLMULTI | IFF_VOLATILE))) { diff --git a/toolchain/glibc/common.mk b/toolchain/glibc/common.mk index 060fb2849e..768ff19060 100644 --- a/toolchain/glibc/common.mk +++ b/toolchain/glibc/common.mk @@ -11,8 +11,8 @@ PKG_VERSION:=2.31 PKG_SOURCE_PROTO:=git PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) -PKG_SOURCE_VERSION:=54ba2541b3a76441a9cbe5dd14c963bf874fd5e9 -PKG_MIRROR_HASH:=333bff38151f333e93a239aa91e0de28a1e7d24863aafe569caf05b9bdb01461 +PKG_SOURCE_VERSION:=109474122400ca7d60782b131dc867a5c1f2fe55 +PKG_MIRROR_HASH:=5a04a24e69eace9eb892f0b48b869d31d4900ad656099064b6a9d8a342c13d8c PKG_SOURCE_URL:=https://sourceware.org/git/glibc.git PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz