1
1
Commit Graph

69212 Commits

Author SHA1 Message Date
John Crispin
5526366fea unetd: cli: convey network name from inviter to joiner
The unet CLI's join handler used the joiner's --network value as the
local network name, so an unspecified --network fell back to the
literal 'unet'. The inviter typically uses a different name (e.g.
ucoord_<venue>), so the two sides ended up keyed differently and any
upper layer subscribing to the network-named unetmsg channel never
saw each other.

The inviter now passes enroll_info={ network } to enroll_start so
the inviter's network name rides along in enroll_meta. The joiner
prefers data.enroll_meta?.network when present, falling back to its
own --network value for backwards compatibility with older inviters.

Signed-off-by: John Crispin <john@phrozen.org>
2026-06-03 11:19:06 +00:00
Felix Fietkau
4b7d5538bc procd: update to Git HEAD (2026-05-22)
ac5cc72f6cfa jail: mount ucode related bits into netifd jail
81119d3f249d instance: disable console logging
8013c0cd2755 jail: mount tools used by dhcp.sh in the netifd jail
876981d0516d jail: fix reading the oci device gid value
c92dbcd460d7 jail: make /dev/tty accessible by others
74bfbee8adb8 service: fix calloc_a argument

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-06-03 11:18:29 +00:00
Felix Fietkau
76e6216c8a ucode: update to Git HEAD (2026-06-03)
1ac496a91a30 math: min and max
4c917958038d math: clamp
c6404b6af75c math: sign functions
597b17d0edea math: copysign
9747c8bbfa27 math: floor
933b11802060 math: ceil
46581cf13149 math: round
4aee92d5aa89 math: trunc
c8f71433a3d6 math: log functions
840aa6e61196 math: Infinity handling note
990558c2a027 math: isinf
c3e76e45fdad math: tan
08c6ef98fa2f math: acos, asin, atan
21a0f37d4c7c math: cosh, sinh, tanh
28ec6e4466b5 math: cbrt, hypot
fb2fc094875c math: expm1, log1p
1a911dbc72b0 math: jsdoc fixes
7b3b15dc7d25 math: add double/int output toggle flag to floor/ceil/round/trunc
7424c3bd14e0 make: improve make (install) on macOS
965d76557dee types: release previous prototype reference in ucv_prototype_set
b702323ec137 uloop: unregister task output fd from uloop before closing it
106b1179765a uloop: clear resource values when releasing callback resources
acc70db934fc ubus: clear resource values when releasing connection/object resources
9d7ade9e4c68 ubus: prevent UAF when channel disconnect_cb triggers re-entrant disconnect

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-06-03 13:13:17 +02:00
Kenneth Kasilag
603c95f30b
airoha: enable 6.18 testing kernel
Add building the 6.18 kernel for airoha as testing.

Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
Link: https://github.com/openwrt/openwrt/pull/21019
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-03 09:06:35 +02:00
Kenneth Kasilag
8f21d26411
airoha: 6.18: refresh patches
Refreshed automatically with `make target/linux/refresh V=s`.

Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
Link: https://github.com/openwrt/openwrt/pull/21019
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-03 09:06:34 +02:00
Kenneth Kasilag
ecabaa534e
airoha: an7581: 6.18: switch to kmod-phy-realtek for w1700k
Use the new kmod-phy-realtek driver for kernel 6.18 on
Gemtek W1700K.

The driver selection is gated using `KERNEL_PATCHVER` to
avoid build failures on 6.12.

The device tree selection is also gated by `KERNEL_PATCHVER`
to select the appropriate device tree per kernel version.

Once kernel 6.18 is tested stable for airoha these changes
can be simplified and the obsolete properties removed.

Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
Link: https://github.com/openwrt/openwrt/pull/21019
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-03 09:06:34 +02:00
Kenneth Kasilag
8e629c4372
airoha: en7523: tag version for upstreamed patch
Patch `600-12-clk-en7523-Add-reset-controller-support-for-EN7523-S.patch`
was accepted in 6.19-rc1 (1c0608d860db973ad09b5a9ccb19b76ae07622a3).

Properly tag the patch for future reference.

Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
Link: https://github.com/openwrt/openwrt/pull/21019
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-03 09:06:34 +02:00
Kenneth Kasilag
32f8390975
airoha: cpufreq: fix function signature
Between the upgrade from 6.12 to 6.18, the airoha-cpufreq driver
now has a `-Wincompatible-pointer-types` error while building due
to the `802-OPP-Provide-old-opp-to-config_clks-on-_set_opp` patch.

This patch revises the driver with the proper signature.

Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
Link: https://github.com/openwrt/openwrt/pull/21019
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-03 09:06:34 +02:00
Kenneth Kasilag
298db2f5a7
airoha: fix PERST deassert in PCIe driver
Due to hardware bugs, the PCIE Gen3 IP in Airoha AN7581 requires a
special reset procedure:
> MAC reset asserted thru the SCU block
> PERST asserted thru the SCU for the desired PCIE lane
> PHY initialization runs, clocks enabled
> MAC reset deasserted
> EQ config (if needed) written
> PERST deasserted

The existing code currently toggles PERST for all three PCIE
ports every time mtk_pcie_en7581_power_up is called, resulting
in PCIE link down issues.

This issue was discovered during porting of the 6.18 kernel to
AN7581. It is not entirely clear how the hardware seemed to
function under kernel 6.12 with similar driver code, it is
presumed that differences in assert/deassert times for PERST in
6.18 changed which exposed the bug.

Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
Link: https://github.com/openwrt/openwrt/pull/21019
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-03 09:06:33 +02:00
Kenneth Kasilag
41207cd72e
airoha: update patches for 6.18
Fix patch compatibility for kernel 6.18 on airoha.

Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
Link: https://github.com/openwrt/openwrt/pull/21019
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-03 09:06:33 +02:00
Kenneth Kasilag
2f8c360a67
airoha: remove upstreamed patches for 6.18
Remove all patches that have already been upstreamed for kernel 6.18.

Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
Link: https://github.com/openwrt/openwrt/pull/21019
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-03 09:06:33 +02:00
Kenneth Kasilag
40f6298d06
airoha: update config for 6.18
Update the kernel configuration in for kernel 6.18.

Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
Link: https://github.com/openwrt/openwrt/pull/21019
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-03 09:06:32 +02:00
Kenneth Kasilag
b0687062bd
kernel/airoha: restore files for v6.12
This is an automatically generated commit which aids following Kernel patch
history, as git will see the move and copy as a rename thus defeating the
purpose.

For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html

Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
Link: https://github.com/openwrt/openwrt/pull/21019
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-03 09:06:32 +02:00
Kenneth Kasilag
e89e9c412f
kernel/airoha: create files for v6.18 (from v6.12)
This is an automatically generated commit.

When doing `git bisect`, consider `git bisect --skip`.

Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
Link: https://github.com/openwrt/openwrt/pull/21019
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-03 09:06:32 +02:00
Kenneth Kasilag
57c0c34b68
generic: add missing config symbols for 6.18
During configuration of airoha for 6.18 it was noted that there
were additional missing symbols from the generic config.

Update the missing symbols accordingly.

Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
Link: https://github.com/openwrt/openwrt/pull/21019
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-03 09:06:31 +02:00
Anna Kiri
2b4e46345f
mtd: imagetag: remove unused imagestart variable
The imagestart variable was assigned sizeof(tag) (which incorrectly
computed the pointer size rather than the struct size), but was never
actually read after the assignment in either trx_fixup() or
mtd_fixtrx(). The CRC calculations that follow use
offsetof(struct bcm_tag, header_crc) directly.

Remove the dead variable and its assignments entirely rather than fixing
the sizeof expression. No functional change.

Signed-off-by: Anna Kiri <bredcorn@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23546
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-02 21:32:27 +02:00
Shiji Yang
d0520b880d
kernel: bump 6.12 to 6.12.92
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.92

Remove upstreamed patches:
- generic/backport-6.12/216-01-revert-perf-cgroup-update-metric-leader-in-evlist__e.patch[1]
- generic/backport-6.12/216-02-revert-perf-tool_pmu-fix-aggregation-on-duration_tim.patch[2]
- generic/backport-6.12/216-03-revert-perf-python-add-parse_events-function.patch[3]
- generic/backport-6.12/216-04-revert-perf-tool_pmu-factor-tool-events-into-their-o.patch[4]
- ath79/patches-6.12/301-irqchip-irq-ath79-cpu-drop-OF-init-helper.patch[5]

All other patches are automatically refreshed.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.92&id=546fc0fe44797e07dfb17898e019e0b543628f53
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.92&id=9fdca4c4d7eb942e83c81ef0e097303730ef72a6
[3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.92&id=94fc25a1f82aeaf7777478234ad38d90adb9d94f
[4] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.92&id=709575a6ab20da63b2183ec4ac89a8e284ddbc1d
[5] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.92&id=c6211c8832d542d93f4e030e6e6f79c45b219e13
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/23621
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-02 21:15:21 +02:00
John Audia
94f3f9a845
kernel: bump 6.18 to 6.18.34
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.18.34

Removed upstreamed:
  backport-6.18/627-v7.1-net-pse-pd-fix-sign-on-ENOENT-check-in-of_load_pse_p.patch[1]
  ath79/patches-6.18/301-irqchip-irq-ath79-cpu-drop-OF-init-helper.patch[2]
  ipq40xx/patches-6.18/708-pinctrl-qcom-ipq4019-mark-gpio-as-a-GPIO-pin-function.patch[3]

All other patches automatically rebased via update_kernel.sh

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.34&id=dac025c4e8f9c5cf9467eeac8be4639469aa5ac5
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.34&id=617a2564d8634c06d19097dc0f89bd3a72bcb1b4
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.34&id=00aca89f5e3453b30b73e31aa31099b1433f8370

Build system: x86/64
Build-tested: x86/64-glibc
Run-tested: x86/64-glibc

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/23618
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-02 21:14:04 +02:00
Seo Suchan
fe04581880
busybox: update to 1.38.0
changelog:
https://busybox.net/news.html
remove upstreamed patches:
001-fix-non-x86-build.patch
002-upstream-fix.hexdump.patch
003-hexdump-fix-regression-for-unit16-on-big-endian-systems.patch

see https://github.com/openwrt/openwrt/pull/17107 for updating config

Config refresh:

Refresh commands, run after busybox is first built once, slash or lack of slash at end of path matters!:

cd package/utils/busybox/config/
../convert_menuconfig.pl ../../../../build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/busybox-default/busybox-1.38.0
cd ..
./convert_defaults.pl ../../../build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/busybox-default/busybox-1.38.0/.config > Config-defaults.in

Manual edits needed after config refresh:

* Config-defaults.in: OpenWrt config symbol IPV6 logic applied to
  BUSYBOX_DEFAULT_FEATURE_IPV6

* Config-defaults.in: OpenWrt config TARGET_bcm53xx logic applied to
  BUSYBOX_DEFAULT_TRUNCATE (commit 547f1ec)

* Config-defaults.in: OpenWrt logic applied to
  BUSYBOX_DEFAULT_LOGIN_SESSION_AS_CHILD (commit dc92917)

* Config-defaults.in: correct the default ports that get reset
  BUSYBOX_DEFAULT_FEATURE_HTTPD_PORT_DEFAULT    80
  BUSYBOX_DEFAULT_FEATURE_TELNETD_PORT_DEFAULT  23

* config/editors/Config.in: Add USE_GLIBC dependency to
  BUSYBOX_CONFIG_FEATURE_VI_REGEX_SEARCH (commit f141090)

* config/shell/Config.in: change at "Options common to all shells" the conditional symbol
  SHELL_ASH --> BUSYBOX_CONFIG_SHELL_ASH
  (discussion in http://lists.openwrt.org/pipermail/openwrt-devel/2021-January/033140.html
  Apparently our script does not see the hidden option while
  prepending config options with "BUSYBOX_CONFIG_" which leads to a
  missed dependency when the options are later evaluated.)

* Edit a few Config.in files by adding quotes to sourced items in
  config/Config.in, config/networking/Config.in and config/util-linux/Config.in (commit 1da014f)

Signed-off-by: Seo Suchan <tjtncks@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23609
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-02 20:43:53 +02:00
Marek Behún
2f93ba1b5b omnia-mcutool: Bump version to 0.3-rc4
Bump version to 0.3-rc4, which fixes building with C23.

Signed-off-by: Marek Behún <kabel@kernel.org>
Link: https://github.com/openwrt/openwrt/pull/23620
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-06-02 13:37:37 +02:00
Paul Spooren
e36c2946b7 build: derive PKG_SOURCE_DATE_EPOCH from the unpacked source tree
Previously PKG_SOURCE_DATE_EPOCH came from a git log on the OpenWrt
package directory. That fails in shallow feed clones and in the SDK
(no .git), collapsing to the script's mtime and breaking .apk
reproducibility across SDK rebuilds and between buildbot and SDK.

With this comment, PKG_UNPACK generates a version.date file, later used to
determine a reproducible SOURCE_DATE_EPOCH. Since unpack happens after
download, the evaluation of SOURCE_DATE_EPOCH is now lazy, invoking the
`get_source_date_epoch.sh` script on every use.

While at it, drop export of PKG_SOURCE_DATE_EPOCH and clean it from the
ipkg-build script.

Link: https://github.com/openwrt/openwrt/issues/21579
Link: https://github.com/openwrt/openwrt/pull/21587

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Link: https://github.com/openwrt/openwrt/pull/23576
Signed-off-by: Paul Spooren <mail@aparcar.org>
2026-06-02 11:51:00 +02:00
Rustam Adilov
d93c6d9a49 realtek: clk: change to __raw reads and writes
The clk driver uses the ioread32 and iowrite32 for register access to
switchcore and SoC bases. This works but if at some point the target
wants to enable CONFIG_SWAP_IO_SPACE, the register access breaks as
ioread32/iowrite32 would be operating in little endian as opposed
to the intended native endian.

Fix it by replacing the ioread32/iowrite32 used in register access macros
to a __raw variant which aligns with what upstream use for native endian
access to registers.

Signed-off-by: Rustam Adilov <adilov@tutamail.com>
Link: https://github.com/openwrt/openwrt/pull/23206
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
2026-06-01 19:17:58 +02:00
Rustam Adilov
a03e379f5a realtek: arch: rtl-otto: change to __raw reads and writes
The realtek target uses the readl and writel for register access to
switchcore and SoC bases. This works but if at some point the target
wants to enable CONFIG_SWAP_IO_SPACE, the register access breaks as
readl/writel would be operating in little endian as opposed to native.

Fix it by replacing the readl/writel used in register access macros to
a __raw variant which aligns with what upstream use for native endian
access to registers.

Signed-off-by: Rustam Adilov <adilov@tutamail.com>
Link: https://github.com/openwrt/openwrt/pull/23206
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
2026-06-01 19:17:58 +02:00
Markus Stockhausen
82ddc472d7 realtek: dts: convert to upstream switch notation
There is currently a difference how upstream and downstream define
the switch in the dts. Downstream holds the switch as a member
node below a root switchcore parent. Upstream uses the switch as
the parent.

Upstream:

  ethernet-switch@1b000000 {
    mdio-controller@ca00 { };
    ethernet { };
    ethernet-ports { };
  }

Downstream:

  switchcore@1b000000 {
    ethernet-switch {
      ethernet-ports { };
    };
    mdio-controller@ca00 { };
    ethernet { };
  }

Align downstream to upstream and merge the ethernet-switch into
the parent node. For this to work adapt the port lookup in the MDIO
and PCS driver.

Remark! With this commit the boot process will give the spurious
error message "rtl838x_eth 1b000000.ethernet-switch:ethernet eth0:
Failed to create a device link to DSA switch 1b000000.ethernet-switch"
This comes from the fact that the switch is the parent of the ethernet
device. Thus a link back from ethernet device to the switch is no
longer possible. Testing shows that the error is just cosmetic.

Link: https://github.com/openwrt/openwrt/pull/23599
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
2026-06-01 19:15:51 +02:00
Martin Schiller
07a5e432c8 imx: add support for Kontron OSM-S/BL i.MX8MP
This adds support for the Kontron i.MX8MP OSM-S size system-on-module +
eval board.

CPU:      NXP i.MX8MP @ 1600MHz (quad-core A53)
Memory:   4 (up to 8) GByte LPDDR4-RAM
Storage:  32 (up to 128) GByte eMMC + microSD slot
Ethernet: 2x 1 Gbit/s IEEE (1x with TSN)
UART:     1x UART console output on the Mini-B USB Debug Port
          (signals are really UART on this Mini-B USB port!!!, there is
          an adapter with ftdi available from Kontron)
          1x RS232, 1x RS485
USB:	  2x USB 2.0 Type-A, 1x USB 3.0 Type-C DRP
Misc:	  8 (up to 128) kByte EEPROM (at24), RTC, 2x CAN, HDMI, 1x PCIe

This will create an SD card image for the board.
To use this image you have to bring the board to the recovery boot mode
(normal boot mode is eMMC). At the time of writing, the SoM (or the SoC)
has a bug that the FORCE_RECOVERY signal (switch S1 on the eval board)
doesn't work as long as the eMMC boot0 partition contains data.
Therefore you have to wipe this boot0 partition to be able to boot from
SD card. To do this call the following commands at uboot:

mmc dev 0 1
mmc erase 0 0x2000

After that, the system will try to boot from SD card.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
2026-06-01 17:49:36 +02:00
Martin Schiller
a35efecca8 kernel/modules: add RV3028 I2C RTC kernel module support
Add support for the Micro Crystal RV3028 I2C real-time clock chip.

Tested on a Kontron OSM-S/BL i.MX8MP eval board.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
2026-06-01 17:49:36 +02:00
Martin Schiller
1076584bc3 uboot-imx: add support for Kontron OSM-S/BL i.MX8MP
Add mainline U-Boot flavour for Kontron OSM-S/BL i.MX8MP board.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
2026-06-01 17:49:36 +02:00
Martin Schiller
23cd613f40 arm-trusted-firmware-imx: add new package
Build ATF images for i.MX8MP. Tested on Kontron OSM-S/BL i.MX8MP.

The default IMX_BOOT_UART_BASE for imx8mp platforms is 0x30890000, which
would be UART2. The Kontron board however uses UART3 as serial debug
console. As a result, after loading BL31 the system hangs.

Setting IMX_BOOT_UART_BASE=auto will fix it.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
2026-06-01 17:49:36 +02:00
Martin Schiller
36d567b9ef firmware-imx: add package for NXP i.MX8 DDR/HDMI firmware files
This package will install the DDR/HDMI firmwares for i.MX8.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
2026-06-01 17:49:36 +02:00
Martin Schiller
158651a6d7 uboot-imx: bump to 2026.04 release
This version bump is in preparation for support of new targets.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
2026-06-01 17:49:36 +02:00
Rosen Penev
805098d8b6
gpio-button-hotplug: avoid a const cast
Introduce a variable inside probe to avoid having to cast const away.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22619
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-01 09:34:39 +02:00
Jonas Jelonek
80a44d6a52
realtek: pcs: reject SerDes modes unsupported by the instance
Add a per-SerDes supported_modes bitmap, filled at probe by each
variant from the SerDes id or type, and reject unsupported modes in
determine_hw_mode() via test_bit().

This replaces the rtl838x is_hw_mode_supported() switch and adds the
same gating to rtl839x/rtl93xx, which previously relied only on the
per-variant mode-value table. Unlike that table, the bitmap is per
SerDes instance, so it also rejects modes the table can encode but that
a given SerDes cannot actually use. Rejection uses the uapi -EOPNOTSUPP
instead of the internal -ENOTSUPP.

Link: https://github.com/openwrt/openwrt/pull/23608
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-01 09:17:15 +02:00
Jonas Jelonek
e74d236e07
realtek: pcs: drop dead SerDes modes
SerDes modes HISGMII and QHSGMII are practically dead but were added/kept
for documentation purposes. However, these modes will likely never be
used and we have other documentation than in the code. Drop them to
reduce the modes to what we actually use.

Link: https://github.com/openwrt/openwrt/pull/23608
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-01 09:17:15 +02:00
Han Sol Jin
f13150d12f
mediatek: mt7622: enable CONFIG_MTD_VIRT_CONCAT
Some devices have a ton of unused space found in other partitions that
can be used to expand rootfs_data.

In particular, the D-Link DIR-X3260 device can squeeze another ~24MiB
from its backup partition, with a few tricks, allowing for ~48MiB of
usable space rather than ~24MiB by itself.

As of v25.12.1, with the official release build config, this gives us
~35MiB of rootfs_data, where without it there would only be ~11MiB.

Enable this config to allow this function.

Signed-off-by: Han Sol Jin <jhs@jinhansol.com>
Link: https://github.com/openwrt/openwrt/pull/22555
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-01 00:32:38 +02:00
Anna Kiri
df26b8723a
mtd: jffs2: add missing malloc NULL check
In mtd_replace_jffs2(), the return value of malloc(erasesize) is never
checked. If the allocation fails, buf remains NULL and the subsequent
memcpy(buf + ofs, ...) in add_data() will dereference NULL, causing a
segfault.

Add a NULL check and return -1 on allocation failure. Match the
diagnostic message used by the sibling mtd_write_jffs2() so the
out-of-memory cause is visible at the call site.

Signed-off-by: Anna Kiri <bredcorn@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23553
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-05-31 23:57:14 +02:00
John Audia
e13430ef1d
toolchain: glibc: Update to HEAD from release/2.43/master
% git log --oneline f762cc..4070d80
4070d808bea1 sdio-common: Fix buffer overflow in scanf %mc [BZ #34008]
2890b35cd361 libio: Fix ungetwc operating on byte stream [BZ #33998]
e9517114acc7 abilist.awk: Handle weak unversioned defined symbols
1634cc11a5a5 Linux: Only define OPEN_TREE_* macros in <sys/mount.h> if undefined (bug 33921)
d1d8d27164e9 include: isolate __O_CLOEXEC flag for sys/mount.h and fcntl.h
8362e8ce10b2 Use pending character state in IBM1390, IBM1399 character sets (CVE-2026-4046)
ce1013a197eb tests: fix tst-rseq with Linux 7.0
60cabd0464c6 riscv: Resolve calls to memcpy using memcpy-generic in early startup
02ffd413cf83 elf: Use dl-symbol-redir-ifunc.h instead _dl_strlen
26953143787b elf: parse /proc/self/maps as the last resort to find the gap for tst-link-map-contiguous-ldso
dd9945c0ba40 resolv: Check hostname for validity (CVE-2026-4438)
5c6fca0c62ce resolv: Count records correctly (CVE-2026-4437)
2be6cf2e75d0 posix: Run tst-wordexp-reuse-mem test
305ce0b58809 aarch64: Tests for locking GCS
2ee41ba6ecd3 aarch64: Lock GCS status at startup
fa4a40c7d497 tests: aarch64: fix makefile dependencies for dlopen tests for BTI
9898ea58b538 malloc: Avoid accessing /sys/kernel/mm files
c3ceb93dc4f6 Add BZ 33904 entry to NEWS
911bd469f80c debug: Fix build with --enable-fortify-source=1 (BZ 33904)
48f5a05a7a1e nss: Missing checks in __nss_configure_lookup, __nss_database_get (bug 28940)
d6cb7ce0e98b Linux: In getlogin_r, use utmp fallback only for specific errors
140c760d711d nss: Introduce dedicated struct nss_database_for_fork type
856c426a7534 Don't include <bits/openat2.h> directly (bug 33848)
144ba302089c po: Incorporate translatins (nl updated, ar new)
022abaeacbc8 Fix ldbl-128ibm ceill, floorl, roundl and truncl zero-sign handling
45b58d6bd185 NEWS: add new section 2.43.1
f02515d8a696 Replace advisories directory with file ADVISORIES

Build system: x86/64
Build-tested: x86/64-glibc
Run-tested: x86/64-glibc

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/23467
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-05-31 23:48:19 +02:00
Daniel Golle
0f381e2fc5 linux-firmware: fix mediatek 2.5G PHY firmware dependency
Fixes: bf0825a2d0 ("mediatek: build driver for built-in 2.5GE PHY as module")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-05-31 20:14:45 +01:00
Jonas Jelonek
ed2a36afae
realtek: fix macro usage in F1100W-4SX-4XGT DTSI
A recent target-wide change missed the DTSI for a few devices causing a
build issue for RTL930x. Fix that.

Fixes: 43562f97e7 ("realtek: dts: add link index cell to pcs-handle phandles")
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-05-31 12:51:56 +00:00
Manuel Stocker
267886991a realtek: mdio: skip over ethernet-phy-package nodes
When we look up the PHY for each switch port, we traverse to the parent
node to find the corresponding MDIO bus. This approach breaks down
when an explicit ethernet-phy-package is used to bundle multiple
PHYs in the same chip.

Signed-off-by: Manuel Stocker <mensi@mensi.ch>
Link: https://github.com/openwrt/openwrt/pull/23591
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
2026-05-31 13:07:38 +02:00
Jonas Jelonek
ee6e8c88dc
realtek: dsa,pcs: drop rtpcs_create
Drop the shared rtpcs_create function and references in both drivers
since that is now done via the fwnode PCS provider framework.

Link: https://github.com/openwrt/openwrt/pull/23539
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-05-31 12:52:41 +02:00
Jonas Jelonek
a4965dbf48
realtek: migrate PCS to fwnode_pcs provider/consumer API
PCS driver registers each SerDes as an fwnode_pcs provider in probe;
the resolver returns the cached or freshly-allocated rtpcs_link for
the requested (sds, link_idx) cell. DSA glue stops calling
rtpcs_create directly, drops .mac_select_pcs, and instead populates
phylink_config.num_available_pcs / fill_available_pcs from each
port's pcs-handle in phylink_get_caps. The rtl838x_port.pcs pointer
becomes a has_pcs bool populated at port probe via fwnode_property_
present, since nothing assigns the actual phylink_pcs anymore but the
"does this port use a PCS?" checks elsewhere still need a presence
flag.

Without .mac_select_pcs, phylink_major_config only searches the
pcs_list when state->interface is set in phylink_config.pcs_interfaces
(drivers/net/phy/phylink.c:1378). Populate it per port whenever the
port has a pcs-handle, listing the SerDes-routable interface modes for
each SoC variant -- without this, pcs_config / pcs_link_up are never
called and the SerDes is left unconfigured.

pcs_get_state still needs the MAC port number to index per-port link
status registers. Recover it at probe via rtpcs_map_links: walk the
sibling switch's ethernet-ports subtree (same backwards topology
lookup the sibling MDIO driver does for phy-handle), and for every
port whose pcs-handle resolves to one of our SerDes, store the port's
reg in sds->link_port[]. The resolver consults link_port[] when
allocating rtpcs_link and fails with -ENODEV if a consumer requested
a link the map step didn't record. Avoids a driver-side port_base
table that would have to encode per-SoC SerDes-to-port wiring (and
would silently break on non-contiguous variants); the DT is the
single source of truth.

Kconfig selects FWNODE_PCS.

Assisted-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Link: https://github.com/openwrt/openwrt/pull/23539
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-05-31 12:52:41 +02:00
Jonas Jelonek
c4f5c34fa4
realtek: pcs: add per-link port storage to rtpcs_serdes
Add an s16 link_port[] array to struct rtpcs_serdes, initialised to
-1 in probe. This is preparatory storage for the port number that
each link serves; it will be populated in the follow-up fwnode_pcs
migration commit by scanning consumer DT nodes for their reg, and
consumed by the resolver when allocating rtpcs_link.

Assisted-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Link: https://github.com/openwrt/openwrt/pull/23539
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-05-31 12:52:41 +02:00
Jonas Jelonek
dbd9a35bf3
realtek: pcs: index links per SerDes via pcs-handle cell
Move the rtpcs_link pointer array from rtpcs_ctrl (keyed by global
DSA port) into rtpcs_serdes (keyed by the per-SerDes link index).
This matches how the hardware is structured -- a SerDes hosts up to
RTPCS_MAX_LINKS_PER_SDS PCS links -- and aligns the in-driver
addressing with the cell the DTSes just gained on pcs-handle, so the
upcoming fwnode_pcs resolver becomes a direct sds->link[cell] lookup.

rtpcs_create() takes a new link_idx parameter and stores into
sds->link[link_idx] instead of ctrl->link[port]; the DSA glue switches
its phandle lookup to of_parse_phandle_with_args() and forwards the
cell. The port number stays on rtpcs_link for legacy callers that
still need it. Bounds and double-bind checks (-EINVAL, -EBUSY) guard
against malformed DT references that would otherwise OOB or silently
overwrite an existing link.

Drops RTPCS_PORT_CNT, whose only user was the relocated array, and
fixes a pre-existing of_node_put leak on the pcs-handle phandle in
the DSA glue as a side effect of the parse-with-args conversion.

Link: https://github.com/openwrt/openwrt/pull/23539
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-05-31 12:52:40 +02:00
Jonas Jelonek
43562f97e7
realtek: dts: add link index cell to pcs-handle phandles
A SerDes can host multiple PCS links: QSGMII binds four ports to one
SerDes, USXGMII variants up to eight. Today pcs-handle references the
SerDes as a whole, with no way to express which link inside the SerDes
a port wants. The driver gets away with this because it carries its own
port->link bookkeeping and the link slot is implicit in DSA's port
iteration order -- functional, but the wiring information lives nowhere
in DT.

The upcoming fwnode_pcs migration moves PCS lookup to the generic
fwnode provider API, which disambiguates multiple instances per fwnode
via phandle cells. To make that landable as small, code-only commits,
the DT needs to carry the link index ahead of time.

Bump #pcs-cells from 0 to 1 on every SerDes node in the four SoC DTSIs
and append the link cell to every pcs-handle reference across boards
and the SWITCH_PORT_* macros. Cell values match the existing wiring:
0 for single-link SerDes (10GBase-R, SGMII, fiber, single-link
USXGMII), 0..3 per SerDes for QSGMII and USXGMII-QX, 0..7 for the
RTL9311 octal USXGMII layout.

No code reads the new cell yet -- of_parse_phandle_with_args() in the
PCS driver already cooperates with cells = 0 or 1, and the DSA glue
uses of_parse_phandle() which ignores cells entirely. The change is
runtime-neutral on its own; it exists so the follow-up code patches
can be a few lines each instead of dragging a bridge counter into the
driver to invent slot numbers DT could have provided directly.

Link: https://github.com/openwrt/openwrt/pull/23539
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-05-31 12:52:40 +02:00
Jonas Jelonek
b3faefcc32
realtek: pcs: store SerDes fwnode instead of device_node
Switch rtpcs_serdes from struct device_node * to struct fwnode_handle *
in preparation for fwnode_pcs_add_provider, which keys providers by
fwnode. Storing the fwnode directly avoids of_fwnode_handle() wrappers
at every API boundary.

The conversion is mechanical: of_node_get/put become fwnode_handle_get/
put (same refcount on OF-backed fwnodes), polarity helpers drop their
of_fwnode_handle() wrapping, and the link counter compares fwnodes
directly via of_fwnode_handle(arg_np). No behavior change.

Link: https://github.com/openwrt/openwrt/pull/23539
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-05-31 12:52:39 +02:00
Lorenzo Bianconi
58ce7f3699
airoha: Fix max RX size configuration
Set max RX size configuration (AIROHA_MAX_RX_SIZE) to 0x3f00.

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Link: https://github.com/openwrt/openwrt/pull/23585
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-05-31 12:12:49 +02:00
Carlo Szelinsky
d048137e85 realtek: add Hasivo MCU watchdog driver
Add a watchdog driver for the external management MCU on Hasivo /
Horaco network switches, reachable over I2C. Without periodic
keepalive the MCU resets the board every ~3 minutes.

The driver arms the MCU at probe and registers a struct
watchdog_device with WDOG_HW_RUNNING so the watchdog core feeds the
chip via a kernel timer until userspace opens the watchdog node.
Timeout is fixed at 15s; the hardware threshold is baked into MCU
firmware and is not software-configurable.

The I2C address is supplied per-board in the device tree via the
`reg` property. The driver does not constrain or probe a specific
address. Known addresses across current Hasivo / Horaco silicon:

  - 0x6F: Hasivo S1300WP-8XGT-4S+, Hasivo F5800W-12S+,
          Horaco ZX-SW82TS-L2P (default / most common)
  - 0x6E: alternate Hasivo / Horaco variant

The driver, its device-tree binding and the Kconfig/Makefile wiring
are added to the kernel tree as a realtek target patch and exposed as
the kmod-hasivo-mcu-wdt KernelPackage. Keeping the binding in the
kernel tree lets dt_binding_check exercise it during the build and
makes the whole driver easy to drop once it lands upstream.

Tested on Hasivo S1300WP-8XGT-4S+ (RTL9313). Unbinding the driver
causes the MCU to power-cycle the board within ~15s.

Signed-off-by: Carlo Szelinsky <github@szelinsky.de>
Link: https://github.com/openwrt/openwrt/pull/23418
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
2026-05-31 10:57:26 +02:00
Jonas Jelonek
c9406df918
realtek: fix SFP support on Plasma Cloud ESX28/PSX28
Like other RTL931x devices, the Plasma Cloud ESX28 and PSX28 also have
inverted polarity on the SerDes which drive the SFP ports. Commonly,
those always seem to have inverted TX polarity. This was missing from
when the devices were added at which time SFP on RTL931x wasn't working
at all yet. Add the polarity to the DTS now.

Verified on Plasma Cloud PSX28.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-05-30 21:00:12 +00:00
Shiji Yang
aa96b3ad55
tools/fakeroot: update to 1.38.1
Changelog:
https://salsa.debian.org/clint/fakeroot/-/blob/debian/1.38.1-1/debian/changelog?ref_type=tags

Remove upstreamed patches:
- 400-alpine-libc.musl-fix.patch[1]
- 600-macOS.patch[2][3]

[1] 0b79007b7d
[2] 6fc4f9d8b1
[3] 6bce2e7837
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/23577
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-05-30 11:20:25 +02:00
Aleksander Jan Bajkowski
6b579482db
airoha: disable unused crypto algorithms
Disable unused crypto algorithms. If needed, install required packages.

Suggested-by: Qingfang Deng <dqfext@gmail.com>
Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/23536
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-05-30 11:15:04 +02:00