Rafał Miłecki [Thu, 22 Nov 2018 11:55:14 +0000 (12:55 +0100)]
kernel: don't auto-split "firmware" if it has "compatible" DT property
If "compatible" is being used that should trigger a proper parser
directly. It's more reliable thanks to not trying parsers one by one. In
such case partition shouldn't be split automatically to avoid parsing it
twice.
David Bauer [Mon, 22 Oct 2018 00:35:36 +0000 (02:35 +0200)]
kernel: b53: register switch on probe
Currently, the b53 MDIO switch driver registers the switch on
config-init and not on device probe. Because of this, the switch
gets added every time the associated interface comes up.
This commit fixes this behavior by registering the switch on device
probe.
Linus Kardell [Thu, 22 Nov 2018 10:35:08 +0000 (11:35 +0100)]
base-files: fix unkillable processes after restart
When restart is run on an init script, the script traps SIGTERM. This is
done as a workaround for scripts named the same name as the program they
start. In that case, the init script process will have the same name as
the program process, and so when the init script runs killall, it will
kill itself. So SIGTERM is trapped to make the init script unkillable.
However, the trap is retained when the init script runs start, and thus
processes started by restart will not respond to SIGTERM, and will thus
be unkillable unless you use SIGKILL. This fixes that by removing the
trap before running start.
Rafał Miłecki [Thu, 22 Nov 2018 09:12:19 +0000 (10:12 +0100)]
bcm53xx: request Seama parser on DIR-885L directly
It's more reliable as mtd subsystem doesn't have to blindly try that
parser. It allows disabling MTD_SPLIT_FIRMWARE completely (TRX is
handled in a similar way).
Hans Dedecker [Wed, 21 Nov 2018 10:11:26 +0000 (11:11 +0100)]
glibc: update to latest 2.27 commit
1517dfb8aa Add an additional test to resolv/tst-resolv-network.c 1050634904 libanl: properly cleanup if first helper thread creation failed (bug 22927)
Felix Fietkau [Wed, 21 Nov 2018 14:14:36 +0000 (15:14 +0100)]
mt76: update to the latest version
4734108 mt7603: use mt7603_wtbl_clear on station removal 9428e34 mt7603: fix watchdog reset sequence b3f82a3 mt7603: report PSE reset failures via debugfs a301dec mt7603: add back PSE client reset code 94cebfc mt7603: fix handling lost interrupt events during watchdog reset b38fe7d mt7603: only issue PSE reset on PSE stuck da666a7 mt7603: issue PSE reset if firmware debug register indicates stuck queues
* chacha20,poly1305: fix up for win64
* poly1305: only export neon symbols when in use
* poly1305: cleanup leftover debugging changes
* crypto: resolve target prefix on buggy kernels
* chacha20,poly1305: don't do compiler testing in generator and remove xor helper
* crypto: better path resolution and more specific generated .S
* poly1305: make frame pointers for auxiliary calls
* chacha20,poly1305: do not use xlate
This should fix up the various build errors, warnings, and insertion errors
introduced by the previous snapshot, where we added some significant
refactoring. In short, we're trying to port to using Andy Polyakov's original
perlasm files, and this means quite a lot of work to re-do that had stableized
in our old .S.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Hans Dedecker [Mon, 19 Nov 2018 09:12:28 +0000 (10:12 +0100)]
netifd: update to latest git HEAD
4b83102 treewide: switch to C-code style comments 70506bf treewide: make some functions static d9872db interface: fix removal of dynamic interfaces 2f7ef7d interface: rework code to get rid of interface_set_dynamic
Felix Fietkau [Fri, 16 Nov 2018 11:43:45 +0000 (12:43 +0100)]
mt76: update to the latest version
009ab91 mt76: clean up more unused EXPORT_SYMBOLs 963768d mt76x02: fix regression in tx station race condition fix d7788cc mt76: mt76x02: make group_wcid the first member in struct mt76x02_vif e65ad4c mt7603: make group_wcid the first member in struct mt7603_vif 7b1373e mt76: mt76x02: remove mt76x02_txq_init a97127b mt76: replace sta_add/remove ops with common sta_state function 13f1e82 mt7603: clear wtbl entry for removed stations 90e2c1b mt7603: add mt7603_wtbl_set_skip_tx, change mt7603_wtbl_set_ps users 41931e4 mt7603: toggle skip_tx on station add/remove d0fdf01 mt7603: avoid unnecessary wtbl writes for ps-filter
* Zinc no longer ships generated assembly code. Rather, we now
bundle in the original perlasm generator for it. The primary purpose
of this snapshot is to get testing of this.
* Clarify the peer removal logic and make lifetimes more precise.
* Use READ_ONCE for is_valid and is_dead.
* No need to use atomic when the recounter is mutex protected.
* Fix up macros and annotations in allowedips.
* Increment drop counter when staged packets are dropped.
* Use static constants instead of enums for 64-bit values in selftest.
* Mark large constants as ULL in poly1305-donna64.
* Fix sparse warnings in allowedips debugging code.
* Do not use wg_peer_get_maybe_zero in timer callbacks, since we now can
carefully control the lifetime of these functions and ensure they never
execute after dropping the last reference.
* Cleanup hashing in ratelimiter.
* Do not guard timer removals, since del_timer is always okay.
* We now check for PM_AUTOSLEEP, which makes the clear*on-suspend decision a
bit more general.
* Set csum_level to ~0, since the poly1305 authenticator certainly means
that no data was modified in transit.
* Use CHECKSUM_PARTIAL check for skb_checksum_help instead of
skb_checksum_setup check.
* wg.8: specify that wg(8) shows runtime info too
* wg.8: AllowedIPs isn't actually required
* keygen-html: add missing glue macro
* wg-quick: android: do not choke on empty allowed-ips
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Rafał Miłecki [Thu, 15 Nov 2018 11:28:50 +0000 (12:28 +0100)]
kernel: fix ubifs loosing O_TMPFILE data after power cut
There was a bug in ubifs related to the O_TMPFILE. When reapplying
changes after power cut data could be lost. This problem was exposed by
overlayfs and the upstream commit 3a1e819b4e80 ("ovl: store file handle
of lower inode on copy up").
This fixes a regression introduced when switching from 4.9 to 4.14.
Hans Dedecker [Thu, 15 Nov 2018 10:29:04 +0000 (11:29 +0100)]
bison: update to 3.2.1
Chnages since 3.2:
b590ad02 version 3.2.1 05e70adf build: fix issues in the generated tarball 7efe0b5d build: fix typo 351e3630 NEWS: update 4fd1fc70 examples: ship them e02ce4c7 build: minor fixes in doc/ 7cab285e CI: maximize chances of errors sooner 86efe282 c++: improve the generated documentation cf1446dc tests: don't fail if the C++ compiler does not work e93c40b3 tests: don't disable C++ warnings in C files eff67391 c++: workaround portability issue 5a0d7802 tests: work around getopt portability issues f1e0839c doc: -Wzero-as-null-pointer-constant was added to GCC 4.7 3bf429ae examples: #include <cstring> in calc++ f8cadc73 c: provide a definition of _Noreturn that works for C++ bd7aebb8 c: update the definition of _Noreturn ca8039e6 tests: don't expect the shell to support 'local' 5d07f4f7 bitset: fix warning e605ad96 build: fix use of gnulib Make variables 50fac71d maint: post-release administrivia
Petr Štetiar [Fri, 9 Nov 2018 11:09:29 +0000 (12:09 +0100)]
Revert "iptables: fix dependency for libip6tc on IPV6"
This patch reverts commit 2dc1f54b1205094e7c6036cae6275d2c326bad3e as it
breaks the build for me on x86-64 if I've IPV6 support disabled. Same config
builds fine on `openwrt-18.06` branch at 55d078b2.
$ grep IPV6 .config
# CONFIG_KERNEL_IPV6 is not set
# CONFIG_IPV6 is not set
Build errors out on:
Package libiptc is missing dependencies for the following libraries:
libip6tc.so.0
Looking at iptables-1.6.2/libiptc/Makefile.am:
libiptc_la_LIBADD = libip4tc.la libip6tc.la
and to iptables-1.6.2/libiptc/libiptc.pc.in:
Requires: libip4tc libip6tc
It seems that libiptc needs v4/v6 libs, so v6 isn't optional.
Cc: Rosy Song <rosysong@rosinson.com> Signed-off-by: Petr Štetiar <ynezz@true.cz>
Hans Dedecker [Sat, 10 Nov 2018 12:40:45 +0000 (13:40 +0100)]
ethtool: update to 4.19
8a1ad80 Release version 4.19. ecdf295 ethtool: Fix uninitialized variable use at qsfp dump 98c148e ethtool: better syntax for combinations of FEC modes d4b9f3f ethtool: support combinations of FEC modes
Rafał Miłecki [Fri, 9 Nov 2018 13:57:45 +0000 (14:57 +0100)]
kernel: deprecate support for the generic "linux,part-probe" DT binding
It has been rejected upstream and instead a nice/more generic solution
has been implemented. It's possible now to describe partitions format
using "compatible" DT string.
No OpenWrt target uses "linux,part-probe" anymore, leave it only in case
some forks need it. It will be dropped with support for new kernels.
as indicated in commit c5bf408ed6bd "(ramips: fix image generation for mt76x8")
more rework was needed to fix the other issues.
Building on another machine, but using the same arch, showed
the application failing again for different reasons.
Fix this by completely rewriting the application, fixing following found issues:
- buffer overflows, resulting in stack corruption
- flaws in memory requirement calculations (too small, too large)
- memory leaks
- missing bounds checking on string handling
- non-reproducable images, by using unitilized memory in checksum calculation
- missing error handling, resulting in succes on specific image errors
- endianness errors when building on BE machines
- various minor build warnings
- documentation did not match the code actions (header item locations)
- allowing input to be decimal, hex or octal now
Hans Dedecker [Mon, 5 Nov 2018 14:32:48 +0000 (15:32 +0100)]
iproute2: update to 4.19.0
Update to the latest version of iproute2; see https://lwn.net/Articles/769354/
for a full overview of the changes in 4.19.
Remove 190-add-cake-to-tc patch as CAKE qdisc is now supported in 4.19.0
Felix Fietkau [Tue, 6 Nov 2018 21:25:06 +0000 (22:25 +0100)]
mt76: update to the latest version
172f081 mt76x0: do not overwrite other MT_BBP(AGC, 8) fields 2ae2046 mt76x0: phy: use mt76_poll_msec in mt76x0_phy_temp_sensor add66a0 mt76x0: init: use mt76x02_mac_shared_key_setup in mt76x0_init_hardware 1f24db9 mt76x2: move wcid_tx_rate conf at bootstrap 097b2bd mt76x0: init: use mt76x02_mac_wcid_setup for wcid configuration d0eb03e mt76x2u: init: remove not useful configuration c7aa8f4 mt76x2u: init: use common routines for wcid/key initialization bd568d9 mt76: move mt76x02_eeprom_copy in mt76x02-lib module 57b441d mt76x0: phy: introduce tssi calibration support a78802c mt76x0: phy: use tssi reported value to configure tx power if available 94ad030 mt76: remove mcu_msg_alloc 15cb426 mt76: remove wait argument from mt76x02_mcu_function_select cd76a83 mt76: remove wait argument from mt76x02_mcu_set_radio_state 9b97e0f mt76x02: run calibration after scanning 663b197 mt76x02: assure we update gain after scan eb53745 mt76x0: dfs: fix IBI_R11 configuration on non-radar channels ef06c30 mt76: avoid queue/status spinlocks while passing tx status to mac80211 5195257 mt7603: fix maximum rx frame size 01815e9 mt7603: use mutex from struct mt76_dev 3c8e8a7 mt7603: use irq_lock/irqmask from struct mt76_dev 8b7f50d mt76: add size check for additional rx fragments 87bad3a mt7603: stop MAC on watchdog reset c34baab mt7603: add missing unlock in case changing the channel fails ac6fc78 mt7603: add debugfs file to trigger watchdog resets d9b5324 mt7603: add SPDX license identifiers 498d716 mt7603: fix checkpatch issues a1afefd mt7603: fix handling of fixed rate packets 5ee0523 mt7603: fix tx status rate reporting for fixed-rate packets
Debugging using valgrind shows stack corruption due to a buffer overflow.
The author of the generator assumes the filename ends with "root",
while it should be "rootfs".
Fix this by accounting for the 2 missing characters which solves the build issues.
More work is required to cleanup this source, which will be done later on.
Reported-by: Hannu Nyman <hannu.nyman@iki.fi> Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
As indicated on mailinglist discussion, the cause seems to be
the usage of very old SDMA firmware which is present in the soc:
[ 0.624302] imx-sdma 20ec000.sdma: Direct firmware load for imx/sdma/sdma-imx6q.bin failed with error -2
[ 0.624318] imx-sdma 20ec000.sdma: Falling back to user helper
[ 64.531607] imx-sdma 20ec000.sdma: external firmware not found, using ROM firmware
This patch adds the new firmware binary. (2196 bytes)
It is required to embed the binary into the kernel image, as it
gets loaded very early in the boot process where the rootfs is not
available yet:
Koen Vandeputte [Mon, 5 Nov 2018 10:31:12 +0000 (11:31 +0100)]
ath9k: fix dynack in IBSS mode
Currently, dynack was only tested upstream using AP/STA mode.
Testing it on IBSS, showed that late-ack detection was broken.
This is caused due to dynack using Association Request/Response
frames for late-ack detection, which IBSS does not use.
Also allowing Authentication frames here solves this.
A second issue also got fixed, which was also seen AP/STA mode:
When a station was added, the estimated value would be exponentially averaged
using 0 as a starting point.
This means that on larger distances, the ack timeout was still not high
enough before synchronizing would run out of late-ack's for estimation.
Fix this by using the initial estimated value as a baseline
and only start averaging in the following estimation rounds.
Test setup:
- 2x identical devices: RB912UAG-5HPnD + 19dB sector
- IBSS
- 2x2 802.11an (ar9340), HT20, long GI
- RSSI's -70 / -71
- Real distance: 23910 meter
Results (60s iperf runs):
Fixed coverage class 54 (up to 24300m):
* 21.5 Mbits/sec
Koen Vandeputte [Mon, 5 Nov 2018 11:53:55 +0000 (12:53 +0100)]
ar71xx: disable some tiny targets with kernel 4.14
The bump to kernel 4.14 caused a massive increase in kernel size.
For most targets, switching them to dynamic partitioning allowed
to cope with this.
On some targets, the kernel partition is located behind the rootfs,
which disallows switching to dynamic partitioning as the boot location
would be altered, requiring a u-boot change.
Also within the tiny section, which disables kernel symbols etc
to decrease the image size, the partition size is still too small.
Disable these targets for now, fixing image generation:
David Bauer [Sun, 4 Nov 2018 15:01:39 +0000 (16:01 +0100)]
ipq40xx: fix NBG6617 LED mapping
The NBG6617's LEDs are wrongly identified in the 01_leds boardinit
script (board instead of boardname), resulting in referencing
non-existent LEDs in UCI.
This patch replaces the custom autoload quirk of the
RT-AC58U with a bootargs-append overwrite.
The vendor's u-boot doesn't leave the bootargs / cmdline alone,
so the it can't be overwritten in any other way right now...
And of course, this will be a lot of fun to deal with once
the device switches to the new spi-nand subsystem.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Hauke Mehrtens [Thu, 1 Nov 2018 13:05:59 +0000 (14:05 +0100)]
scripts: update config.guess and config.sub
This updates these two files to commit 2fa97a8a0ed3 ("config.guess
(amd64:CYGWIN*:*:*, x86_64:CYGWIN*:*:*): Set master") which is the
current master of
https://git.savannah.gnu.org/gitweb/?p=config.git;a=summary
This contains updates for multiple architectures and will unbreak the
build on the x32 ABI.
openssl: enable OPENSSL_WITH_DEPRECATED when OpenSSL is built as a build dep
Some package (e.g. libunbound) depend on OPENSSL_WITH_DEPRECATED. In some
situations it may happen that libunbound and openssl are only pulled in as
build dependencies, but are not enabled in .config.
In such cases, the defaults of symbols like OPENSSL_WITH_DEPRECATED are
ignored (as the whole symbol depends on PACKAGE_libopenssl), and config
symbol dependencies of libunbound aren't effective either (as libunbound
is not actually enabled).
This commit works around the issue by introducing a hidden negated symbol
OPENSSL_NO_DEPRECATED, which is always disabled when PACKAGE_libopenssl is
disabled, and ensures that OpenSSL is built with deprecated APIs in this
case. A user can still manage to break the build by explicitly enabling
libopenssl and disabling OPENSSL_WITH_DEPRECATED; the interaction between
build dependencies and config symbols will require further discussion.