build: Add option KERNEL_KASAN_SW_TAGS and HW_TAGS
Currently KASAN is supported but only the generic one. SW-tag and HW-tag
based KASAN have less impact on memory footprint or performance, and are
worth supporting.
Add choice menu for software and hardware Tag-Based KASAN, in addition
to the generic one.
Felix Fietkau [Thu, 10 Aug 2023 16:33:04 +0000 (18:33 +0200)]
hostapd: reimplement AP/STA support via ucode
Drop obsolete control interface patches.
This fixes some corner cases in the previous code where the segment 0 center
frequency was not adjusted properly, leading to logspam and non-working AP
interfaces.
Additionally, shutting down the AP was broken, because the next beacon update
would re-enable it, leading to a race condition on assoc.
Linus Walleij [Mon, 7 Aug 2023 21:58:24 +0000 (23:58 +0200)]
gemini: Fix up kernel v6.1 config
The v6.1 kernel has moved around the options for the RTL8366RB
DSA switch used in the DIR-685 so it was missing when building
the kernel. Fix it up by adding the right Kconfig options.
Robert Marko [Wed, 9 Aug 2023 16:29:00 +0000 (18:29 +0200)]
qualcommax: remove upstreamed TRIM quirks
TRIM disable quirks for eMMC-s were merged upstreamed and backported to
stable in 6.1.39, however they were not dropped during the kernel update
and quilt is not complaining at all.
So, lets manually remove them as they are part of 6.1.39 [1] [2].
1. Needed to make a change to to package/kernel/linux/modules/netsupport.mk
due to upstream moving vxlan to its own directory[1]. @john-tho suggested
using the the 6.1 xvlan FILES to circumvent.
2. All patches automatically rebased.
Ivan Pavlov [Fri, 4 Aug 2023 12:28:12 +0000 (15:28 +0300)]
openssl: update to 3.0.10
Changes between 3.0.9 and 3.0.10 [1 Aug 2023]
* Fix excessive time spent checking DH q parameter value ([CVE-2023-3817])
* Fix DH_check() excessive time with over sized modulus ([CVE-2023-3446])
* Do not ignore empty associated data entries with AES-SIV ([CVE-2023-2975])
Signed-off-by: Ivan Pavlov <AuthorReflex@gmail.com>
xdp-tools: disable stack protector for BPF programs
When building xdp-tools with CONFIG_USE_LLVM_HOST=y, on a host that
enabled stack protector by default in Clang, compilation fails with the
following error:
CLANG xdp-dispatcher.o
clang-16: error: ignoring '-fstack-protector-strong' option as it is not currently supported for target 'bpfeb' [-Werror,-Woption-ignored]
Add -fno-stack-protector to BPF_CFLAGS to fix this.
Nick Hainke [Thu, 20 Jul 2023 16:32:13 +0000 (18:32 +0200)]
tracecmd: update to v3.2
ChangeLog: 46952ef trace-cmd: Version 3.2 f5871a1 libtracecmd: Version 1.4.0 d498af1 trace-cmd build: Add trace-attach.c to meson build 736df06 trace-cmd: Add initial support for meson e183566 libtracecmd: Add initial support for meson c508713 trace-cmd test: Quiet valgrind from reporting forked children 8ec026f trace-cmd test: Close handle after opening 4c179a6 trace-cmd library: Fix memory leaks of followers aa21520 trace-cmd: Add Makefile target for memory test 925e15f trace-cmd and library: Update the version to the development 4fa31c0 trace-cmd attach: Add new command "attach" 7e721ef trace-cmd library: Add tracecmd_get_tsc2nsec() API 8908555 tracecmd library: Unlock records in tracecmd_iterate_events() 2668b13 trace-cmd agent: Add "IP" to -N argument in help message 22ad81e trace-cmd record: Remove redundant check of instance in allocate_instance() d7ce897 libtracecmd: Free buf_from in error path of tracecmd_compress_copy_from() 6776d7a trace-cmd: Update v7 trace.dat documentation to clarify the strings section 9d6f3ba trace-cmd record/extract: Do not destroy existing instances 9c9d5ed trace-cmd extract: Do not extract top level unless told to 4b92132 libtracecmd: Fix tracecmd_compress_copy_from() write size return f30abfd documentation: trace-cmd-report: Document filter scope 7a390c5 trace-cmd-report: Support global filters 04ad2c6 trace-cmd report: Ensure filter is applied to single input file edf9424 trace-cmd: Open code execvp routine to avoid multiple execve syscalls
Nick Hainke [Thu, 20 Jul 2023 16:29:27 +0000 (18:29 +0200)]
libtracefs: update to 1.7.0
ChangeLog: aebab37 libtracefs: version 1.7 a3237c3 libtracefs: Add initial support for meson b25019f libtarcefs doc: Add tracefs_kprobe_destroy() to index man page 4c2194f libtracefs doc: State that tracefs_dynevent_create() is needed for tracefs_kprobe_alloc() df53d43 libtracefs Documentation: Add missing prototypes in top level man page 9a2df4a libtracefs: Update version to 1.7.dev 18ede68 libtracefs: Add tracefs_kprobe_destory() API 309b1ba libtracefs tests: Add helper function to destroy dynamic events 53dce80 tracefs: Add tracefs_time_conversion() API 5ea4128 libtracefs: Add tracefs_find_cid_pid() API 857dd3e libtracefs/utest: Fix crashing of synth test when synths exist 6332309 libtracefs/utest: Do not use synth for test_synth element 25cd206 libtracefs: Clarify the tracefs_synth_create() man page 6b6d43f libtracefs: Do not allow tracefs_synth_set_instance() on created synth c860f93 libtracefs: Documentation for tracefs_synth_set_instance 0039173 libtracefs: New API to set synthetic event instance e97c311 libtracefs: Do not segfault in tests if synthetic events are not configured 185019c libtracefs: Add tracefs_instance_tracers() API 6775d23 libtracefs: Do not use hwlat tracer and fdb_delete event for tests 5a1a01e libtracefs: Add stacktrace to tracefs_sql() b1b234e libtracefs: Unit test for tracefs_instance_reset() dd620f4 libtracefs: Documentation for tracefs_instance_reset() 789e82d libtracefs: New API to reset ftrace instance
Felix Fietkau [Fri, 26 May 2023 08:23:59 +0000 (10:23 +0200)]
hostapd: add ucode support, use ucode for the main ubus object
This implements vastly improved dynamic configuration reload support.
It can handle configuration changes on individual wifi interfaces, as well
as adding/removing interfaces.
Felix Fietkau [Thu, 16 Mar 2023 10:35:50 +0000 (11:35 +0100)]
hostapd: add experimental radius server
This can be used to run a standalone EAP server that can be used from
other APs. It uses json as user database format and can automatically
handle reload.
Michał Kwiatek [Fri, 28 Jul 2023 13:59:44 +0000 (15:59 +0200)]
ath11k-firmware: update to stable WLAN.HK.2.9.0.1-01862
Changelog from quic:
Bug fixes, stability improvements from previous releases
are present. There are no backward comatibility issues
with this release.
Reviewed-by: Robert Marko <robimarko@gmail.com> Tested-by: Michał Kwiatek <michal@kwiatek.it> # Xiaomi AX3600 Signed-off-by: Michał Kwiatek <michal@kwiatek.it>
Daniel Golle [Mon, 31 Jul 2023 16:46:22 +0000 (17:46 +0100)]
uboot-mediatek: add missing 'memory' nodes to downstream boards
Among the patches adding support for MT7988 also came the switch to
use fdtdec_setup_mem_size_base() and no longer rely on CFG_SYS_SDRAM_BASE.
Take care of our downstream boards which did not have a 'memory' node in
their device trees.
Fixes: 572ea68070 ("uboot-mediatek: add patches for MT7988 and builds for RFB") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Robert Marko [Mon, 31 Jul 2023 10:08:34 +0000 (12:08 +0200)]
qualcommax: ipq807x: fix Gen2 PCIe port
Gen2 PCIe port recently got broken on IPQ807x during update to 6.1.39 as
upstream backported:
("PCI: qcom: Remove PCIE20_ prefix from register definitions") [1]
So, fix it by adding a pending upstream fix for it [2].
Instead of using the hash of the Github-generated tarball use the
hash of the tarball generated by the OpenWrt build system (in this
case they are different, unfortunately).
Reported-by: Chen Minqiang <ptpt52@gmail.com> Fixes: 07dbeb430e ("arm-trusted-firmware-mediatek: update to sources of 2023-07-24") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
rtl8812au-ct: fix even more compilation error with kernel 6.1
Fix more compilation error with kernel 6.1 and make it possible to
compile.
Multiple fix are done due to kernel bump:
- PDE_DATA (now deprecated) to pde_data
- dev_addr now const and require some cast
- prandom_u32 (now deprecated) to get_random_u32
Also other minor fix for always true condition and tasklet type cast not
compatible.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Shiji Yang [Thu, 22 Jun 2023 13:22:32 +0000 (21:22 +0800)]
ramips: mt7621-wdt: use phandle to access system controller registers
These patches allow the driver to access some watchdog registers via a
phandle to the system controller node[1]. To apply these changes, we
need to add "mediatek,sysctl" to the SoC dtsi. This commit also remove
the redundent clocks, interrupts and resets properties.
Shiji Yang [Sat, 17 Jun 2023 11:30:59 +0000 (19:30 +0800)]
ramips: add proper system clock and reset driver support for legacy SoCs
This series of upstream patches properly implement a clock and reset
driver for old ralink SoCs[1]. And it includes some related fixes[2] and
improvements[3][4]. All patches have been merged into linux-next. They
will be part of upcoming Linux 6.5. In order to switch to the new system
controller driver, all clocks and resets properties in SoC dtsi have been
updated, and kernel symbol "CONFIG_CLK_MTMIPS" have been added to the
kernel config files.
Shiji Yang [Sat, 17 Jun 2023 11:30:59 +0000 (19:30 +0800)]
ramips: add proper system clock and reset driver support for mt7621
This series of upstream patches makes the system controller node as a
reset provider[1][2], and it also includes some clock and reset driver
fixes[3][4]. Meanwhile, all clocks and resets properties in the SoC
device tree have been updated to be compatible with the new driver.
Due to some hiccup my local urngd-2023-07-25-7aefb47b.tar.xz ended up
being different from archived one. Repackaging it locally confirmed the
previous hash was incorrect.
Fixes: c74b5e09e692 ("urngd: update to the latest master") Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Shiji Yang [Sat, 29 Jul 2023 13:24:10 +0000 (21:24 +0800)]
ramips: pinctrl: support requesting different functions for same group
MT7620 wireless radio needs change the pin group function between
"gpio" and "pa" during the calibration process. However, ralink
pinctrl driver doesn't support requesting different functions for
the same group. This patch enables pinctrl consumers to perform
such operations.
Shiji Yang [Sat, 29 Jul 2023 13:24:09 +0000 (21:24 +0800)]
mac80211: rework MT7620 PA/LNA RF calibration
This patch makes some improvements to the MT7620 RF calibration.
1. Move MT7620 PA/LNA calibration code to dedicated functions.
2. Restore RF and BBP registers before R-Calibration.
3. Do Rx DCOC calibration again before RXIQ calibration.
4. Use SoC specific AGC initial LNA value.
5. Correct MAC_RX_EN mask in rt2800_r_calibration()[1].
[1] This change may fix the "BBP/RF register access failed" error:
ieee80211 phy0: rt2800_wait_bbp_rf_ready: Error - BBP/RF register access failed, aborting
Daniel Golle [Sat, 22 Jul 2023 14:12:27 +0000 (15:12 +0100)]
arm-trusted-firmware-mediatek: update to sources of 2023-07-24
Use updated Trusted Firmware-A sources from MediaTek, now stacked
on top of the ARM Trusted Firmware-A v2.9 release.
Add builds for the newly added MT7988 SoC.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Oli Ze [Thu, 27 Jul 2023 05:23:12 +0000 (07:23 +0200)]
uboot-mvebu: update to version 2023.07.02
Since 2021.07 multiple bugs were introduced that made it impossible to
create a bootable target for mvebu. Those issues should be now fixed since
2023.07-rc1.
References: #11661 Signed-off-by: Oli Ze <olze@trustserv.de> Reviewed-by: Robert Marko <robimarko@gmail.com> Tested-by: Andre Heider <a.heider@gmail.com> # espressobin-v3-v5-1gb-2cs Signed-off-by: Petr Štetiar <ynezz@true.cz> [facelift]
Karsten Sperling [Thu, 16 Mar 2023 01:17:26 +0000 (14:17 +1300)]
build: make git sub-modules to fetch configurable
Currently the git protocol downloads all submodules of the target
repository. This can be unwieldy for repositories with a lot of submodules
where only a subset are required in the context of the OpenWrt build.
This change adds a PKG_SOURCE_SUBMODULES variable to configure this
behavior. It takes a space-separated list of submodule paths, or the word
"skip" to disable submodule downloads entirely. The default is to download
all submodules, i.e. preserving current behavior.
Petr Štetiar [Fri, 28 Jul 2023 06:20:57 +0000 (08:20 +0200)]
mediatek: filogic: fix broken sysupgrade script
Changes introduced in commit 54dc1cde48a4 ("mediatek: filogic: add
support for Xiaomi WR30U") missed to end the case item with mandatory
`;;` which lead to a broken sysupgrade.
Fixes: 54dc1cde48a4 ("mediatek: filogic: add support for Xiaomi WR30U") Signed-off-by: Petr Štetiar <ynezz@true.cz>
Remove debugging `env` dump left over as build environments might
contain some sensitive information, which then might leak into the build
logs.
Fixes: 2105acbe2804 ("kernel-headers: fix compile error caused by wrong host include path when the toolchain is already built") Signed-off-by: Petr Štetiar <ynezz@true.cz>
Petr Štetiar [Thu, 29 Jun 2023 12:29:02 +0000 (14:29 +0200)]
ipq807x: prpl-haze: fix sysupgrade flashing from bootloader
While flashing sysupgrade image from U-Boot, then the rootfs_data
overlay filesystem formatting is left for the fstools during firstboot,
but that wont work as mkfs.f2fs is missing in the sysupgrade image:
mount_root: overlay filesystem in /dev/loop0 has not been formatted yet
mount_root: no usable overlay filesystem found, using tmpfs overlay
sh: mkfs.f2fs: not found
Filesystem Size Used Available Use% Mounted on
/dev/loop0 139.6M 46.9M 92.6M 34% /overlay
Number Start (sector) End (sector) Size Code Name
20 98850 406349 150.1 MiB FFFF rootfs
So lets fix it by adding f2fs support to the sysupgrade image.
Use these commands blow to backup your stock partitions.
```
nanddump -f /tmp/BL2.bin /dev/mtd1
nanddump -f /tmp/Nvram.bin /dev/mtd2
nanddump -f /tmp/Bdata.bin /dev/mtd3
nanddump -f /tmp/Factory.bin /dev/mtd4
nanddump -f /tmp/FIP.bin /dev/mtd5
nanddump -f /tmp/ubi.bin /dev/mtd8
nanddump -f /tmp/KF.bin /dev/mtd12
```
Then, transfer them to your computer via scp, netcat, tftp
or others and keep them in a safe place.
3. Setup Nvram
Get the current stock: `cat /proc/cmdline`
If you find `firmware=0` or `mtd=ubi`, use these commands:
```
nvram set boot_wait=on
nvram set uart_en=1
nvram set flag_boot_rootfs=1
nvram set flag_last_success=1
nvram set flag_boot_success=1
nvram set flag_try_sys1_failed=0
nvram set flag_try_sys2_failed=0
nvram commit
```
If you find `firmware=1` or `mtd=ubi1`, use these commands:
```
nvram set boot_wait=on
nvram set uart_en=1
nvram set flag_boot_rootfs=0
nvram set flag_last_success=0
nvram set flag_boot_success=1
nvram set flag_try_sys1_failed=0
nvram set flag_try_sys2_failed=0
nvram commit
```
4. Flash stock-initramfs-factory.ubi
If you find `firmware=0` or `mtd=ubi`:
`ubiformat /dev/mtd9 -y -f /tmp/stock-initramfs-factory.ubi`
If you find `firmware=1` or `mtd=ubi1`:
`ubiformat /dev/mtd8 -y -f /tmp/stock-initramfs-factory.ubi`
Then reboot your router, it should boot to the openwrt
initramfs system now.
5. Setup uboot-env
Now it will be setup automatically in upgrade process,
you can skip this step.
If your `fw_setenv` did not work, you need run this command:
`echo "/dev/mtd1 0x0 0x10000 0x20000" > /etc/fw_env.config`
Run following command:
`ubiformat /dev/mtd8 -y -f /tmp/ubootmod-initramfs-factory.ubi`
Then reboot your router, it should boot to the openwrt initramfs
system now.
3. Install kmod-mtd-rw
Run command: `opkg update && opkg install kmod-mtd-rw`
Or get it in openwrt server, or build it yourself, then install
it manually
Then run this command:
`insmod /lib/modules/$(uname -r)/mtd-rw.ko i_want_a_brick=1`
4. Clean up pstore
Run Command: `rm -f /sys/fs/pstore/*`
5. Format ubi and create new ubootenv volume
```
ubidetach -p /dev/mtd8; ubiformat /dev/mtd8 -y; ubiattach -p /dev/mtd8
ubimkvol /dev/ubi0 -n 0 -N ubootenv -s 128KiB
ubimkvol /dev/ubi0 -n 1 -N ubootenv2 -s 128KiB
```
6. Flash ubootmod-squashfs-sysupgrade.itb
Use shell command:
`sysupgrade -n /tmp/ubootmod-squashfs-sysupgrade.itb`
Or go to luci web.
Now everything is done, Enjoy!
Go Back to stock from Openwrt U-Boot:
1. Force flash ubootmod-initramfs-recovery.itb
Use shell command:
`sysupgrade -F -n /tmp/ubootmod-initramfs-recovery.itb`
Or go to luci web.
Then it should boot to the openwrt initramfs system now.
2. Format ubi and Nvram
```
ubidetach -p /dev/mtd8; ubiformat /dev/mtd8 -y; ubiattach -p /dev/mtd8
mtd erase Nvram
```
3. Install kmod-mtd-rw
Run command: `opkg update && opkg install kmod-mtd-rw`
Or get it in openwrt server, or build it yourself, then install
it manually
Then run this command:
`insmod /lib/modules/$(uname -r)/mtd-rw.ko i_want_a_brick=1`
4. Flash stock U-Boot and ubi
```
mtd write /tmp/BL2.bin BL2
mtd write /tmp/FIP.bin FIP
mtd write /tmp/ubi.bin ubi
```
Then reboot your router, waiting it finished rollback in minutes.
Go Back to stock from stock layout Openwrt:
Just run command: `ubiformat /dev/mtd8 -y -f /tmp/ubi.bin`
Then reboot your router, waiting it finished rollback in minutes.
Notes:
1. Openwrt U-Boot and ubootmod openwrt did not enable NMBM.
Please make your backup safe.
procd: improve status reporting for partially running services
The existing implementation incorrectly reported `running` for services
without any instances or with all instances stopped/terminated.
Improve the default implementation of `/etc/init.d/* status` to properly
report services with not running instances. In case a service exists,
but without running instance, the status call will now report
"not running" with exit code 5. In case some instances are running and
some are stopped/terminated, the call will report "running (X/Y)" where
`X` denoted the amount of running instances and `Y` the amount of total
registered ones.
8667347 build: allow passing SOVERSION value for dynamic library
Also adjust packaging of the library to only ship the SOVERSION
suffixed library object, to allow for concurrent installation of
ABI-incompible versions in the future.
At least Fedora and RHEL 9 set RSAMinSize=2048, so when trying to use
failsafe, we get 'Bad server host key: Invalid key length'
To workaround the issue, we can use: ssh -o RSAMinSize=1024 ...
Generating 2048 bits RSA is extremely slow, so add ed25519.
We keep RSA 1024 to be as compatible as possible.
Lu jicong [Mon, 24 Jul 2023 07:22:42 +0000 (15:22 +0800)]
rockchip: add FriendlyARM NanoPC T4 support
Hardware
--------
RockChip RK3399 ARM64 (6 cores)
4GB LPDDR3 RAM
1x 1000 Base-T
1 GPIO LED (status)
HDMI 2.0
3.5mm TRRS AV jack
Micro-SD slot
16GB eMMC
1x USB 3.0 Port
2x USB 2.0 Port
1x USB Type-C Port
1x M.2 PCI-E Port
AP6356S (BCM4356) SDIO WiFi & Bluetooth adapter
--------
Note: AP6356S is not supported yet due to the lack of firmware and NVRAM