aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic
Commit message (Collapse)AuthorAgeFilesLines
* generic: add support for MediaTek NETSYS v3Daniel Golle2023-05-247-0/+3212
| | | | | | | | In order to support Ethernet on the MT7988 SoC add support for NETSYS v3 as well as new paths and USXGMII SerDes to the mtk_eth_soc driver. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 6983a215d9d1966f95bc5b1c0045c200948b2079)
* kernel: enable (ARM|ARM64)_MODULE_PLTS in generic configTony Ambardar2023-05-241-2/+2
| | | | | | | | | | | | | | | | | | | | | This allows loading modules with large memory requirements, recently needed while testing on armvirt/32. Past forum discussions [1] and bug reports [2] also raised this and the ipq806x target already set it in response [3]. Given this increases kernel image size by only ~1KB, is generally useful on multi-platform kernels, and enabled by default on upstream arm32 Linux, add it to the generic config. The setting has similar utility on arm64, is a requirement for KASLR, and already enabled on most OpenWrt aarch64 targets, so pull this into the top-level generic config. [1]: https://forum.openwrt.org/t/vmap-allocation-for-size-442368-failed-use-vmalloc-size-to-increase-size/34545/7 [2]: https://github.com/openwrt/openwrt/issues/8282 [3]: f81e148eb6 ("ipq806x: update 4.19 kernel config"). Signed-off-by: Tony Ambardar <itugrok@yahoo.com> (cherry picked from commit c2d194a34eb1a62a610f0437287db6c3eca64d5a) Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* kernel: remove obsolete kernel version switchesAleksander Jan Bajkowski2023-05-203-26/+0
| | | | | | | This removes unneeded kernel version switches from the targets after kernel 5.10 has been dropped. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
* kernel: net: add support for kernel tlsTiago Gaspar2023-05-201-0/+2
| | | | | | | | | | Add ktls (Kernel TLS) kmods to enable TLS support in kernel (allowing TLS offload when the network card supports it) Signed-off-by: Tiago Gaspar <tiagogaspar8@gmail.com> (added disabled symbols) Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* kernel: bump 5.15 to 5.15.112John Audia2023-05-185-14/+14
| | | | | | | | | | | | | | | Manually adjusted before running quilt due to new location in tree: backport-5.15/780-v5.16-bus-mhi-pci_generic-Introduce-Sierra-EM919X-support.patch backport-5.15/781-v6.1-bus-mhi-host-always-print-detected-modem-name.patch pending-5.15/790-bus-mhi-core-add-SBL-state-callback.patch All other patches automatically rebased. Build system: x86_64 Build-tested: bcm2711/RPi4B, ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod Run-tested: bcm2711/RPi4B, ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: backport Motorcomm YT8521/YT8531 supportTianling Shen2023-05-1812-1/+2910
| | | | | | It will be used on NanoPi R2C and OrangePi R1 Plus LTS board. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* generic: mtk_eth_soc: don't crash if WO firmware is missingDaniel Golle2023-05-151-0/+28
| | | | | | | Import patch to prevent crashes in case WO firmware is missing on devices with only a single frontend (eg. MT7981+MT7976). Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* generic: add support for wireless offloading on MT7981Daniel Golle2023-05-151-0/+46
| | | | | | Load appropriate firmware for wireless offloading on MT7981. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* kernel: backport NVMEM patch for Broadcom's NVRAM MAC cellsRafał Miłecki2023-05-141-0/+77
| | | | | | | It has just been queued for the v6.5. It allows Ethernet drivers to read MACs from NVRAM using NVMEM interface. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: use upstream firmware patch for Broadcom's NVRAMRafał Miłecki2023-05-141-0/+100
| | | | | | This replaces our 2 downstream patches. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: bump 5.15 to 5.15.111John Audia2023-05-1313-254/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removed upstreamed: 01. backport-5.15/424-v6.4-0001-mtd-core-provide-unique-name-for-nvmem-device-take-t.patch 02. backport-5.15/424-v6.4-0002-mtd-core-fix-nvmem-error-reporting.patch 03. generic-backport/424-v6.4-0003-mtd-core-fix-error-path-for-nvmem-provider.patch 04. generic-backport/828-v6.4-0001-of-Fix-modalias-string-generation.patch 05. bcm4908/patches-5.15/031-v5.17-0002-arm64-dts-broadcom-bcm4908-add-DT-for-Netgear-RAXE50.patch 06. bcm4908/patches-5.15/033-v6.0-0001-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM63158.patchgit 07. bcm4908/patches-5.15/033-v6.0-0002-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM4912.patchgita 08. bcm4908/patches-5.15/033-v6.0-0010-arm64-dts-Add-base-DTS-file-for-bcmbca-device-Asus-G.patchgit 09. bcm4908/patches-5.15/034-v6.1-0005-arm64-dts-Move-BCM4908-dts-to-bcmbca-folder.patch 10. bcm4908/patches-5.15/036-v6.4-0002-arm64-dts-broadcom-bcmbca-bcm4908-fix-NAND-interrupt.patch 11. bcm4908/patches-5.15/036-v6.4-0004-arm64-dts-broadcom-bcmbca-bcm4908-fix-procmon-nodena.patch 12. ipq806x/patches-5.15/104-v6.0-06-ARM-dts-qcom-ipq8064-reduce-pci-IO-size-to-64K.patch Manually rebased: bcm27xx/patches-5.15/950-0078-BCM2708-Add-core-Device-Tree-support.patch bcm27xx/patches-5.15/950-0547-ARM-dts-Add-Pi-Zero-2-support.patch bcm4908/patches-5.15/033-v6.0-0001-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM63158.patchgit bcm4908/patches-5.15/033-v6.0-0002-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM4912.patchgit bcm4908/patches-5.15/030-v5.16-0001-arm64-dts-broadcom-bcm4908-Fix-NAND-node-name.patch bcm4908/patches-5.15/032-v5.18-0002-arm64-dts-broadcom-bcm4908-add-pinctrl-binding.patch bcm4908/patches-5.15/032-v5.18-0003-arm64-dts-broadcom-bcm4908-add-watchdog-block.patch bcm4908/patches-5.15/032-v5.18-0004-arm64-dts-broadcom-bcm4908-add-I2C-block.patch bcm4908/patches-5.15/033-v6.0-0003-ARM64-dts-Add-DTS-files-for-bcmbca-SoC-BCM6858.patchgit bcm4908/patches-5.15/033-v6.0-0008-arm64-dts-broadcom-bcm4908-Fix-timer-node-for-BCM490.patchgit bcm4908/patches-5.15/034-v6.1-0001-arm64-dts-broadcom-bcm4908-add-remaining-LED-pins.patch bcm4908/patches-5.15/034-v6.1-0002-arm64-dts-broadcom-bcm4908-add-LEDs-controller-block.patch bcm4908/patches-5.15/034-v6.1-0003-arm64-dts-broadcom-bcm4908-add-Asus-GT-AC5300-LEDs.patch bcm4908/patches-5.15/034-v6.1-0004-arm64-dts-bcmbca-update-BCM4908-board-dts-files.patch All other patches automatically rebased. Build system: x86_64 Build-tested: bcm2711/RPi4B, ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod Run-tested: bcm2711/RPi4B, ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod 01. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=77112d23a671697f0f70695ab901f807e15d2093 02. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=fe07b3b5af01f42b291f5da0da09d047f50b33a6 03. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=273be36e420924237f6c9d43cdad96718c13dd52 04. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=fe8ab85ed4958e58e991bba0aa0a655b552b0273 05. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=6ae67829fa5e9e71f458f69db42f0e216225616a 06. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=1994284cb9226b65ca3a6744ce3320218b584f26 07. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=a46878476c5549a4fde15a31922ce80a50b23492 08. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=112ff0f2530549d50510f116474924f9c4fad590 09. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=7c253e98685e6d884d12e2618ef4d2ad90b4fbd7 10. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=8444b46e163aa9559a0af0381a1d230ec4146eb2 11. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=6d1af517817a760d7af3dee0fc4603645485495c 12. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=cc4f0e168a5630ad0491ac5328f1a89f3cf3d04e Signed-off-by: John Audia <therealgraysky@proton.me>
* treewide: remove files for building 5.10 kernelNick Hainke2023-05-12631-92636/+0
| | | | | | | | | | | All targets are bumped to 5.15. Remove the old 5.10 patches, configs and files using: find target/linux -iname '*-5.10' -exec rm -r {} \; Further, remove the 5.10 include. Signed-off-by: Nick Hainke <vincent@systemli.org>
* linux/generic/hack-5.15: add missing patch headerFlorian Eckert2023-05-121-47/+65
| | | | | | | This patch does not have a valid patch headers and does not apply on an external git tree with 'git am'. To fix this add the missing header. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* ramips: fix mt7621 kernel compilationDavid Bauer2023-05-121-2/+8
| | | | | | | | | The OF LED configuration patch fails on MT7621, as the necessary headers were only included for the mediatek subtarget with an additional patch. Fixes: 242fe8634eba ("generic: add hack for MT753x LED configuration") Signed-off-by: David Bauer <mail@david-bauer.net>
* kernel: psb6970: drop unused variable in psb6970_config_initAleksander Jan Bajkowski2023-05-121-1/+0
| | | | | | | | | | | | | | | Drop unused variable in psb6970_config_init. This variable should have been dropped in 0806f8fc80e6 ("lantiq: add Linux 5.10 support as testing kernel"). This fix compilation warning: drivers/net/phy/psb6970.c: In function 'psb6970_config_init': drivers/net/phy/psb6970.c:310:28: warning: unused variable 'dev' [-Wunused-variable] 310 | struct net_device *dev = pdev->attached_dev; | cc1: all warnings being treated as errors Fixes: 0806f8fc80e6 ("lantiq: add Linux 5.10 support as testing kernel") Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
* generic: 5.15: backport bcm63xx wdt patch fixing fallthrough warningChristian Marangi2023-05-121-0/+33
| | | | | | | | | | | | | | Backport patch present upstream fixing error for bcm63xx: drivers/watchdog/bcm63xx_wdt.c: In function 'bcm63xx_wdt_ioctl': drivers/watchdog/bcm63xx_wdt.c:208:17: error: this statement may fall through [-Werror=implicit-fallthrough=] 208 | bcm63xx_wdt_pet(); | ^~~~~~~~~~~~~~~~~ drivers/watchdog/bcm63xx_wdt.c:210:9: note: here 210 | case WDIOC_GETTIMEOUT: | ^~~~ cc1: all warnings being treated as errors Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* generic: 5.15: add pending patch fixing binfmt compilation warningChristian Marangi2023-05-121-0/+94
| | | | | | | | | | | | Add pending patch fixing binfmt compilation warning on some arch. This fix compilation warning: fs/binfmt_elf.c: In function 'parse_elf_properties.isra': fs/binfmt_elf.c:821:1: error: the frame size of 1040 bytes is larger than 1024 bytes [-Werror=frame-larger-than=] 821 | } | ^ cc1: all warnings being treated as errors Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* generic: 5.15: add pending patch fixing compilation warning in jffs2Christian Marangi2023-05-121-0/+121
| | | | | | | | | | | | | | | | | Current gcc set a limit for each stack and complain if this limit is not followed. JFSS2 in build_xattr function currently exceed the limit by allocating a massive array of struct of 128 elements. Introduce a pending patch that allocate this temp array dynamically fixing the compilation warning: fs/jffs2/xattr.c: In function 'jffs2_build_xattr_subsystem': fs/jffs2/xattr.c:887:1: error: the frame size of 1088 bytes is larger than 1024 bytes [-Werror=frame-larger-than=] 887 | } | ^ Affecting many target that require jffs2 support. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* generic: 5.15: enable Werror by default for kernel compileChristian Marangi2023-05-121-1/+1
| | | | | | | | From 5.15 and up linux kernel introduced CONFIG_WERROR to flag any warning as error. To improve code quality, enable this by default to catch any warning and fix it. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* generic: add hack for MT753x LED configurationDavid Bauer2023-05-111-0/+66
| | | | | | | | | | | This adds a small hack similar to the one used for ar8xxx switches to read a reg:value map for configuring the LED configuration registers. This allows OpenWrt to write device-specific LED action as well as blink configurations. It is unlikely to be accepted upstream, as upstream plans on integrating their own framework for handling these LEDs. Signed-off-by: David Bauer <mail@david-bauer.net>
* generic: mt7530: enable PHY configuration using OFDavid Bauer2023-05-111-0/+43
| | | | | | | | | | The MT753x switches provide a switch-internal MDIO bus for the embedded PHYs. Register a OF sub-node on the switch OF-node for this internal MDIO bus. This allows to configure the embedded PHYs using device-tree. Signed-off-by: David Bauer <mail@david-bauer.net>
* generic: 5.15: remove outdated symbolsNick Hainke2023-05-051-8/+0
| | | | | | | | | | | | | Remove symbols that are no longer present in 5.15: - CONFIG_CRYPTO_RMD128 - CONFIG_CRYPTO_RMD256 - CONFIG_CRYPTO_RMD320 - CONFIG_CRYPTO_SALSA20 - CONFIG_CRYPTO_TGR192 - CONFIG_RAW_DRIVER - CONFIG_ENABLE_MUST_CHECK Signed-off-by: Nick Hainke <vincent@systemli.org>
* generic: 5.15: add patch fixing compiling mvebu with gcc-13Nick Hainke2023-05-051-0/+348
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes errors in the form of: drivers/ata/libahci.c: In function 'ahci_led_store': ././include/linux/compiler_types.h:334:45: error: call to '__compiletime_assert_363' declared with attribute error: BUILD_BUG_ON failed: sizeof(_s) > sizeof(long) 334 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^ ././include/linux/compiler_types.h:315:25: note: in definition of macro '__compiletime_assert' 315 | prefix ## suffix(); \ | ^~~~~~ ././include/linux/compiler_types.h:334:9: note: in expansion of macro '_compiletime_assert' 334 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert' 39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) | ^~~~~~~~~~~~~~~~~~ ./include/linux/build_bug.h:50:9: note: in expansion of macro 'BUILD_BUG_ON_MSG' 50 | BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition) | ^~~~~~~~~~~~~~~~ ./include/linux/nospec.h:62:9: note: in expansion of macro 'BUILD_BUG_ON' 62 | BUILD_BUG_ON(sizeof(_s) > sizeof(long)); \ | ^~~~~~~~~~~~ drivers/ata/libahci.c:1143:23: note: in expansion of macro 'array_index_nospec' 1143 | pmp = array_index_nospec(pmp, EM_MAX_SLOTS); | ^~~~~~~~~~~~~~~~~~ Signed-off-by: Nick Hainke <vincent@systemli.org>
* kernel: fix handling of CONFIG_DYNAMIC_DEBUGTony Ambardar2023-05-032-2/+2
| | | | | | | | | | Since CONFIG_DYNAMIC_DEBUG is already managed via the KERNEL_DYNAMIC_DEBUG setting in Config-kernel.in (default N), remove or disable it in target configs which unconditionally enable it, along with the related setting CONFIG_DYNAMIC_DEBUG_CORE. This saves several KB in the kernels for ipq40xx, ipq806x, filogic, mt7622, qoriq, and sunxi. Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* kernel: bump 5.15 to 5.15.110John Audia2023-05-032-2/+2
| | | | | | | | | | All patches automatically rebased. Build system: x86_64 Build-tested: bcm2711/RPi4B, ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod Run-tested: bcm2711/RPi4B, ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: Activate CONFIG_SLAB_FREELIST_RANDOMHauke Mehrtens2023-05-032-2/+2
| | | | | | | | | | | | | This activates CONFIG_SLAB_FREELIST_RANDOM. This option make the free list less predictable. This makes it harder to exploit heap based security vulnerabilities. This adds a little bit more code to the kernel and a small additional compute overhead. This option is activated in Debian by default. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* generic: net: phy: realtek: detect early version of RTL8221BDaniel Golle2023-04-301-0/+63
| | | | | | | | | | Early versions (?) of the RTL8221B PHY cannot be identified in a regular Clause-45 bus scan as the PHY doesn't report the implemented MMDs correctly but returns 0 instead. Implement custom identify function using the PKGID instead of iterating over the implemented MMDs to work-around this problem. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* kernel: bump 5.15 to 5.15.109John Audia2023-04-307-56/+7
| | | | | | | | | | | | | | | Removed upstreamed: backport-5.15/743-v6.3-0005-net-dsa-b53-mmap-add-phy-ops.patch[1] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.109&id=357fa038d93d0e9159a0f0d45bae0f8654e2ade5 Build system: x86_64 Build-tested: bcm2711/RPi4B, ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod Run-tested: bcm2711/RPi4B, ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: bump 5.10 to 5.10.179John Audia2023-04-305-10/+10
| | | | | | All patches automatically rebased. Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: mtk_bmt: refactor to avoid deep recursionMichał Kępień2023-04-291-31/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A Linksys E8450 (mt7622) device running current master has recently started crashing: [ 0.562900] mtk-ecc 1100e000.ecc: probed [ 0.570254] spi-nand spi2.0: Fidelix SPI NAND was found. [ 0.575576] spi-nand spi2.0: 128 MiB, block size: 128 KiB, page size: 2048, OOB size: 64 [ 0.583780] mtk-snand 1100d000.spi: ECC strength: 4 bits per 512 bytes [ 0.682930] Insufficient stack space to handle exception! [ 0.682939] ESR: 0x0000000096000047 -- DABT (current EL) [ 0.682946] FAR: 0xffffffc008c47fe0 [ 0.682948] Task stack: [0xffffffc008c48000..0xffffffc008c4c000] [ 0.682951] IRQ stack: [0xffffffc008008000..0xffffffc00800c000] [ 0.682954] Overflow stack: [0xffffff801feb00a0..0xffffff801feb10a0] [ 0.682959] CPU: 1 PID: 1 Comm: swapper/0 Tainted: G S 5.15.107 #0 [ 0.682966] Hardware name: Linksys E8450 (DT) [ 0.682969] pstate: 800000c5 (Nzcv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 0.682975] pc : dequeue_entity+0x0/0x250 [ 0.682988] lr : dequeue_task_fair+0x98/0x290 [ 0.682992] sp : ffffffc008c48030 [ 0.682994] x29: ffffffc008c48030 x28: 0000000000000001 x27: ffffff801feb6380 [ 0.683004] x26: 0000000000000001 x25: ffffff801feb6300 x24: ffffff8000068000 [ 0.683011] x23: 0000000000000001 x22: 0000000000000009 x21: 0000000000000000 [ 0.683017] x20: ffffff801feb6380 x19: ffffff8000068080 x18: 0000000017a740a6 [ 0.683024] x17: ffffffc008bae748 x16: ffffffc008bae6d8 x15: ffffffffffffffff [ 0.683031] x14: ffffffffffffffff x13: 0000000000000000 x12: 0000000f00000101 [ 0.683038] x11: 0000000000000449 x10: 0000000000000127 x9 : 0000000000000000 [ 0.683044] x8 : 0000000000000125 x7 : 0000000000116da1 x6 : 0000000000116da1 [ 0.683051] x5 : 00000000001165a1 x4 : ffffff801feb6e00 x3 : 0000000000000000 [ 0.683058] x2 : 0000000000000009 x1 : ffffff8000068080 x0 : ffffff801feb6380 [ 0.683066] Kernel panic - not syncing: kernel stack overflow [ 0.683069] SMP: stopping secondary CPUs [ 1.648361] SMP: failed to stop secondary CPUs 0-1 [ 1.648366] Kernel Offset: disabled [ 1.648368] CPU features: 0x00003000,00000802 [ 1.648372] Memory Limit: none Several factors contributed to this issue: 1. The mtk_bmt driver recursively calls its scan_bmt() helper function during device initialization, while looking for a valid block mapping table (BMT). 2. Commit fa4dc86e98 ("kernel: backport MEMREAD ioctl"): - increased the size of some stack-allocated structures (like struct mtd_oob_ops, used in bbt_nand_read(), which is indirectly called from scan_bmt()), - increased the stack size for some functions (for example, spinand_mtd_read(), which is indirectly called from scan_bmt(), now uses an extra stack-allocated struct mtd_ecc_stats). 3. OpenWrt currently compiles the kernel with the -fno-optimize-sibling-calls flag, which prevents tail-call optimization. Collectively, all of these factors caused stack usage in the mtk_bmt driver to grow excessively large, triggering stack overflows. Recursion is not really necessary in scan_bmt() as it simply iterates over flash memory blocks in reverse order, looking for a valid BMT. Refactor the logic contained in the scan_bmt() and read_bmt() functions in target/linux/generic/files/drivers/mtd/nand/mtk_bmt_v2.c so that deep recursion is prevented (and therefore also any potential stack overflows it may cause). Link: https://lists.openwrt.org/pipermail/openwrt-devel/2023-April/040872.html Signed-off-by: Michał Kępień <openwrt@kempniu.pl>
* kernel: Activate CONFIG_SCHED_STACK_END_CHECKHauke Mehrtens2023-04-292-2/+2
| | | | | | | | | | | This activates the CONFIG_SCHED_STACK_END_CHECK option. The kernel will check if the kernel stack overflowed in the schedule() function. This just adds a very small computational overhead. This option is activated in Debian by default. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Activate CONFIG_SLAB_FREELIST_HARDENEDHauke Mehrtens2023-04-292-2/+2
| | | | | | | | | | This activates some extra checks in SLAB or SLUB to make it harder to execute kernel heap exploits. This adds a minor performance degradation which I haven't measured-. Many mainstream Linux distributions also activate this option. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Initialize RNG using CPU RNG and bootloaderHauke Mehrtens2023-04-292-4/+4
| | | | | | | | | | | | | | | | | | | This activates the following kernel options by default: * CONFIG_RANDOM_TRUST_CPU * CONFIG_RANDOM_TRUST_BOOTLOADER With these option Linux will also use data from the CPU RNG e.g. RDRAND and the bootloader to initialize the Linux RNG if such sources are available. These random bits are used in addition to the other sources, no other sources are getting deactivated. I read that the Chacha mixer isn't vulnerable to injected entropy, so this should not be a problem even if these sources might inject bad random data. The Linux kernel suggests to activate both options, Debian also activates them. This does not increase kernel code size. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* generic: Convert incorrect generic/5.15 patches againOlliver Schinagl2023-04-273-0/+47
| | | | | | | | | | | | | | OpenWrt's developer guide prefers having actual patches so they an be sent upstream more easily. However, in the case of hack-5.15 patches which are not meant for upstream, adding proper fields allows for `git am` to properly function. This commit tries to rectify that, by digging in the history to find where and how it was first added. Signed-off-by: Olliver Schinagl <oliver@schinagl.nl> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* kernel: ssb: fallback-sprom: check bustypeÁlvaro Fernández Rojas2023-04-241-2/+7
| | | | | | host_pci is only defined when bustype is SSB_BUSTYPE_PCI. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* kernel: bcma: fallback-sprom: check hosttypeÁlvaro Fernández Rojas2023-04-241-2/+7
| | | | | | host_pci is only defined when hosttype is BCMA_HOSTTYPE_PCI. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* kernel: bcma: fallback-sprom: align extraction with upstreamÁlvaro Fernández Rojas2023-04-241-355/+134
| | | | | | | | The current bcma SPROM extraction from upstream only supports SPROMs with revisions from 8 to 11. Let's align the downstream fallback driver with upstream. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* kernel: ssb: fallback-sprom: drop mac leftoversÁlvaro Fernández Rojas2023-04-241-12/+0
| | | | | | This was left behind when removing the MAC extractions from PCI SPROMs. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* kernel: ssb: fallback-sprom: optimize struct dataÁlvaro Fernández Rojas2023-04-241-14/+14
| | | | | | | - Remove unneeded mac bytes from struct (it's already present in the SPROM). - Convert devid_override to boolean. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* kernel: bcma: fallback-sprom: optimize struct dataÁlvaro Fernández Rojas2023-04-241-14/+14
| | | | | | | - Remove unneeded mac bytes from struct (it's already present in the SPROM). - Convert devid_override to boolean. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* kernel: net: phy: realtek: fix NULL pointer dereferenceDaniel Golle2023-04-243-34/+42
| | | | | | | | | | | | | The previous attempt to replace an open coded paged read in the RealTek Ethernet PHY driver was too naive and resulted in breaking the r8169 PCIe Ethernet driver which also makes use of the RealTek Ethernet PHY driver. Fix this by instead of using the (not yet populated) paged operations rather use rtl821x_write_page and protect the whole paged read operation using the MDIO bus mutex. Fixes: 998b973157 ("kernel: net: phy: realtek: improve RealTek 2.5G PHY driver") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* kernel: add bcma/ssb fallback SPROM supportÁlvaro Fernández Rojas2023-04-234-0/+1838
| | | | | | | This adds generic kernel support for Broadcom Fallback SPROMs so that it can be used in any target, even non Broadcom ones. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* generic: 5.15: replace ramips AR8033 fiber patch with 5.18 patchesDaniel Kestrel2023-04-224-0/+375
| | | | | | | | | | | | A patch was added in kernel 5.4 to support the fiber operation of AR8033 with ramips devices. In kernel 5.18 similar enhancements were added to the kernel. Those patches are required for other fiber based devices but when added, build fails for ramips targets. This commit removes the ramips patch and adds the kernel 5.18 ones. Signed-off-by: Daniel Kestrel <kestrel1974@t-online.de> [ split commit,refresh patch and improve commit message ] Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* generic: 5.10: replace ramips AR8033 fiber patch with 5.18 patchesDaniel Kestrel2023-04-225-0/+456
| | | | | | | | | | | | A patch was added in kernel 5.4 to support the fiber operation of AR8033 with ramips devices. In kernel 5.18 similar enhancements were added to the kernel. Those patches are required for other fiber based devices but when added, build fails for ramips targets. This commit removes the ramips patch and adds the kernel 5.18 ones. Signed-off-by: Daniel Kestrel <kestrel1974@t-online.de> [ split commit, refresh patch and improve commit title ] Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* generic: 5.10: replace pending 730-net-phy-at803x-fix... with upstreamChristian Marangi2023-04-2210-32/+34
| | | | | | | | | Replace pending 730-net-phy-at803x-fix-feature-detection.patch with upstream version and move it to backport. Refresh other related patch while moving it. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* kernel: refresh 729-net-phy-realtek-introduce-rtl822x_probe.patchDaniel Golle2023-04-221-7/+7
| | | | | | | The patch needs to be refreshed to apply cleanly. Fixes: 998b973157 ("kernel: net: phy: realtek: improve RealTek 2.5G PHY driver") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* kernel: net: phy: realtek: improve RealTek 2.5G PHY driverDaniel Golle2023-04-228-31/+251
| | | | | | | | | | | | | | | | | | | | * use interface mode switching only when operating in C45 mode Linux prevents switching the interface mode when using C22 MDIO, hence use rate-adapter mode in case the PHY controlled via C22. * use phy_read_paged where appropriate * use existing generic inline functions to handle 10GbE advertisements instead of redundantly defining register macros in realtek.c which are not actually vendor-specific. * make sure 10GbE advertisement is valid, preventing false-positive warning "Downshift occurred from negotiated speed 2.5Gbps to actual speed 1Gbps, check cabling!" with some link-partners using 1G mode. * Support Link Down Power Saving Mode (ALDPS) Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* kernel: bump 5.10 to 5.10.178John Audia2023-04-227-77/+8
| | | | | | | | | | | Removed upstreamed: backport-5.10/430-v6.3-ubi-Fix-failure-attaching-when-vid_hdr-offset-equals.patch[1] 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.178&id=0279e82e148407feec88466990de14bcba9e12c0 All other patches automatically rebased. Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: bump 5.15 to 5.15.108John Audia2023-04-2212-180/+26
| | | | | | | | | | | | | | | | | Removed upstreamed: backport-5.15/430-v6.3-ubi-Fix-failure-attaching-when-vid_hdr-offset-equals.patch[1] backport-5.15/612-v6.3-skbuff-Fix-a-race-between-coalescing-and-releasing-S.patch[2] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.108&id=85d7a7044b759d865d10395a357632af00de5867 2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.108&id=906a6689bb0191ad2a44131a3377006aa098af59 Build system: x86_64 Build-tested: bcm2711/RPi4B, ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod Run-tested: bcm2711/RPi4B, ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod Signed-off-by: John Audia <therealgraysky@proton.me>
* generic: update nvmem cell mac-address-ascii supportChukun Pan2023-04-212-42/+52
| | | | | | | | Instead of use mac-address-ascii in nvmem_get_mac_address function, move it into of_get_mac_addr_nvmem function to support more devices. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>