Rafał Miłecki [Wed, 6 Mar 2019 05:00:00 +0000 (06:00 +0100)]
kernel: fix refcnt leak in LED netdev trigger on interface rename
Renaming a netdev-trigger-tracked interface was resulting in an
unbalanced dev_hold().
Example:
> iw phy phy0 interface add foo type __ap
> echo netdev > trigger
> echo foo > device_name
> ip link set foo name bar
> iw dev bar del
[ 237.355366] unregister_netdevice: waiting for bar to become free. Usage count = 1
[ 247.435362] unregister_netdevice: waiting for bar to become free. Usage count = 1
[ 257.545366] unregister_netdevice: waiting for bar to become free. Usage count = 1
Above problem was caused by trigger checking a dev->name which obviously
changes after renaming an interface. It meant missing all further events
including the NETDEV_UNREGISTER which is required for calling dev_put().
This change fixes that by:
1) Comparing device struct *address* for notification-filtering purposes
2) Dropping unneeded NETDEV_CHANGENAME code (no behavior change)
Yousong Zhou [Wed, 20 Feb 2019 06:58:51 +0000 (06:58 +0000)]
dnsmasq: prefer localuse over resolvfile guesswork
This makes it clear that localuse when explicitly specified in the
config will have its final say on whether or not the initscript should
touch /etc/resolv.conf, no matter whatever the result of previous
guesswork would be
(cherry picked from c17a68cc61a0f8a28e19c7f60b24beaf1a1a402d) Tested-by: Paul Oranje <por@oranjevos.nl> Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com> Acked-by: Hans Dedecker <dedeckeh@gmail.com> Acked-by: Paul Oranje <por@oranjevos.nl>
Yousong Zhou [Mon, 18 Feb 2019 14:11:19 +0000 (14:11 +0000)]
dnsmasq: allow using dnsmasq as the sole resolver
Currently it seems impossible to configure /etc/config/dhcp to achieve
the following use case
- run dnsmasq with no-resolv
- re-generate /etc/resolv.conf with "nameserver 127.0.0.1"
Before this change, we have to set resolvfile to /tmp/resolv.conf.auto
to achive the 2nd effect above, but setting resolvfile requires noresolv
being false.
A new boolean option "localuse" is added to indicate that we intend to
use dnsmasq as the local dns resolver. It's false by default and to
align with old behaviour it will be true automatically if resolvfile is
set to /tmp/resolv.conf.auto
(cherry picked from 2aea1ada65f050d74a064e74466bbe4e8d) Tested-by: Paul Oranje <por@oranjevos.nl> Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com> Acked-by: Hans Dedecker <dedeckeh@gmail.com> Acked-by: Paul Oranje <por@oranjevos.nl>
Sven Eckelmann [Mon, 11 Feb 2019 15:26:42 +0000 (16:26 +0100)]
build: Accept BIN_DIR parameter for legacy-images
BIN_DIR can be set to overwrite the output path for new images. This is an
advertised feature for the imagebuilder and is used by systems like
LibreMesh's chef.
The legacy images are build using a new sub-make which doesn't receive the
variable overwrites of the parent make process. As result, the BIN_DIR is
automatically defined to the default value from rules.mk. The images will
therefore not be placed in the output path which was selected by the user.
Providing BIN_DIR as an explicit variable override to the sub-make works
around this problem.
Fixes: 26c771452cd8 ("image.mk: add LegacyDevice wrapper to allow legacy image building code to be used for device profiles") Reported-by: Paul Spooren <mail@aparcar.org> Signed-off-by: Sven Eckelmann <sven@narfation.org>
(cherry picked from commit 9a5a10eb6924efa519e1d9e27b61dc254876f9ec)
Adrian Schmutzler [Sat, 26 Jan 2019 16:59:44 +0000 (17:59 +0100)]
ar71xx: Fix 5 GHz MAC address for Archer C60 v2
Looks like C60 v2 needs the MAC address to be calculated
manually, while the C60 v1 gets it correctly without manual
interference.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [added id]
(cherry picked from commit 319c5d7c49503d1afbfb3164b18cf966e11fac6a)
Felix Fietkau [Sun, 3 Feb 2019 19:45:26 +0000 (20:45 +0100)]
mt76: update to the latest version
a9d4c0e mt76: mt76x2: avoid running DPD calibration if tx is blocked 4d7e13f mt76: explicitly disable energy detect cca during scan e3c1aad mt76: run MAC work every 100ms 4e8766a mt76: clear CCA timer stats in mt76x02_edcca_init e301f23 mt76: measure the time between mt76x02_edcca_check runs 74075ef mt76: increase ED/CCA tx block threshold
Registering the GPIO chip without a parent device completely breaks the
ath9k GPIOs for device tree targets.
As long as boards using the devicetree don't have the gpio-controller
property set for the ath9k node, the unloading of the driver works as
expected.
Register the GPIO chip with the ath9k device as parent only for OF
targets to find a trade-off between the needs of driver developers and
the broken LEDs and buttons seen by users.
Daniel Gonzalez Cabanelas [Sun, 9 Dec 2018 20:29:48 +0000 (21:29 +0100)]
brcm63xx: HG655b: fix the imagetag at dts
Fix the imagetag on the HG655b to allow a correct partition detection at boot time.
It turns out that it was defined at the wrong partition. Just move the imagetag to
the linux firmware partition.
The bug is present since the 18.06 release. Without this fix, the board won't boot.
Fixes: a27d59bb4274 ("brcm63xx: switch to new partition layout specification") Signed-off-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com> Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
(cherry picked from commit 26d4cb2ca7acde1254f6ce6c0a54e0aca1489a0f)
Felix Fietkau [Thu, 31 Jan 2019 22:17:49 +0000 (23:17 +0100)]
mt76: update to the latest version
a4ec45c mt7603: fix LED support (copy CFLAGS from main Makefile) edda5c5 mt76x02: use mask for vifs dd52191 mt76x02: use commmon add interface for mt76x2u a80acaf mt76x02: initialize mutli bss mode when set up address 38e832d mt76x02: minor beaconing init changes 171adaf mt76x02: init beacon config for mt76x2u dcab682 mt76: beaconing fixes for USB ff81de1 mt76x02: enable support for IBSS and MESH 8027b5d mt7603: remove copyright headers e747e80 mt76: fix software encryption issues 2afa0d7 mt7603: remove WCID override for software encrypted frames
Felix Fietkau [Wed, 30 Jan 2019 14:17:01 +0000 (15:17 +0100)]
mt76: update to the latest version
c3da1aa mt7603: trigger beacon stuck detection faster 7a53138 mt7603: trigger watchdog reset if flushing CAB queue fails 6eef33b mt7603: remove mt7603_txq_init ae30c30 mt76: add driver callback for when a sta is associated 0db925f mt7603: update HT/VHT capabilities after assoc b5ac8e4 mt7603: initialize LED callbacks only if CONFIG_MT76_LEDS is set c989bac mt76x0: eeprom: fix chan_vs_power map in mt76x0_get_power_info 24bd2c0 mt76x0: phy: report target_power in debugfs bc7ce2a mt76x0: init: introduce mt76x0_init_txpower routine
Günther Kelleter [Mon, 8 Oct 2018 13:30:00 +0000 (15:30 +0200)]
base-files: config_get: prevent filename globbing
When config_get is called as "config_get section option" the option
is unexpectedly globbed by the shell which differs from the way options
are read to a variable with "config_get variable section option".
Add another layer of double quotes to fix it.
Jeffery To [Wed, 12 Dec 2018 17:33:36 +0000 (01:33 +0800)]
build: fix STAGING_DIR cleaning for packages
This fixes two issues with cleaning package files from STAGING_DIR:
* CleanStaging currently can only remove files and not directories. This
changes CleanStaging to use clean-package.sh, which does remove
directories.
* Because of the way directories are ordered in the staging files list,
clean-package.sh currently tries (and fails) to remove parent
directories before removing subdirectories. This changes
clean-package.sh to process the staging files list in reverse, so that
subdirectories are removed first.
Daniel Halmschlager [Tue, 4 Dec 2018 19:40:10 +0000 (20:40 +0100)]
ar71xx: Add usb drivers in Archer C7 v4/v5 images
This commit adds the default usb packages
- kmod-usb-core
- kmod-usb2
- kmod-usb-ledtrig-usbport
for Archer C7 v4 and v5.
(The C7 v5 configuration is based on the v4, therefore the change for v4
also applies for v5.)
Sven Roederer [Mon, 28 Jan 2019 19:11:50 +0000 (20:11 +0100)]
openssl: bump to 1.0.2q
This fixes the following security problems:
* CVE-2018-5407: Microarchitecture timing vulnerability in ECC scalar multiplication
* CVE-2018-0734: Timing vulnerability in DSA signature generation
* Resolve a compatibility issue in EC_GROUP handling with the FIPS Object Module
This should fix sporadic crashes with `wg pubkey` on certain architectures.
* netlink: auth socket changes against namespace of socket
In WireGuard, the underlying UDP socket lives in the namespace where the
interface was created and doesn't move if the interface is moved. This
allows one to create the interface in some privileged place that has
Internet access, and then move it into a container namespace that only
has the WireGuard interface for egress. Consider the following
situation:
1. Interface created in namespace A. Socket therefore lives in namespace A.
2. Interface moved to namespace B. Socket remains in namespace A.
3. Namespace B now has access to the interface and changes the listen
port and/or fwmark of socket. Change is reflected in namespace A.
This behavior is arguably _fine_ and perhaps even expected or
acceptable. But there's also an argument to be made that B should have
A's cred to do so. So, this patch adds a simple ns_capable check.
* ratelimiter: build tests with !IPV6
Should reenable building in debug mode for systems without IPv6.
* noise: replace getnstimeofday64 with ktime_get_real_ts64
* ratelimiter: totalram_pages is now a function
* qemu: enable FP on MIPS
Linux 5.0 support.
* keygen-html: bring back pure javascript implementation
Benoît Viguier has proofs that values will stay well within 2^53. We
also have an improved carry function that's much simpler. Probably more
constant time than emscripten's 64-bit integers.
* contrib: introduce simple highlighter library
This is the highlighter library being used in:
- https://twitter.com/EdgeSecurity/status/1085294681003454465
- https://twitter.com/EdgeSecurity/status/1081953278248796165
It's included here as a contrib example, so that others can paste it into
their own GUI clients for having the same strictly validating highlighting.
* netlink: use __kernel_timespec for handshake time
This readies us for Y2038. See https://lwn.net/Articles/776435/ for more info.
Fixes in 2.13.0:
* Fixed a security issue in the X.509 module which could lead to a buffer overread during certificate extensions parsing.
* Several bugfixes.
* Improvements for better support for DTLS on low-bandwidth, high latency networks with high packet loss.
Fixes in 2.14.1:
* CVE-2018-19608: Local timing attack on RSA decryption
Felix Fietkau [Sun, 20 Jan 2019 17:01:57 +0000 (18:01 +0100)]
mt76: update to the latest version
d273ddd mt7603: fix number of frames limit in .release_buffered_frames 63bf183 mt76: add channel switch announcement support e45db12 mt7603: fix tx status info 9d11596 mt7603: discard bogus tx status data 4bcb2f9 mt7603: fix txd q_idx field value 4206db7 mt76: set IEEE80211_HW_NEEDS_UNIQUE_STA_ADDR flag c4e4982 mt7603: set IEEE80211_HW_TX_STATUS_NO_AMPDU_LEN 702f557 mt7603: use maximum tx count for buffered multicast packets 158529d mt7603: fix PSE reset retry sequence fc31457 mt7603: implement support for SMPS 3e9a7d5 Revert "mt7603: fix txd q_idx field value" 815fd03 mt7603: fix CCA timing values b35cc8e mt7603: set timing on channel change before starting MAC 79b337c mt7603: move CF-End rate update to mt7603_mac_set_timing 3df341d mt7603: avoid redundant MAC timing updates 1c751f3 mt76: avoid scheduling tx queues for powersave stations 2efa389 mt7603: limit station power save queue length to 64 63a79ff mt76: do not report out-of-range rx nss fe30bd3 mt7603: issue PSE reset on tx hang ce8cc5d mt7603: issue PSE client reset on init e342cc5 mt7603: fix buffered multicast count register aa470d8 mt7603: fix buffered multicast queue flush b4ee01f mt76: fix tx status timeout processing 7d00d58 mt76x02: fix per-chain signal strength reporting 64abb35 mt76: fix corrupted software generated tx CCMP PN 0b939dc mt76: fix resetting software IV flag on key delete
Jonas Gorski [Mon, 10 Sep 2018 09:42:53 +0000 (11:42 +0200)]
opkg: drop argument from check_signature in opkg.conf
check_signature is a bool option and doesn't take any arguments. The
presence of the 1 falsely suggests setting it to 0 disables the check,
while the option actually needs to be removed or commented out to be
disabled. So remove the argument to make it more clear.
Fixes: beca028bd6bb ("build: add integration for managing opkg package feed keys") Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
(cherry picked from commit d3bf5ff9bc7b55b2a3dab93853b33a0cd2c4ca47)
Felix Fietkau [Mon, 14 Jan 2019 14:16:04 +0000 (15:16 +0100)]
mt76: update to the latest version
6745830 mt76: fix race condition in station removal 7e5c819 mt76: add mt76_sta_remove helper 75aa36e mt7603: use wcid/wcid_mask from struct mt76_dev fd85ff9 mt7603: use mt76_sta_remove helper 0848d2d mt7603: simplify mt7603_mcu_msg_send, remove skb_ret handling 83a80ca mt76: request tx status for powersave released EOSP packet df5c797 mt76: fix uninitialized mutex access setting rts threshold 0bfa98e mt76: introduce mt76x02_config_mac_addr_list routine 4248446 mt76x0: pci: enable VHT rates in IBSS mode f75efd8 mt76x2u: phy: add TX_SHAPING calibration c1d67b4 mt76x2u: phy: run phy_channel_calibrate after channel switch 9fe0fe8 mt76x2u: main: use mt76x02_bss_info_changed utility routine 3fc95d7 mt76x2u: init: remove mt76x2u_init_beacon_offsets routine 88f6883 mt76: remove wait argument from mt76x02_mcu_calibrate 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 96b3b3d mt76x2u: main: fix typo setting sta_state mac80211 callback 471d397 mt7603: fix priority for buffered multicast packets 3873e82 mt7603: fix MT_BMAP_0/MT_GROUP_THD_0 register initializion for mt7628 749d5c3 mt7603: fix reserved page handling for mt7628 d22799b mt7603: reduce reserved pages for beacons 42c5281 mt7603: fix maximum frame size in scheduler init fa7335b mt76: fix potential NULL pointer dereference in mt76_stop_tx_queues 84aa12a mt76: fix potential null pointer deref in mt76_sta_add 7c4c33c mt7603: skip efuse tx power data for mt7628 ca2c875 mt7603: add support for accessing remapped registers via ops b44d793 mt7603: clear PSE redirections before MCU init 82363ab mt7603: move tx status to rx queue 0 c09e8a4 mt7603: fix buffering of tx packets for powersave clients 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 5fb60a7 mt7603: fix aggregation size handling 31cd20e mt7603: issue PSE reset on stuck beacon 4063ae1 mt7603: check for PSE hang / stuck beacon first 00e03b9 mt7603: fix MT_WF_PHY_CR_RXTD_BASE definition c3efb5d mt7603: add support for detecting MT7688 and single stream devices 2a136cb mt7603: fix TKIP key setup cd456ca mt7603: disable broken support for WEP hardware encryption 3ecb7f8 mt7603: fix hardware queue assignment 6ac9653 mt7603: fix CAB queue limits d22feb0 mt7603: move cab queue enabling to pre-tbtt tasklet 44bb372 mt7603: fix CAB queue flush mask 5a5b396 mt76: throttle transmission of buffered multicast packets 8084323 mt7603: implement code for adjusting energy detect CCA thresholds 8929a6e mt7603: increase MCU timeout f2ba65f mt7603: update firmware to 20161027164355 0ad998b mt7603: increase aggregation limits (based on vendor driver changes) da00af0 mt7603: clear bit 18 in MT_SEC_SCR to fix ICV error 417ab77 mt7603: improve recovery from PSE reset failure fea7ad8 mt76: move mt76x02_phy_get_min_avg_rssi to mt76 core 9d009be mt7603: add dynamic sensitivity tuning based on false CCA events 2c8e9ac mt7603: initialize channel maximum power from eeprom data b2cc29b mt76: move mt76x02_get_txpower to mt76 core 6203d46 mt7603: add support for setting transmit power 294e095 mt7603: reset DMA scheduler on MT7628 8178f0d mt7603: apply efuse data only when it exists e67e551 mt76: dma: remove napi from mt76_dma_rx_fill signature 0490bd2 mt76: usb: do not build the skb if reported len does not fit in buf_size eb076ae mt76: Add missing include of linux/module.h 1d2819e mt76: fix typo in mt76x02_check_mac_err routine 9c9fae3 mt76: mac: run mt76x02_mac_work routine atomically 6be90b6 mt76: usb: avoid queue/status spinlocks while passing tx status to mac80211 40dad32 mt76x0: pci: fix ACS support d94e9c4 mt76x02: do not set protection on set_rts_threshold callback 0d83d73 mt76x02: fixup MT_PROT_RATE_* defines 628f8d7 mt76x02: set protection according to ht operation element f7d8c17 mt76x0: configure MT_VHT_HT_FBK_CFG1 10f57cf mt76x2: add static qualifier to mt76x2_init_hardware 37b2ad3 mt76: dfs: run mt76x02_dfs_set_domain atomically 51b6daf mt76x2: init: set default value for MT_TX_LINK_CFG 9661da4 mt76: add energy detect CCA support to mt76x{0,2}e drivers 876d0e9 mt76: mac: minor optimizations in mt76x02_mac_tx_rate_val c78e317 mt76: dma: do not build skb if reported len does not fit in buf_size 3598046 mt76: mmio: introduce mt76x02_check_tx_hang watchdog 58988a3 mt76: fix signedness of rx status signal field bce700d mt7603: fix signal strength reporting on single-stream devices 148219d mt7603: fix checkpatch issues 2a092e2 mt7603: fix per-rate retry accounting 962152b mt7603: fix WMM TXOP limit configuration 24ec040 mt7603: fix BSSID configuration in AP mode 48fb011 mt7603: fix CF-End transmit rate when 11b stations are connected 9daa5ff mt76: make const array 'data' static, shrinks object size 7d4a95c mt76: dma: avoid indirect call in mt76_dma_tx_queue_skb f84b008 mt76: fix tx status reporting for non-probing frames 8167074 Revert "mt7603: update firmware to 20161027164355" 2ad54b2 mt76: move wcid rssi ewma init to mt76 core d77c861 mt76: fix rssi ewma tracking eca96cd mt76: use proper name for __MT76x02_H macro d1bc504 mt76: fix building without CONFIG_LEDS_CLASS a946b78 mt76: add led support to mt76x0e driver
Rafał Miłecki [Wed, 2 Jan 2019 06:13:19 +0000 (07:13 +0100)]
fstools: update to the latest master branch
This is a big block(d) cleanup with new feature of generating "mount"
hotplug.d events.
It's an important update for those who were using mountd in the
pre-18.06 releases. Due to the mountd being replaced with blockd a
support for "mountd" hotplug.d events has been lost. It broke all kind
of shell scripts that were e.g. managing services depending on an
external USB drive availability.
This basically (re-)adds support for calling /etc/hotplug.d/mount/
scripts with ACTION ("add" or "remove") and DEVICE set.
af93f4b block(d): improve hotplug.d "mount" events for the autofs 3bb3352 blockd: unmount device explicitly when it disappears 28753b3 block: remove target directory after unmounting c8c7ca5 block: cleanup handling "start" action of the "autofs" command f1bb762 block: make blockd_notify() return an int instead of void 71c2bde block: generate hotplug.d mount events 30f5096 block: validate amount of arguments for the "autofs" command dc6a462 blockd: don't reparse blob msg in the vlist callbacks f6a9686 blockd: don't unmount device when removing it from the list 1913fea block: don't duplicate unmounting code in the mount_action() 6b445fa block: make umount_device() function more generic a778468 block: don't duplicate mounting code in the mount_device() 5dc631d block: simplify code picking mount target directory 2971779 block: move blockd_notify() call out of the conditional blocks b86bd6e block: fix formatting & indent in the mount_device() e12c0d6 fstools: use EXIT_FAILURE when indicating error on exit 091aa3d fstools: guard usage of WEXITSTATUS
This file is needed to properly use the tc ematch modules present in
kmod-sched-core and kmod-sched. It is a read-only index file of ematch
methods used only by tc.
Koen Vandeputte [Mon, 7 Jan 2019 10:59:49 +0000 (11:59 +0100)]
cns3xxx: use actual size reads for PCIe
upstream commit 802b7c06adc7 ("ARM: cns3xxx: Convert PCI to use generic config accessors")
reimplemented cns3xxx_pci_read_config() using pci_generic_config_read32(),
which preserved the property of only doing 32-bit reads.
It also replaced cns3xxx_pci_write_config() with pci_generic_config_write(),
so it changed writes from always being 32 bits to being the actual size,
which works just fine.
Due to:
- The documentation does not mention that only 32 bit access is allowed.
- Writes are already executed using the actual size
- Extensive testing shows that 8b, 16b and 32b reads work as intended
It makes perfectly sense to also swap 32 bit reading in favor of actual size.
This pick most of brcmfmac changes backported into the master in commits 5932eb690f24 ("mac80211: brcmfmac: backport firmware loading cleanup") 3eab6b8275b2 ("mac80211: brcmfmac: backport NVRAM loading improvements") 529c95cc15dc ("mac80211: brcmfmac: fix use-after-free & possible NULL pointer dereference")
It's more than would be normally backported into a stable branch but it
seems required. Firmware loading cleanups are needed to allow fix memory
bugs in a reliable way. Memory fixes are really important to avoid
corrupting memory and risking a NULL pointer dereference.
Hopefully this stuff has received enough testing in the master.
Christian Lamparter [Sun, 30 Dec 2018 19:46:06 +0000 (20:46 +0100)]
apm821xx: switch MX60(W)'s recovery images to multi-image method
In the past, the MX60(W)'s recovery images always had problems
with the size restriction and never really worked without manual
intervention. This patch reworks the initramfs, which allows the
device to ease up on the impossible tight kernel size requirements
for the initramfs image.
This new initramfs can be loaded through the MX60(W) U-boot
in the following way:
=> bootm $fileaddr
\## Booting kernel from Legacy Image at 00800000 ...
...
For more information and the latest flashing guide:
please visit the OpenWrt Wiki Page for the MX60(W):
<https://openwrt.org/toh/meraki/mx60#flashing>
Signed-off-by: Chris Blake <chrisrblake93@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
(cherry picked from commit 36c19c9f0be23ad327085aa762e95de638e19b4a)
Christian Lamparter [Sat, 29 Dec 2018 12:41:35 +0000 (13:41 +0100)]
kernel: fix f2fs on big endian machines
The WD MyBook Live SquashFS images didn't work anymore due to
a upstream regression in f2fs commit: 0cfe75c5b01199
("f2fs: enhance sanity_check_raw_super() to avoid potential overflows")
that got backported to 4.14.86 and 4.9.144.
by Martin Blumenstingl:
|Treat "block_count" from struct f2fs_super_block as 64-bit little endian
|value in sanity_check_raw_super() because struct f2fs_super_block
|declares "block_count" as "__le64".
|
|This fixes a bug where the superblock validation fails on big endian
|devices with the following error:
| F2FS-fs (sda1): Wrong segment_count / block_count (61439 > 0)
| F2FS-fs (sda1): Can't find valid F2FS filesystem in 1th superblock
| F2FS-fs (sda1): Wrong segment_count / block_count (61439 > 0)
| F2FS-fs (sda1): Can't find valid F2FS filesystem in 2th superblock
|As result of this the partition cannot be mounted.
|
|With this patch applied the superblock validation works fine and the
|partition can be mounted again:
| F2FS-fs (sda1): Mounted with checkpoint version = 7c84
|
|My little endian x86-64 hardware was able to mount the partition without
|this fix.
|To confirm that mounting f2fs filesystems works on big endian machines
|again I tested this on a 32-bit MIPS big endian (lantiq) device.
Hopefully, this will do until Martin's patch moved through upstream
to -stable.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Hans Dedecker [Tue, 18 Dec 2018 18:40:31 +0000 (19:40 +0100)]
dropbear: fix dropbear startup issue
Interface triggers are installed by the dropbear init script in case an
interface is configured for a given dropbear uci section.
As dropbear is started after network the interface trigger event can be
missed during a small window; this is especially the case if lan is
specified as interface.
Fix this by starting dropbear before network so no interface trigger
is missed. As dropbear is started earlier than netifd add a boot function
to avoid the usage of network.sh functions as call to such functions will
fail at boottime.
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> Acked-by: Jo-Philipp Wich <jo@mein.io>
* 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.
* 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
ba2ab5d version: bump snapshot 5f59c76 tools: wg-quick: wait for interface to disappear on freebsd ac7e7a3 tools: don't fail if a netlink interface dump is inconsistent 8432585 main: get rid of unloaded debug message 139e57c tools: compile on gnu99 d65817c tools: use libc's endianness macro if no compiler macro f985de2 global: give if statements brackets and other cleanups b3a5d8a main: change module description 296d505 device: use textual error labels always 8bde328 allowedips: swap endianness early on a650d49 timers: avoid using control statements in macro db4dd93 allowedips: remove control statement from macro by rewriting 780a597 global: more nits 06b1236 global: rename struct wireguard_ to struct wg_ 205dd46 netlink: do not stuff index into nla type 2c6b57b qemu: kill after 20 minutes 6f2953d compat: look in Kbuild and Makefile since they differ based on arch a93d7e4 create-patch: blacklist instead of whitelist 8d53657 global: prefix functions used in callbacks with wg_ 123f85c compat: don't output for grep errors
64750c1 version: bump snapshot f11a2b8 global: style nits 4b34b6a crypto: clean up remaining .h->.c 06d9fc8 allowedips: document additional nobs c32b5f9 makefile: do more generic wildcard so as to avoid rename issues 20f48d8 crypto: use BIT(i) & bitmap instead of (bitmap >> i) & 1 b6e09f6 crypto: disable broken implementations in selftests fd50f77 compat: clang cannot handle __builtin_constant_p bddaca7 compat: make asm/simd.h conditional on its existence b4ba33e compat: account for ancient ARM assembler
* Account for big-endian 2^26 conversion in Poly1305.
* Account for big-endian NEON in Curve25519.
* Fix macros in big-endian AArch64 code so that this will actually run there
at all.
* Prefer if (IS_ENABLED(...)) over ifdef mazes when possible.
* Call simd_relax() within any preempt-disabling glue code every once in a
while so as not to increase latency if folks pass in super long buffers.
* Prefer compiler-defined architecture macros in assembly code, which puts us
in closer alignment with upstream CRYPTOGAMS code, and is cleaner.
* Non-static symbols are prefixed with wg_ to avoid polluting the global
namespace.
* Return a bool from simd_relax() indicating whether or not we were
rescheduled.
* Reflect the proper simd conditions on arm.
* Do not reorder lines in Kbuild files for the simd asm-generic addition,
since we don't want to cause merge conflicts.
* WARN() if the selftests fail in Zinc, since if this is an initcall, it won't
block module loading, so we want to be loud.
* Document some interdependencies beside include statements.
* Add missing static statement to fpu init functions.
* Use union in chacha to access state words as a flat matrix, instead of
casting a struct to a u8 and hoping all goes well. Then, by passing around
that array as a struct for as long as possible, we can update counter[0]
instead of state[12] in the generic blocks, which makes it clearer what's
happening.
* Remove __aligned(32) for chacha20_ctx since we no longer use vmovdqa on x86,
and the other implementations do not require that kind of alignment either.
* Submit patch to ARM tree for adjusting RiscPC's cflags to be -march=armv3 so
that we can build code that uses umull.
* Allow CONFIG_ARM[64] to imply [!]CONFIG_64BIT, and use zinc arch config
variables consistently throughout.
* Document rationale for the 2^26->2^64/32 conversion in code comments.
* Convert all of remaining BUG_ON to WARN_ON.
* Replace `bxeq lr` with `reteq lr` in ARM assembler to be compatible with old
ISAs via the macro in <asm/assembler.h>.
* Do not allow WireGuard to be a built-in if IPv6 is a module.
* Writeback the base register and reorder multiplications in the NEON x25519
implementation.
* Try all combinations of different implementations in selftests, so that
potential bugs are more immediately unearthed.
* Self tests and SIMD glue code work with #include, which lets the compiler
optimize these. Previously these files were .h, because they were included,
but a simple grep of the kernel tree shows 259 other files that carry out
this same pattern. Only they prefer to instead name the files with a .c
instead of a .h, so we now follow the convention.
* Support many more platforms in QEMU, especially big endian ones.
* Kernels < 3.17 don't have read_cpuid_part, so fix building there.
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
Robert Marko [Sat, 25 Aug 2018 21:26:24 +0000 (23:26 +0200)]
ethtool: Update to 4.18
Tested on 8devices Jalapeno(ipq40xx)
Introduces following changes:
Feature: Add support for WAKE_FILTER (WoL using filters)
Feature: Add support for action value -2 (wake-up filter)
Fix: document WoL filters option also in help message
Feature: ixgbe dump strings for security registers
Daniel Engberg [Sun, 10 Jun 2018 22:22:36 +0000 (00:22 +0200)]
mbedtls: Cosmetic cleanups
This is more of a cosmetic change and a reminder that the CMake script hardcodes -O2.
Source:
https://github.com/ARMmbed/mbedtls/blob/mbedtls-2.7/CMakeLists.txt#L73
https://github.com/ARMmbed/mbedtls/blob/master/CMakeLists.txt#L97
Remove the release type option as it's already provided by the toolchain.
Source:
https://github.com/openwrt/openwrt/blob/master/include/cmake.mk#L50
Tomasz Maciej Nowak [Wed, 28 Nov 2018 19:44:21 +0000 (20:44 +0100)]
x86: make sysupgrade.tgz reachable again
Moving binding mount before check for saved sysupgrade configuration
made it unreachable. Fix it by moving binding mount after the check.
Fixes: f78b2616 (x86: mount writable bootfs) Reported-by: Lucian Cristian <luci@powerneth.ro> Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
(backported from c288ad9c2b2a4ab62e4c887f13f220870911cc28)
Tomasz Maciej Nowak [Tue, 20 Nov 2018 16:20:39 +0000 (17:20 +0100)]
include/rootfs.mk: remove boot directory
Currently every file in boot directory is copied over target /boot on
root file system and is usually inaccessible because appropriate boot
file system is mounted on top of it. Therefore remove /boot, which in
result will also save space on target root file system.