Commit Graph

44790 Commits

Author SHA1 Message Date
Kevin Darbyshire-Bryant
3898d98061 ath10k-firmware: update Candela Tech firmware images
wave-1:

2019-05-09: Tweak rate-ctrl:  Ramp PER up faster, down slower.  This
	    helps throughput in rate-vs-range test, especially with
	    nss1.

2019-05-20: Disable adaptive-CCA.  I am not sure it helps, and it may
	    make it slower to detect noise that should tell the system
	    to stop transmitting.  If someone has means to test this
	    properly, I'd be happy to work with them.

wave-2:

2019-05-15: Fix problem where rate-ctrl sometimes used rix of 0x0.

2019-05-15: Allow raw-tx of encrypted frame.  Requires a patch to the
	    driver to use raw mode when skb has WEP flag enabled AND
	    skb is flagged to not be encrypted.  Lightly tested.

2019-05-16: Fix tx-hang that happened when rate-ctrl chose an OFDM rate
	    for 20Mhz and sent that as AMPDU.  To fix, limit to (V)HT
	    rates if peer is (V)HT.  It seems that MCS0 (V)HT20 should
	    have as good of a chance of being detected as CCK or OFDM.

2019-06-06: Disable TX-BFEE, TX-BFER for IBSS connections.  I suspect
	    this is part of the tx-hang issue seen with IBSS between
	    two 9984 radios.

2019-06-12: Fix rx-rate reporting in 'fw_stats' logic.  This was at
	    least partly due to regressions I had added earlier when
	    working on some multi-vdev enhancements.

2019-6-12: Fix case where extd peer-stats were not always populated.
	   The stats gathering code did not handle error conditions
	   well.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
(cherry picked from commit ff2382e36c)
2019-08-27 10:31:06 +02:00
Kevin Darbyshire-Bryant
f830903c37 ath10k-ct: Update to 2019-06-13
Changes:

ath10k:  Improve PMF/MPF mgt frame check

And add a driver for 5.2 (beta, not even tested yet) kernel.

Refresh patches.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
(cherry picked from commit 49b3dcb2ab)
2019-08-27 10:31:06 +02:00
Felix Fietkau
c3327f48dc mt76: update to the latest version
b3a29655ae0b mt76x02: fix crash on device reset
ffddb685a679 mt76x02u: check chip version on probe
7fc5f925ec35 mt76x2u: remove duplicated entry in mt76x2u_device_table
61311d9b307a mt76: introduce mt76_free_device routine
a7dfcf2e2498 mt76: move mac_work in mt76_dev
334b4cedf2b0 mt76: add mac80211 driver for MT7615 PCIe-based chipsets
edb2a001b695 mt76: add unlikely() for dma_mapping_error() check
355c07904da7 mt76: use macro for sn and seq_ctrl conversion
133bffba8bb2 add firmware for MT7615E
49d9c1b29f1d mt76: usb: reduce locking in mt76u_tx_tasklet
3e371ca35c7f mt76: set txwi_size according to the driver value
50073265559a mt76: add skb pointer to mt76_tx_info
c47a5685d00b mt76: dma: introduce skb field in mt76_txwi_cache
9029560fad1f mt76: dma: add skb check for dummy pointer
e9eea3923774 mt76: mt7615: use sizeof instead of sizeof_field
98c5359e9649 Revert "mt76: fix potential deadlock on cancelling workqueues"
bc9baa7b12b9 mt76x02u: remove bogus stop on suspend
6c1cab9abafc mt76usb: fix tx/rx stop
0e674c50a5a3 mt76x02: remove bogus mutex usage
59f7bb6fbfc5 Revert "mt76: mt76x02: send no-skb tx status without holding the status lock"
b0f2a30452f0 mt76x02: avoid status_list.lock and sta->rate_ctrl_lock dependency
62054defd78a mt76: mt7603: remove query from mt7603_mcu_msg_send signature
e79d96acf597 mt76: mt7603: use standard signature for mt7603_mcu_msg_send
be8f0394e335 mt76: mt7603: initialize mt76_mcu_ops data structure
9a9c6569e987 mt76: introduce mt76_mcu_restart macro
980b91e04006 mt76: mt7603: init mcu_restart function pointer
a97db3f3ceee mt76: mt7603: run __mt76_mcu_send_msg in mt7603_mcu_send_firmware
151115f8160b mt76: mt76x02: mt76x02_poll_tx() can be static
7391f98f8b4b mt76: fix endianness sparse warnings
6c06f7381129 mt76: mt7603: report firmware version using ethtool
f06647efbd1c mt76: usb: use EP max packet aligned buffer sizes for rx
f43fccf0990e mt76: move beacon_int in mt76_dev
74ab2cf6171e mt76: move beacon_mask in mt76_dev
23c2f94deeeb mt76: add TX/RX antenna pattern capabilities
6e790e106a84 mt76: move pre_tbtt_tasklet in mt76_dev
7606c08414e5 mt76: mt7603: enable/disable pre_tbtt_tasklet in mt7603_set_channel
ff22eee58520 mt76: do not enable/disable pre_tbtt_tasklet in scan_start/scan_complete
3157385e2277 mt76: mt7603: dynamically alloc mcu req in mt7603_mcu_set_eeprom
cc674e2d1f10 mt76: mt76x02: remove useless return in mt76x02_resync_beacon_timer
6b184272ba15 mt76: move tx_napi in mt76_dev
bce63c453c85 mt76: mt7603: use napi polling for tx cleanup
4afd89e8ab20 mt76: mt7615: use napi polling for tx cleanup
2cb46830faf7 mt76: move netif_napi_del in mt76_dma_cleanup
b4ceb9f7c791 mt76: Fix a signedness bug in mt7615_add_interface()
d00dc9524068 mt76: mt7615: Use after free in mt7615_mcu_set_bcn()
4e0ccc6a2da6 mt76: mt7615: Make mt7615_irq_handler static
0fd552a55847 mt7615: mcu: simplify __mt7615_mcu_set_wtbl
50f70948ffcc mt7615: mcu: simplify __mt7615_mcu_set_sta_rec
4434d04d3c50 mt7615: mcu: remove bss_info_convert_vif_type routine
083fbb97223c mt7615: mcu: use proper msg size in mt7615_mcu_add_wtbl_bmc
f61ca8019129 mt7615: mcu: use proper msg size in mt7615_mcu_add_wtbl
35bd12d609ac mt7615: mcu: unify mt7615_mcu_add_wtbl_bmc and mt7615_mcu_del_wtbl_bmc
f8f990b9092e mt7615: mcu: remove unused parameter in mt7615_mcu_del_wtbl
965bca14795e mt7615: remove query from mt7615_mcu_msg_send signature
9b9ca18d9602 mt7615: remove dest from mt7615_mcu_msg_send signature
935b7e5edaba mt7615: mcu: remove skb_ret from mt7615_mcu_msg_send
2442db44c2ab mt7615: mcu: unify __mt7615_mcu_set_dev_info and mt7615_mcu_set_dev_info
645bc458e1ab mt7615: mcu: do not use function pointers whenever possible
40c4201c28bf mt7615: mcu: remove unused structure in mcu.h
a8834a233fa7 mt7615: mcu: use standard signature for mt7615_mcu_msg_send
824d25c44124 mt7615: initialize mt76_mcu_ops data structure
d9434275a872 mt7615: mcu: init mcu_restart function pointer
c2211e478c6e mt7615: mcu: run __mt76_mcu_send_msg in mt7615_mcu_send_firmware
cb63a06c403a mt76: mt7603: stop mac80211 queues before setting the channel
c6aaa3a2a9ea mt76: mt7615: rearrange cleanup operations in mt7615_unregister_device
97609f3708c7 mt76: mt7615: add static qualifier to mt7615_rx_poll_complete
f9dadd2d9377 mt76: mt7603: add debugfs knob to enable/disable edcca
89cda5d85498 mt7603: fix reading target tx power from eeprom
77d0e3378bd1 mt76: fix setting chan->max_power
f575da2f01a4 mt76: mt76x02: fix tx status reporting issues
a5d18dca9d3e mt76: mt76x02: fix tx reordering on rate control probing without a-mpdu
bd32a93e4996 mt76: mt76x02: remove enable from mt76x02_edcca_init signature
18386eef1d22 mt76: mt76x2u: remove mt76x02_edcca_init in mt76x2u_set_channel
da3514f6de4f mt76: mt76x2: move mutex_lock inside mt76x2_set_channel
0d4719c327ca mt76: mt76x02: run mt76x02_edcca_init atomically in mt76_edcca_set
fd5af7397257 mt76: mt76x02: fix edcca file permission
a0f51f276104 mt76: mt7615: do not process rx packets if the device is not initialized
753cdee4f6f6 mt76: mt7615: stop mcu first in mt7615_unregister_device
899efe755bae mt76: move mt76_insert_ccmp_hdr in mt76-module
6960b6e2d163 mt76: mt7615: add support for mtd eeprom parsing
4bcb0577daa5 mt76: mt7615: select wifi band according to eeprom
866f2c6cd0a2 mt76: generalize mt76_get_txpower for 4x4:4 devices
514fb04492a6 mt76: mt7615: add the capability to configure tx power
ced9d43a8a85 mt76: mt7615: init get_txpower mac80211 callback
8abd502a5f86 mt76: mt7615: rearrange locking in mt7615_config
5b9b62e0b00c mt76: move mt76_get_rate in mt76-module
661c7c8e1acc mt76: Remove set but not used variables 'pid' and 'final_mpdu'
f072c7ba2150 mt76: mt7615: enable support for mesh
28d9496205a6 mt76: mt7615: fix slow performance when enable encryption
827b9ade1672 mt76: mt7615: remove unused variable in mt7615_mcu_set_bcn
34eea1414b8b mt76: mt7615: remove key check in mt7615_mcu_set_wtbl_key
2bfae5a25251 mt76: usb: fix rx A-MSDU support
b0335320fc2c mt76: usb: do not always copy the first part of received frames
3e7fc1573c6f mt76x02: fix reporting of non-probing frames with tx status requested
0d5caead9765 Revert "mt76: usb: do not always copy the first part of received frames"
335e8c6baf77 Revert "mt76: usb: fix rx A-MSDU support"
47ddf4b722a1 mt76: revert support for TX_NEEDS_ALIGNED4_SKBS
0b6520bd1c98 mt7603: rework and fix tx status reporting
539b6796605c mt7603: improve hardware rate switching configuration
d86d6efa7214 mt76x0: fix RF frontend initialization for external PA
f476a14761ec mt76x02: fix endian issue in tx status reporting patch
f8d051785221 mt76: mt7615: simplify mt7615_mcu_set_sta_rec routine
73ff45f618fd mt76: mt7615: add support for per-chain signal strength reporting
9b67ae62d9ea mt76: mt7615: init per-channel target power
160fdc05e260 mt76: mt7615: take into account extPA when configuring tx power
2211d9370976 mt76: mt76x02u: fix sparse warnings: should it be static?
3750533a37a4 mt76: mt7615: fix incorrect settings in mesh mode
c37c1ca3fa01 mt76: mt7615: update peer's bssid when state transition occurs
9dd1089a29af mt76: mt76u: reduce rx memory footprint
0789f45e52c5 mt76: mt7615: remove cfg80211_chan_def from mt7615_set_channel signature
2dca431cd7fc mt76: move nl80211_dfs_regions in mt76_dev data structure
3386ccf7842b mt76: mt76u: get rid of {out,in}_max_packet
d680ab01cddd mt76: usb: fix rx A-MSDU support
6cafaca7225d mt7603: use READ_ONCE instead of ACCESS_ONCE
9e2e0b857710 mt76: round up length on mt76_wr_copy
e378ef1bc1e5 mt76: mt7615: fix sparse warnings: warning: restricted __le16 degrades to integer
7991dd7e25c8 mt76: mt7615: introduce mt7615_regd_notifier
901a4c7b7f8c mt76: mt7615: add hw dfs pattern detector support
57c600e5b945 mt76: mt7615: do not perform txcalibration before cac is complited
6afc9521962f mt76: mt7615: add csa support
8919516006e4 mt76: mt7615: add radar pattern test knob to debugfs
3be723cad7a9 mt76: mt7615: clean up FWDL TXQ during/after firmware upload
47fe37e22fdf mt76: mt7615: fall back to sw encryption for unsupported ciphers
bc5e0417939f mt76: mt7603: enable hardware rate up/down selection
ae760db52abc mt76: mt7615: move mt7615_mcu_set_rates to mac.c
2ae01f7e7715 mt76: mt7615: reset rate index/counters on rate table update
6f9837833baf mt76: mt7615: sync with mt7603 rate control changes
edbe88ec7c1f mt76: usb: fix endian in mt76u_copy
f43b6228facf mt76: usb: remove unneeded {put,get}_unaligned
5e1e5b75d6e8 mt76: usb: use full intermediate buffer in mt76u_copy
017d0ff097f7 mt76: mt76u: fix typo in mt76u_fill_rx_sg
2c0ccf1561c1 mt76: mt7615: always release sem in mt7615_load_patch
0c6f1a2b3c33 mt76: mt7615: introduce mt7615_mcu_send_ram_firmware routine
3dfc1eeffedf mt76: mt7615: fix sparse warnings: incorrect type in assignment (different base types)
947532099c3e mt76: mt7603: fix sparse warnings: warning: incorrect type in assignment (different base types)
e07451d27941 mt76: mt7615: fix sparse warnings: warning: cast from restricted __le16
b973bef0f87f mt7603: do not use tssi-off power value for mt7628
8fc3e6e02e96 mt76: mt7615: fix using VHT STBC rates
b21b99187a54 mt76: mt7615: fix PS buffering of action frames
3d43dd886951 mt76: mt7615: fix invalid fallback rates
0ce46825b8df mt76: mt7603: fix invalid fallback rates
3b08966d99ae Revert "mt76: usb: use full intermediate buffer in mt76u_copy"
48800e7b6088 Revert "mt76: usb: remove unneeded {put,get}_unaligned"
439354d54085 Revert "mt76: usb: fix endian in mt76u_copy"
8c1da9367beb mt76: usb: fix endian in mt76u_copy
307be50cc5f4 mt76: usb: remove unneeded {put,get}_unaligned
5d298297c00c mt76: mt76x02: use params->ssn value directly
f74d117ed41c mt76: mt7603: use params->ssn value directly
649f2e83742e mt76: mt7615: use params->ssn value directly
b647180c86be mt76: mt7615: unlock dfs bands
410923fa24de Revert accidental debugging change
3d7f7384bef0 mt76: mt7615: add missing register initialization
75656a4590a3 net: wireless: support of_get_mac_address new ERR_PTR error
fb0f432834c0 mt76: stop rx aggregation on station removal
76aada563b66 mt76: dma: reset q->rx_buf on rx reset
3245ca8b8aeb mt76: check of_get_mac_address for NULL as well to restore old kernel compat
8e495245ab3d mt76: mt7615: move mt7615_mac_get_key_info in mac.c
e4f48a8df6aa mt76: mt7615: add mt7615_mac_wtbl_addr routine
e8c95e5a41f0 mt76: mt7615: introduce mt7615_mac_wtbl_set_key routine
d998b90c4bed mt76: mt7615: remove wtbl_sec_key definition
60d279ec2762 mt76: mt7615: add set_key_cmd and mt76_wcid to mt7615_mac_wtbl_set_key signature
4947ad4eab6a mt76: introduce mt76_mmio_read_copy routine
4d9001b8ab1d mt76: mt7615: fix MT7615_WATCHDOG_TIME definition
3d6796b867b6 mt76: mt7603: fix watchdog rescheduling in mt7603_set_channel
8d7a48030005 mt76: mt7615: add 4 WMM sets support
ae0f11149248 mt76: mt7615: update cw_min/max related settings
8b7bbd017654 mt76: mt7603: fix some checkpatch warnings
e6045467848d mt76: mt7615: fix some checkpatch warnings
c415c676e255 mt76: mt76x02: fix some checkpatch warnings
f625afcedc9b mt76: switch to SPDX tag instead of verbose boilerplate text
4d57f1cee4aa mt76: mt7615: rework locking scheme for mt7615_set_channel
2becd13be766 mt76: mt7615: add Smart Carrier Sense support
20f0c196722a mt76: mt76x02: introduce mt76x02_pre_tbtt_enable and mt76x02_beacon_enable macros
ae83a05b1050 mt76: mt76x02: do not copy beacon skb in mt76x02_mac_set_beacon_enable
92fa62ace198 mt76: mt76x02u: enable multi-vif support
c6dabfe953af mt76: mt76x02u: enable survey support
1f44159b41ff mt76: mt7603: move survey_time in mt76_dev
9657e6304322 mt76: mt7615: enable survey support
af860c0decb1 mt76: move mt76_tx_tasklet in mt76 module
a9d2a28b39fc mt76: mt7603: remove unnecessary mcu queue initialization
281b10fc1fe6 mt76: mt7615: add BIP_CMAC_128 cipher support
37673a4181e4 mt76: fix some checkpatch warnings
a7fa32603981 mt76: add default implementation for mt76_sw_scan/mt76_sw_scan_complete
5c35bdf057af mt7615: apply calibration-free data from OTP
0e3baf0213c9 mt76: fix a leaked reference by adding a missing of_node_put
2d5928fef23d net: Remove dev_err() usage after platform_get_irq()
a0824197ab00 mt76: mt76x0e: disable 5GHz band for MT7630E
4d8a9f20610f mt76: do not send BAR frame on tx aggregation flush stop
2a0edbb4473b mt76: remove offchannel check in tx scheduling

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2019-08-26 19:10:10 +02:00
Felix Fietkau
7c32f8eff0 mac80211: backport support for the IEEE80211_KEY_FLAG_GENERATE_MMIE flag
Required for an upcoming mt76 update

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry-picked from commit 0441edfb7f)
2019-08-26 18:43:24 +02:00
Felix Fietkau
1a1a504a54 mac80211: add new minstrel_ht patches to improve probing on mt76x2
Also include follow-up regression fix from master

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry-picked from commits 9861050b85 and f0992d7a30)
2019-08-26 16:27:30 +02:00
Paul Spooren
8bf8de95a2 imagebuilder: fix make info for empty SUPPORTED_DEVICES
For x86/64 (maybe more) target the SUPPORTED_DEVICES variable is empty
which causes the `&&` junction to fail, producing a non zero exit code.

Tested-by: Paul Spooren <mail@aparcar.org>
Fixed-by: Jo-Philipp Wich <jo@mein.io>
Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit 07926d7def)
2019-08-22 21:19:04 +02:00
Hauke Mehrtens
7d300326ee mdadm: Use upstream fix for musl 1.1.23 compile
Fixes: d720f83f87 ("mdadm: Fix compile with musl 1.1.23")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit ebbec2fdc6)
2019-08-21 10:28:27 +02:00
Hauke Mehrtens
d720f83f87 mdadm: Fix compile with musl 1.1.23
This adds missing includes for sys/sysmacros.h which are needed with
musl libc 1.1.23.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit ba8aeb02ea)
2019-08-21 10:27:09 +02:00
Hans Dedecker
c85f9a245a odhcpd: remove socket from uloop upon NETEV_IFINDEX_CHANGE
949476e router: close socket upon NETEV_IFINDEX_CHANGE fixed

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2019-08-19 21:31:15 +02:00
Hauke Mehrtens
b2cb6bb48a musl: Fix CVE-2019-14697
musl libc through 1.1.23 has an x87 floating-point stack adjustment
imbalance, related to the math/i386/ directory. In some cases, use of
this library could introduce out-of-bounds writes that are not present
in an application's source code.

This problem only affects x86 and no other architectures.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit c262daf308)
2019-08-18 23:59:23 +02:00
Jo-Philipp Wich
5d906a656e uhttpd: update to latest Git HEAD
6b03f96 ubus: increase maximum ubus request size to 64KB

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit d1f207ecc9)
2019-08-18 20:01:59 +02:00
Jo-Philipp Wich
190c5626ff uhttpd: add direct dependency on libjson-c
The OpenWrt buildroot ABI version rebuild tracker does not handle
transient dependencies, therefor add all libraries linked by uhttpd
as direct dependencies to the corresponding binary package definition.

This ensures that uhttpd is automatically rebuilt and relinked if any
of these libraries has its ABI_VERSION updated in the future.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit a95ddaba02)
2019-08-18 20:01:58 +02:00
Hauke Mehrtens
a2a311fc2b uhttpd: Fix format string build problems
91fcac34ac uhttpd: Fix multiple format string problems

Fixes: fc454ca153 libubox: update to latest git HEAD
Reported-by: Hannu Nyman <hannu.nyman@iki.fi>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 3c401f45c9)
2019-08-18 20:01:58 +02:00
Luiz Angelo Daros de Luca
3b34fcaf94 musl: ldso/dlsym: fix mips returning undef dlsym
This happens only the second time a library is loaded by dlopen().
After lib1 is loaded, dlsym(lib1,"undef1") correctly resolves the undef
symbol from lib1 dependencies. After the second library is loaded,
dlsym(lib2,"undef1") was returning the address of "undef1" in lib2
instead of searching lib2 dependencies.

Using upstream fix which now uses the same logic for relocation time
and dlsym.

Fixes openwrt/packages#9297

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
(cherry picked from commit 0d0617ff14)
2019-08-17 17:13:51 +02:00
Rosen Penev
6868188101 bzip2: Update to 1.0.8
It seems bzip2 was abandoned by the author and adopted by the sourceware
people. The last release of bzip2 was from 2010.

Several security bugs were fixed as well as others.

Fixed up PKG_LICENSE to be compatible with SPDX.

Changed URLs to point to the new home.

Added patch that gets rid of deprecated utime function and switches it to
utimensat.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-08-17 17:00:11 +02:00
Eneas U de Queiroz
b35e1360cd wolfssl: bump to 4.1.0-stable
Always build AES-GCM support.
Unnecessary patches were removed.

This includes two vulnerability fixes:

CVE-2019-11873: a potential buffer overflow case with the TLSv1.3 PSK
extension parsing.

CVE-2019-13628 (currently assigned-only): potential leak of nonce sizes
when performing ECDSA signing operations. The leak is considered to be
difficult to exploit but it could potentially be used maliciously to
perform a lattice based timing attack.

This brings the package up-to-date with master, so it incorporates
changes from 4.0.0 in master:
* Removed options that can't be turned off because we're building with
  --enable-stunnel, some of which affect hostapd's Config.in.
* Adjusted the title of OCSP option, as OCSP itself can't be turned off,
  only the stapling part is selectable.
* Mark options turned on when wpad support is selected.
* Add building options for TLS 1.0, and TLS 1.3.
* Add hardware crypto support, which due to a bug, only works when CCM
  support is turned off.
* Reorganized option conditionals in Makefile.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
2019-08-17 17:00:10 +02:00
Hauke Mehrtens
3809b6662d mac80211: Update to version 4.19.66-1
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-08-17 13:36:06 +02:00
Hauke Mehrtens
ac7ccf739a mac80211: Update to version 4.19.57
This updates to backports-4.19.57-1 which contains the wireless
subsystem and driver from kernel 4.19.57.
The removed patches are applied upstream.

Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-08-17 13:36:06 +02:00
Hans Dedecker
0f0ed2451e odhcpd: fix closing of router socket
c2d6032 router: fix previous commit

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2019-08-17 09:45:10 +02:00
Hauke Mehrtens
6db454e9b6 kernel: Activate CONFIG_OPTIMIZE_INLINING
This will reduce the size of the kernel if CONFIG_CC_OPTIMIZE_FOR_SIZE is
set like for all targets with small_flash feature flag.
I haven't seen any changes for an ARM64 target which optimizes the
kernel for speed instead.

On the ath79/tiny target the uncompressed kernel size was reduced by
3.2% and the compressed kernel size by 2.1%

kernel size with CONFIG_OPTIMIZE_INLINING=n
4346412 build_dir/target-mips_24kc_musl/linux-ath79_tiny/vmlinux
1391169 build_dir/target-mips_24kc_musl/linux-ath79_tiny/tplink_tl-wr941-v4-kernel.bin

Kernel size with CONFIG_OPTIMIZE_INLINING=y
4212396 build_dir/target-mips_24kc_musl/linux-ath79_tiny/vmlinux
1362051 build_dir/target-mips_24kc_musl/linux-ath79_tiny/tplink_tl-wr941-v4-kernel.bin

This change is currently pending for kernel 5.2 and already in
linux-next, this updates our patch to match the upstream version.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 6dac1c0a9b)
2019-08-17 00:18:29 +02:00
Klaus Kudielka
e79f192c0a mvebu: sysupgrade: sdcard: fix platform_do_upgrade_sdcard
Unconditionally execute the final case statement, even if the disk layout
changed. This is necessary, to keep the original Turris Omnia flash
instructions working: The disk layout WILL change, when switching from
TurrisOS to OpenWRT. Without updating the uboot environment at the same
time, the user would end up with an unbootable system.

Fixes commit 2e5a0b81ec ("mvebu: sysupgrade: sdcard: keep user added ...")

Signed-off-by: Klaus Kudielka <klaus.kudielka@gmail.com>
2019-08-17 00:17:46 +02:00
Tomasz Maciej Nowak
342bcb739f mvebu: enable xHCI USB controller connected to PCIe
This commit fixes regression on Linksys WRT1900 (Mamba) where this device
doesn't have USB 3.0 controller integrated in SoC, instead it has Etron
EJ168 connected to PCIe lane. Previously enabled in kernel 4.4 and 4.9,
was lost in transition to 4.14.

Fixes: 4ccad92 ("mvebu: Add support for kernel 4.14")
Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
2019-08-17 00:17:46 +02:00
Hans Dedecker
45a26cb211 odhcpd: fix sending RA when link state brings bridge down
13928b3 router: close socket upon NETEV_IFINDEX_CHANGE

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2019-08-16 09:54:43 +02:00
David Bauer
d97c6d9f09 lantiq: unify Fritz!Box LED mappings
This commit unifies the LED mapping of the AVM Fritz!Box routers, which
have a combined Power/DSL LED.

With the stock firmware, the Power LED has the following
characteristics:

 - Blink when DSL sync is being established
 - Solid when DSL sync is present

We can't completely resemble this behavior in OpenWrt. Currently, the
Power LED is completely off, when DSL sync is missing. This is not
really helpful, as a user might have the impression, that he bricked his
device.

Instead, map the Info-LED to the state of the DSL connection.
There is no consistent behavior for the Info-LED in the stock
firmware, as the user can set it's function by himself. The DSL
connection state is one possible option for the Info LED there.

Also use the red Power LED to indicate a running upgrade, in case the
board has a two-color Power LED.

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 3032bf7f89)
2019-08-15 14:53:04 +02:00
Jo-Philipp Wich
ce41f468e1 Revert "ath79: make target source-only"
This reverts commit 2b074654b0.

Due to popular demand, I've decided to revert this commit after
deliberating with Petr. This means that 19.07 will ship ath79 binary
images after all.

We do however consider the ath79 target on Kernel 4.14 in the 19.07
branch to be beta quality at best.

Acked-by: Petr Štetiar <ynezz@true.cz>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-08-14 21:27:11 +02:00
Koen Vandeputte
bc138c5b72 kernel: bump 4.14 to 4.14.138
Refreshed all patches.

Compile-tested on: cns3xxx
Runtime-tested on: cns3xxx

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2019-08-14 18:24:11 +02:00
Russell Senior
46e9a9b04e tools/patch: apply upstream patch for cve-2019-13638
GNU patch through 2.7.6 is vulnerable to OS shell command injection that
can be exploited by opening a crafted patch file that contains an ed style

diff payload with shell metacharacters. The ed editor does not need to be
present on the vulnerable system. This is different from CVE-2018-1000156.

https://nvd.nist.gov/vuln/detail/CVE-2019-13638

Signed-off-by: Russell Senior <russell@personaltelco.net>
(cherry picked from commit bcfd1d7685)
2019-08-14 07:29:32 +02:00
David Bauer
61e51473c2 lantiq: add led-upgrade alias for Fritz!Box 7412
This adds the led-upgrade alias for the AVM Fritz!Box 7412 to indicate a
running firmware upgrade.

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 920abb9b58)
2019-08-11 12:54:57 +02:00
David Bauer
b72fa3e4a8 lantiq: enable second VPE on Fritz!Box 7412
The AVM Fritz!Box 7412 does not use the VMMC part of the Lantiq chip but
rather a proprietary solution based on the DECT chip for the FXS ports.

Therefore, the second VPE can be enabled for use with OpenWrt.

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 891a700759)
2019-08-11 12:54:57 +02:00
David Bauer
5355665cc8 lantiq: correct Fritz!Box 7412 button logic level
The AVM FRITZ!Box 7412 buttons are both active low, which is currently
incorrectly defined in the device-tree.

This leads to the device booting directly into failsafe.

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit c12947b39e)
2019-08-11 12:54:57 +02:00
Johann Neuhauser
af2ceb93d7 lantiq: use wpad-basic for boards with enough storage
This commit selects wpad-basic for the FRITZ!Box 7312 and 7412 as
wpad-mini is only selected on boards with small flash.

Signed-off-by: Johann Neuhauser <johann@it-neuhauser.de>
[add short description]
Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit c3c3cd5e4a)
2019-08-11 12:54:57 +02:00
Hans Dedecker
30798132bf odhcpd: fix lingering uloop socket descriptor
e9e8240 router: fix lingering uloop socket descriptor

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2019-08-10 10:18:00 +02:00
Koen Vandeputte
62eae4805b ar71xx: ag71xx: init rings with GFP_KERNEL
ar71xx got lost during final rebase ..

Fixes: c8a6ce71e4 ("ar71xx/ath79: ag71xx: init rings with GFP_KERNEL")
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2019-08-09 18:52:21 +02:00
Koen Vandeputte
c8a6ce71e4 ar71xx/ath79: ag71xx: init rings with GFP_KERNEL
Upstream commit	246902bdf562d45ea3475fac64c93048a7a39f01

Which contains following explanation:

--
There is no need to use GFP_ATOMIC here, GFP_KERNEL should be enough.
The 'kcalloc()' just a few lines above, already uses GFP_KERNEL.
--

Looking at the code, all other descriptors also use plain GFP_KERNEL

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2019-08-09 18:32:38 +02:00
Koen Vandeputte
dda342abba ar71xx/ath79: ag71xx: fix sleep in atomic
When enabling atomic-sleep-debugging options in the kernel,
following splat is seen when disabling the interface (which happens on boot):

[   10.892878] eth0: link down
[   10.896788] BUG: sleeping function called from invalid context at net/core/dev.c:5563
[   10.904730] in_atomic(): 1, irqs_disabled(): 1, pid: 425, name: ip
[   10.911004] 2 locks held by ip/425:
[   10.914539]  #0:  (rtnl_mutex){....}, at: [<80377474>] rtnetlink_rcv_msg+0x2d8/0x380
[   10.922441]  #1:  (&(&ag->lock)->rlock){....}, at: [<80330158>] ag71xx_hw_disable+0x24/0x94
[   10.930976] CPU: 0 PID: 425 Comm: ip Not tainted 4.14.136 #0
[   10.936716] Stack : 805e0000 80589228 80557404 876998ec 80610000 80610000 87cdcafc 805b5327
[   10.945233]         80551534 000001a9 8061386c 87699ccc 87cfb180 00000001 876998a0 84f70903
[   10.953751]         00000000 00000000 80b00000 8769979c 6a7407fa 00000000 00000007 00000000
[   10.962270]         000000b7 16d0954a 000000b6 00000000 80000000 87cb658c 87cb65b0 00000001
[   10.970787]         8046f97c 87699ccc 87cfb180 87ff2810 00000003 802ce724 0806e098 80610000
[   10.979306]         ...
[   10.981797] Call Trace:
[   10.984287] [<8006cb0c>] show_stack+0x58/0x100
[   10.988814] [<800aab34>] ___might_sleep+0x100/0x120
[   10.993774] [<8035c434>] napi_disable+0x30/0xd8
[   10.998377] [<80330198>] ag71xx_hw_disable+0x64/0x94
[   11.003418] [<8033069c>] ag71xx_stop+0x24/0x38
[   11.007959] [<80359e30>] __dev_close_many+0xcc/0x104
[   11.013009] [<80362eac>] __dev_change_flags+0xc8/0x1ac
[   11.018227] [<80362fb8>] dev_change_flags+0x28/0x70
[   11.023182] [<80376890>] do_setlink+0x31c/0x91c
[   11.027786] [<80379360>] rtnl_newlink+0x3ec/0x7f8
[   11.032563] [<80377498>] rtnetlink_rcv_msg+0x2fc/0x380
[   11.037799] [<8039a734>] netlink_rcv_skb+0xd4/0x178
[   11.042754] [<80399d10>] netlink_unicast+0x168/0x250
[   11.047796] [<8039a2d4>] netlink_sendmsg+0x3d8/0x434
[   11.052841] [<8033f0e4>] ___sys_sendmsg+0x1dc/0x290
[   11.057794] [<80340140>] __sys_sendmsg+0x54/0x84
[   11.062495] [<8007212c>] syscall_common+0x34/0x58

This is caused by calling napi_disable() while holding the spinlock.

Fix it by omitting the spinlock, which is not required here
Extensively tested on GL-MiFi, RB-912 and RB-922 hardware

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2019-08-09 18:32:38 +02:00
Koen Vandeputte
33af038bec kernel: bump 4.14 to 4.14.137
Refreshed all patches.

Compile-tested on: cns3xxx
Runtime-tested on: cns3xxx

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2019-08-09 18:32:38 +02:00
Jo-Philipp Wich
872cbcc628 config: introduce separate CONFIG_SIGNATURE_CHECK option
Introduce a new option CONFIG_SIGNATURE_CHECK which defaults to the value
of CONFIG_SIGNED_PACKAGES and thus is enabled by default.

This option is needed to support building target opkg with enabled
signature verification while having the signed package lists disabled.

Our buildbots currently disable package signing globally in the
buildroot and SDK to avoid the need to ship private signing keys to
the build workers and to prevent the triggering of random key generation
on the worker nodes since package signing happens off-line on the master
nodes.

As unintended side-effect, updated opkg packages will get built with
disabled signature verification, hence the need for a new override option.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit f565f276e2)
2019-08-07 07:53:48 +02:00
Petr Štetiar
ff550dae32 adb: fix build breakage on recent musl
Fix build breakage as upstream has removed implicit include of
sys/sysmacros.h from sys/types.h:

 remove implicit include of sys/sysmacros.h from sys/types.h

 this reverts commit f552c792c7ce5a560f214e1104d93ee5b0833967, which
 exposed the sysmacros.h macros (device major/minor calculations) for
 BSD and GNU profiles to mimic an unintentional glibc behavior some
 code depended on. glibc has deprecated and since removed them as the
 resolution to bug #19239, so it makes no sense for us to keep this
 behavior. affected code should all have been fixed by now, and if it's
 not yet fixed it needs to be for use with modern glibc anyway.

Ref: https://git.musl-libc.org/cgit/musl/commit/include/sys/types.h?id=a31a30a0076c284133c0f4dfa32b8b37883ac930
Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit 79596f782e)
2019-08-07 07:43:30 +02:00
Jo-Philipp Wich
4fd7a30c70 packages: apply usign padding workarounds to package indexes if needed
Since usign miscalculates SHA-512 digests for input sizes of exactly
64 + N * 128 + 110 or 64 + N * 128 + 111 bytes, we need to apply some
white space padding to avoid triggering the hashing edge case.

While usign itself has been fixed already, there is still many firmwares
in the wild which use broken usign versions to verify current package
indexes so we'll need to carry this workaround in the forseeable future.

Ref: https://forum.openwrt.org/t/signature-check-failed/41945
Ref: https://git.openwrt.org/5a52b379902471cef495687547c7b568142f66d2
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit e1f588e446)
2019-08-07 07:22:37 +02:00
Jo-Philipp Wich
7a10c7b882 usign: update to latest Git HEAD
This update fixes usign signature verification on files with certain
file sizes triggering a bug in the shipped SHA-512 implementation.

5a52b37 sha512: fix bad hardcoded constant in sha512_final()
3e6648b README: replace unicode character
716c3f2 README: add reference to OpenBSD signify
86d3668 README: provide reference for ed25519 algorithm
939ec35 usign: main.c: describe necessary arguments for -G

Ref: https://forum.openwrt.org/t/signature-check-failed/41945
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 991dd5a893)
2019-08-06 20:58:35 +02:00
Koen Vandeputte
bcbc7ba768 kernel: bump 4.14 to 4.14.136
Refreshed all patches.

Altered patches:
- 306-v4.16-netfilter-remove-saveroute-indirection-in-struct-nf_.patch

Remove upstreamed:
- 100-powerpc-4xx-uic-clear-pending-interrupt-after-irq-ty.patch
- 088-0002-i2c-qup-fixed-releasing-dma-without-flush-operation.patch
- 500-arm64-dts-marvell-Fix-A37xx-UART0-register-size.patch

Fixes:
- CVE-2019-13648
- CVE-2019-10207

Compile-tested on: ar71xx, cns3xxx, imx6, x86_64
Runtime-tested on: ar71xx, cns3xxx

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2019-08-06 11:54:50 +02:00
David Bauer
0f3d54f5b7 mpc85xx: correct OCEDO Panda LED definition
WLAN0 and the unused LED are currently swapped. Fix this, so the LED
behavior matches the other OCEDo devices.

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit a3a2b4857e)
2019-08-05 22:40:35 +02:00
Russell Senior
a941d39460 tools/patch: apply upstream patch for CVE-2019-13636
In GNU patch through 2.7.6, the following of symlinks is mishandled in
certain cases other than input files. This affects inp.c and util.c.

https://nvd.nist.gov/vuln/detail/CVE-2019-13636

Signed-off-by: Russell Senior <russell@personaltelco.net>
(cherry picked from commit 995bcc5329)
2019-08-01 21:54:43 +02:00
Petr Štetiar
53b61baac6 scripts/ubinize-image.sh: fix buildbot breakage
New Docker based buildslaves install just bare minimum of packages, thus
not having bsdmainutils package installed which provides `hexdump`
utility, leading to the following build breakage on buildbots:

 ubinize-image.sh: 12: /builder/scripts/ubinize-image.sh: hexdump: not found

So this patch simply replaces `hexdump` with `od` utility provided by
coreutils package, which should be likely available.

Co-authored-by: Yousong Zhou <yszhou4tech@gmail.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit c6d41c320c)
2019-08-01 21:54:40 +02:00
David Bauer
862352cdbd ar71xx: fix HiveAP 121 PLL for 1000M
The Aerohive HiveAP 121 has the wrong PLL value set for Gigabit speeds,
leading to packet-loss. 10M and 100M work fine.

This commit sets the Gigabit Ethernet PLL value to the correct value,
fixing packet loss.

Confirmed with iperf and floodping.

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit cb49e46a8a)
2019-08-01 21:29:43 +02:00
Koen Vandeputte
a654ac0d6e ar71xx: really fix Mikrotik board detection
commit e09da0169a ("ar71xx: fix Mikrotik board detection")
was generated based on testing a rb-912 board, on which detection failed.

Testing on more hardware shows something fun:

machine	: MikroTik RouterBOARD 922UAGS-5HPacD
machine	: Mikrotik RouterBOARD 912UAG-5HPnD

Both lowercase and uppercase are used.
So ensure we support both now ..

Fixes: e09da0169a ("ar71xx: fix Mikrotik board detection")

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
(cherry picked from commit 845b2a1cfe)
2019-08-01 12:11:59 +02:00
Koen Vandeputte
19f768f691 toolchain/musl: bump to version 1.1.23
new features:
- riscv64 port
- configure now allows customizing AR and RANLIB vars
- header-level support for new linux features in 5.1

major internal changes:
- removed extern __syscall; syscall header code is now fully self-contained

performance:
- new math library implementation for log/exp/pow
- aarch64 dynamic tlsdesc function is streamlined

compatibility & conformance:
- O_TTY_INIT is now defined
- sys/types.h no longer pollutes namespace with sys/sysmacros.h in any profile
- powerpc asm is now compatible with clang internal assembler

changes for new POSIX interpretations:
- fgetwc now sets stream error indicator on encoding errors
- fmemopen no longer rejects 0 size

bugs fixed:
- static TLS for shared libraries was allocated wrong on "Variant I" archs
- crash in dladdr reading through uninitialized pointer on non-match
- sigaltstack wrongly errored out on invalid ss_size when doing SS_DISABLE
- getdents function misbehaved with buffer length larger than INT_MAX
- set*id could deadlock after fork from multithreaded process

arch-specfic bugs fixed:
- s390x SO_PEERSEC definition was wrong
- passing of 64-bit syscall arguments was broken on microblaze
- posix_fadvise was broken on mips due to missing 7-arg syscall support
- vrregset_t layout and member naming was wrong on powerpc64

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2019-07-31 16:56:19 +02:00
Koen Vandeputte
4fd61b6220 kernel: bump 4.14 to 4.14.134
Refreshed all patches.

Remove upstreamed:
- 049-v4.20-mips-remove-superfluous-check-for-linux.patch

Fixes:
- CVE-2019-3846
- CVE-2019-3900

Compile-tested on: ar71xx, cns3xxx, imx6, x86_64
Runtime-tested on: ar71xx, cns3xxx, imx6

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2019-07-31 16:56:19 +02:00
Koen Vandeputte
8c57d88fcc imx6: bump SDMA firmware to 3.5
- add uart rom script address in header of sdma firmware to support
  the uart driver of latest kernel working well while old firmware
  assume ram script used for uart driver as NXP internal legacy
  kernel.
- add multi-fifo SAI/PDM scripts.

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
(cherry picked from commit 819b6345a206ad182dd3c2d786a3d7f04e33f751)
2019-07-31 16:56:19 +02:00
Petr Štetiar
2b074654b0 ath79: make target source-only
In order to prevent build of images for this release as ath79 is going
to deprecate ar71xx in the next release.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2019-07-29 17:47:29 +02:00