Closed ecsv closed 1 year ago
Just for full transparency: The gluon bisect resulted in following commit
b85a9c54d5db6e66df8f1564461689c8c2865dfb is the first bad commit
commit b85a9c54d5db6e66df8f1564461689c8c2865dfb
Author: Andreas Ziegler <dev@andreas-ziegler.de>
Date: Fri Dec 30 00:45:48 2022 +0100
modules: update openwrt
6c3e16055a kernel: backport ksmbd security fix ZDI-22-1690
275c51bf40 Revert "image-commands.mk: Be consistent in command invocation"
fec4fb3a56 sunxi: remove frequency for NanoPi R1
51a763ab0f arm-trusted-firmware-sunxi: drop CPE ID
377d805887 trusted-firmware-a.mk: use correct CPE ID
f30414c56d kernel: bump 5.10 to 5.10.160
47ac52a7c4 ath79: image: don't depend on other COMPILE targets
da79da3ac1 image: fix device profile specific COMPILE targets
9aa95bbebb rules: fix broken commitcount on alpine system
fcff234fd8 image-commands.mk: Be consistent in command invocation
be7b97d873 sunxi: fix typo in device packages for MarsBoard A10
709351bf32 kernel: Make KERNEL_MAKEOPTS recursively expanded
3b066a6581 lantiq: vr9: include usb driver for fritz 7430
39dcfcd987 wolfssl: fix build with /dev/crypto
e51f3a22aa toolchain: Update glibc 2.34 to recent HEAD
298d2d0412 Revert "mbedtls: import patch to fix illegal instruction on mpc85xx"
3de4572ed3 tools/ccache: fix build with musl and gcc 12
8e43a44f08 rpcd: update to latest Git HEAD
f43ceb60d5 iwinfo: update to latest Git HEAD
31baecb70e iwinfo: update to the latest version
f34c4a950e iwinfo: update to the latest version
9b7a3e1a5e iwinfo: update to the latest version
ce881873c0 kernel: add missing dependency to KERNEL_RPI_AXIPERF
7ccb4c6651 kernel: add missing symbol for bcm27xx
b18a0d0b92 generic: add support for EON EN25QX128A spi nor flash
d909fb1d3b kernel: bump 5.10 to 5.10.159
e5cec69484 kernel: bump 5.10 to 5.10.158
3a58bda06b kernel: bump 5.10 to 5.10.157
ee2341cac6 kernel: add symbol in generic config for 5.10.157
bc64ca15d4 kernel: kmod-net-rtl8192su: Remove package
b1204ce28c umbim: Allow roaming and partner connections
15bc6b23c7 kernel: further cleanup of xfrm[4|6]_mode*
6e396eff1a kernel: remove handling of xfrm[4|6]_mode_* modules
78fc12ddd0 kernel: fix typo for tegra crypto-sha1 module
4408f7d564 kernel: add kmod-btsdio package
6b2c445b88 kernel: remove CONFIG_MMC_BLOCK_BOUNCE
aef33ab13a ath79: fix Teltonika RUT230 v1 MAC assignment
6cd1035d8d ramips: add support for Wavlink WS-WN572HP3 4G
3f7ce4bd40 comgt-ncm: add support for quectel modem EC200T-EU
03ab5a60da realtek: update GPIO bindings for DGS-1210-10P
63fde4607c ustream-ssl: update to Git version 2022-12-07
1c174fe0ba CI: kernel: don't checkout and install feeds
385f78780c CI: build: skip sdk adapt to external toolchain on cache hit
8be50c369b CI: build: fix use of sdk as toolchain
1af58a2d39 ramips: mt7621: enable lzma-loader for ZyXEL WAP6805
8fbf03690e ramips: mt7621: enable lzma-loader for netis WF2881
282dd271ad kernel: ca8210: Fix crash by zero initializing data
1a0f2c3a3e e2fsprogs: Fix CVE-2022-1304
1285938d2c bcm4908: Refresh kernel patches
eb639e54fc ucode: update to latest Git HEAD
9b6dcf322b mvebu: disable also wrt32x due to broken switch
69ed96fba8 kernel: netconsole: add network console logging support
1f9bf1ee82 kernel: kmod-isdn4linux: Remove package
a3dee42206 kernel: kmod-w1-slave-ds2760: Remove package
2a1bf860f3 kernel: kmod-rtc-pt7c4338: Remove package
a0bae2fef8 mvebu: cortexa9: disable devices using broken mv88e6176 switch
309a6f22ba CI: trigger check also on build and check-kernel-patches workflow change
ec9ca325c0 CI: build: fix matching for openwrt release branch for toolchain parsing
63a2ea5470 CI: fix matching for openwrt release branch for container selection
9db78a7e86 CI: build: add support to fallback to sdk for external toolchain
47519a574c CI: build: add support for external toolchains from stable branch
05c3ee608f CI: build: add support for per branch tools container
f3cb0cfdf9 CI: tools: support per branch tools container
5fc4182f1e CI: Build all boards and testing kernel
31fb360f57 CI: Allow building with internal toolchain
e74479d559 CI: Extract the OpenWrt building to own sub workflow
b7e2e14912 CI: Simplify if conditions
8ac2cf6de9 CI: packages.yml: Fix usage of pre-build tools
db347be0b3 CI: packages: Add github CI job to build all packages
99524d49b4 CI: kernel: fix deprecation of set-output
de29c8bda7 ci: kernel: trigger build check on changes in kernel.mk as well
b93a59352f CI: kernel: check if patch are refreshed for each target
d070707379 CI: bump actions/download,upload-artifact action to v3
69414201ae CI: bump actions/checkout action to v3
8c4e39eb08 CI: kernel: generate ccache cache on kernel push
6c3e16055a kernel: backport ksmbd security fix ZDI-22-1690
275c51bf40 Revert "image-commands.mk: Be consistent in command invocation"
fec4fb3a56 sunxi: remove frequency for NanoPi R1
51a763ab0f arm-trusted-firmware-sunxi: drop CPE ID
377d805887 trusted-firmware-a.mk: use correct CPE ID
f30414c56d kernel: bump 5.10 to 5.10.160
47ac52a7c4 ath79: image: don't depend on other COMPILE targets
da79da3ac1 image: fix device profile specific COMPILE targets
9aa95bbebb rules: fix broken commitcount on alpine system
fcff234fd8 image-commands.mk: Be consistent in command invocation
be7b97d873 sunxi: fix typo in device packages for MarsBoard A10
709351bf32 kernel: Make KERNEL_MAKEOPTS recursively expanded
3b066a6581 lantiq: vr9: include usb driver for fritz 7430
39dcfcd987 wolfssl: fix build with /dev/crypto
e51f3a22aa toolchain: Update glibc 2.34 to recent HEAD
298d2d0412 Revert "mbedtls: import patch to fix illegal instruction on mpc85xx"
3de4572ed3 tools/ccache: fix build with musl and gcc 12
8e43a44f08 rpcd: update to latest Git HEAD
f43ceb60d5 iwinfo: update to latest Git HEAD
31baecb70e iwinfo: update to the latest version
f34c4a950e iwinfo: update to the latest version
9b7a3e1a5e iwinfo: update to the latest version
ce881873c0 kernel: add missing dependency to KERNEL_RPI_AXIPERF
7ccb4c6651 kernel: add missing symbol for bcm27xx
b18a0d0b92 generic: add support for EON EN25QX128A spi nor flash
d909fb1d3b kernel: bump 5.10 to 5.10.159
e5cec69484 kernel: bump 5.10 to 5.10.158
3a58bda06b kernel: bump 5.10 to 5.10.157
ee2341cac6 kernel: add symbol in generic config for 5.10.157
bc64ca15d4 kernel: kmod-net-rtl8192su: Remove package
b1204ce28c umbim: Allow roaming and partner connections
15bc6b23c7 kernel: further cleanup of xfrm[4|6]_mode*
6e396eff1a kernel: remove handling of xfrm[4|6]_mode_* modules
78fc12ddd0 kernel: fix typo for tegra crypto-sha1 module
4408f7d564 kernel: add kmod-btsdio package
6b2c445b88 kernel: remove CONFIG_MMC_BLOCK_BOUNCE
aef33ab13a ath79: fix Teltonika RUT230 v1 MAC assignment
6cd1035d8d ramips: add support for Wavlink WS-WN572HP3 4G
3f7ce4bd40 comgt-ncm: add support for quectel modem EC200T-EU
03ab5a60da realtek: update GPIO bindings for DGS-1210-10P
63fde4607c ustream-ssl: update to Git version 2022-12-07
1c174fe0ba CI: kernel: don't checkout and install feeds
385f78780c CI: build: skip sdk adapt to external toolchain on cache hit
8be50c369b CI: build: fix use of sdk as toolchain
1af58a2d39 ramips: mt7621: enable lzma-loader for ZyXEL WAP6805
8fbf03690e ramips: mt7621: enable lzma-loader for netis WF2881
282dd271ad kernel: ca8210: Fix crash by zero initializing data
1a0f2c3a3e e2fsprogs: Fix CVE-2022-1304
1285938d2c bcm4908: Refresh kernel patches
eb639e54fc ucode: update to latest Git HEAD
9b6dcf322b mvebu: disable also wrt32x due to broken switch
69ed96fba8 kernel: netconsole: add network console logging support
1f9bf1ee82 kernel: kmod-isdn4linux: Remove package
a3dee42206 kernel: kmod-w1-slave-ds2760: Remove package
2a1bf860f3 kernel: kmod-rtc-pt7c4338: Remove package
a0bae2fef8 mvebu: cortexa9: disable devices using broken mv88e6176 switch
309a6f22ba CI: trigger check also on build and check-kernel-patches workflow change
ec9ca325c0 CI: build: fix matching for openwrt release branch for toolchain parsing
63a2ea5470 CI: fix matching for openwrt release branch for container selection
9db78a7e86 CI: build: add support to fallback to sdk for external toolchain
47519a574c CI: build: add support for external toolchains from stable branch
05c3ee608f CI: build: add support for per branch tools container
f3cb0cfdf9 CI: tools: support per branch tools container
5fc4182f1e CI: Build all boards and testing kernel
31fb360f57 CI: Allow building with internal toolchain
e74479d559 CI: Extract the OpenWrt building to own sub workflow
b7e2e14912 CI: Simplify if conditions
8ac2cf6de9 CI: packages.yml: Fix usage of pre-build tools
db347be0b3 CI: packages: Add github CI job to build all packages
99524d49b4 CI: kernel: fix deprecation of set-output
de29c8bda7 ci: kernel: trigger build check on changes in kernel.mk as well
b93a59352f CI: kernel: check if patch are refreshed for each target
d070707379 CI: bump actions/download,upload-artifact action to v3
69414201ae CI: bump actions/checkout action to v3
8c4e39eb08 CI: kernel: generate ccache cache on kernel push
303b784cc8 build: harden GitHub workflow permissions
b3e8d58151 Revert "build: harden GitHub workflow permissions"
431875b3df CI: kernel: use ccache to speedup workflow
8bbaa486cb CI: tools: compile tools with ccache support for tools container
c2df98c49c CI: Add workaround for github uppercase usernames
daeb367dc1 CI: use tools:latest container to speedup kernel workflow
fccf42cb05 CI: create Docker container containing compiled tools
047e68adb1 CI: use buildbot container for building
a69b9a8962 ci: show build failures directly in job log output
f2fb3ffd71 ci: move scripts into separate directory
7ff1477b3d CI: package kmods in kernel workflow
2f9b35624d CI: kernel: Cache external toolchain
1f13c8cd24 CI: kernel: Build all kernel modules
c3ed9f36ee CI: kernel: Checkout feeds from github
0987df4af1 CI: kernel: Show used OpenWrt configuration
f7affcd614 CI: kernel: Use downloads.cdn.openwrt.org
0f71cf7ab6 CI: kernel: Trigger workflow for more directories
586be47078 CI: run inside the buildbot docker container
0e46907ff5 CI: add Kernel compile tests
119c6573c4 CI: usability improvements for tools
ac7b1c8e94 build: handle directory with whitespace in AUTOREMOVE clean
439e19de96 scripts/ext-tools: introduce new script to install prebuilt tools
d419136ad5 build: make find_md5 reproducible with AUTOREMOVE
be2da47ced ath79: expand rootfs for DIR-825-B1 with unused space
087a2a4691 mac80211: Update to version 5.15.81
83c70346ac base-files: support "metric" in board.json
5167bcf2fc kernel: update U-Boot nvmem driver to v6.2 release version
bf1c4f1eba bcm4908: update DTS files with the latest changes
44fad4b1f6 bcm4908: fix Asus GT-AX6000 image
c45f44165b bcm4908: use upstream patches for Asus GT-AC5300 LEDs
7d63c39bf4 CI: labeler: fix wrong label for pr targeting stable branch
e516c31e14 CI: add support to tag pr targeting stable branch
8b95e14e32 Revert "CI: Add release/22.03 label to all pull requests"
ce1de42096 layerscape: Fix SPI-NOR issues with vendor patches
a704216259 mt76: move the mt7921 firmware to its own package
e7497d1083 CI: Add release/22.03 label to all pull requests
c43b5e71b8 CI: labeler: target major version of labeler action
008e9a335d build: harden GitHub workflow permissions
c7757810fc CI: include automatic Pull Request Labeler
2b5154214c ipq40xx: luma_wrtq-acn329: swap ethernet MAC addresses
68add5f364 ath79: mikrotik: use OpenWrt loader for initram image
a907c20340 kernel: add kmod-hwmon-sht3x support
a4af427d80 procd: service: pass all arguments to service
106fedd9ed ath79: fix MAC address assigment for TP-Link TL-WR740N/TL-WR741ND v4
8040f74f8d tools/patch: apply patch for EACCES on xattr copy
eda395a5e0 wolfssl: update to v5.5.3
0b22e87db0 ath79: D-Link DIR-825 B1 add factory.bin recipe
de6c3cca4d mbedtls: import patch to fix illegal instruction on mpc85xx
302ef2137d mt76: add firmware package for mt7916
844de50b7b ath79: disable image building for Ubiquiti EdgeSwitch 8XP
af0c128368 lantiq: add 6.1 tag to upstream patch
a4e8ff5ab4 lantiq: enable interrupts on second VPEs
dca73263a4 lantiq: xrx200: backport upstream network fixes
078bdc1856 kernel: bump 5.10 to 5.10.156
b7388191a5 kernel: bump 5.10 to 5.10.155
61e1f6541d kernel: modules: package Marvell gigE PHY driver
64da7c8af7 bcm27xx: fix CI build after config refresh
3564c22e46 bcm27xx: disable duplicate sdhost driver
353e468f47 kernel: support "linux,rootfs" DT property for splitting rootfs
b66037f53b bcm53xx: update DTS files with the latest changes
58a73b1135 kernel: improve description of NTFS kernel packages
932378aeb6 kernel: backport support for "linux,rootfs" in DT
af20d9d03b kernel: split out mtd hack for CONFIG_FIT_PARTITION + rootfs
8c1f8f9978 ipq40xx: ZTE MF286D: fix DEVICE_PACKAGES
54dc60e71d generic: fix unset symbol
c837fc9cdb kernel: bump 5.10 to 5.10.154
bbad2ee4de kernel: bump 5.10 to 5.10.153
d2ae7613b5 ramips: improve compatibility for Youku YK-L2 and YK-L1 series
9155d40513 ramips: gl-mt1300: downclock SPI to 50MHz
ca124d2e4b ramips: mt7621: use seama-lzma-loader for D-Link DIR-860L B1
fafc9448ae ramips: rt3883: use seama-lzma-loader for D-Link DIR-645
292d3f00c7 ramips: define lzma-loader recipe for SEAMA devices
d25e1a3bde ath79: fix MAC address assignment for TP-Link ar7241 devices
7fa6351310 tools/expat: update to 2.5.0
8122aa92fd ath79: add support for Linksys EA4500 v3
1133a8f805 ath79: add support to TrendNet TEW-673GRU
5725b773b4 qoriq: fix typo in FEATURES
615dbec223 mac80211: fix mesh airtime link metric estimation
a26f7e61e8 mac80211: fix issues with receiving small STP packets
bfeffb8aed mac80211: fix decap offload for stations on AP_VLAN interfaces
88c43b5887 hostapd: remove invalid dtim_period option processing
4628e7ae4d ramips: backport TP-Link RE200 v3/v4 LED fix
1d095c1d43 strace: replace PKG_CPE_ID
d84cf62000 strace: update to 5.19
8650f77314 strace: add nls.mk
0b80a7da58 strace: update to 5.18
faf9d20a21 strace: update to 5.17
e95b359eaa kernel: netsupport: Add FQ-PIE as an optional sched kmod and extract PIE
051c24c69a kernel: extract kmod-sched-act-ipt from kmod-sched
23ccc71c61 kernel: netsupport: Extract act_police
3ca45248fd kernel: netsupport: Add kmod-sched-act-sample
7ee55d82fc kernel: netsupport: Extract sched-prio and sched-red
31fd96bdbd kernel: netsupport: Add kmod-sched-drr
c61ed09228 kernel: netsupport: kmod-sched: Reorder packages
26b58991b0 ipq40xx: fix ZTE MF289F port mapping
71178a8506 ipq40xx: Fix wrong GPIO for internal status LED on ZTE MF289F
3e15a54bb0 ipq40xx: Add ZTE MF289F
7a77aacb31 uboot-envtools: Fix format of autogenerated sectors
b3b3428a0e openssl: bump to 1.1.1s
e313cd8d15 uboot-layerscape: adjust LS1012A-IOT config and env
77522d4eb7 dnsmasq: Backport DHCPv6 server fix (CVE-2022-0934)
13bd217821 busybox: awk: fix use after free (CVE-2022-30065)
fe5cd3c9d9 util-linux: Update to version 2.37.4
84b3eafe39 bcm4908: backport upstream BQL support for bcm4908_enet
0ff3adfa11 kernel: bump 5.10 to 5.10.152
0abcea19d7 kernel: bump 5.10 to 5.10.151
0667688a40 kernel: bump 5.10 to 5.10.150
fe58ee9057 ramips: Correct Unielec 01 and 06 dts wan macaddr byte location
6c5313d77c bcm4908: backport bcm4908_enet fix for NULL dereference
91e4a74fff bcm4908: optimize Ethernet driver by using build_skb()
b4bc9eb837 kernel: mtd: backport SafeLoader parser
18c77387c5 kernel: mtd: backport extended dynamic partitions support
modules | 2 +-
...ps-mt7621-make-DSA-images-swconfig-upgradable.patch | 18 +++++++++---------
...iq-xrx200-make-DSA-images-swconfig-upgradable.patch | 2 +-
...-Querier-wake-up-calls-Android-bug-workaround.patch | 4 ++--
4 files changed, 13 insertions(+), 13 deletions(-)
This is the bisect log:
# bad: [2751daa655c8adae66ffd2c004a4fca060ae1d43] Merge pull request #2773 from blocktrron/v2022.1.2-release-notes
# good: [ab1fb054f6be33fdba74c3f3344d9ef746287c68] Merge pull request #2670 from blocktrron/v2022.1.1-rn
git bisect start 'v2022.1.2' 'v2022.1.1'
# bad: [9b840d1d8755b61aa590d4c9816fb466bdef776c] Merge pull request #2740 from freifunk-gluon/v2022.1.x-modules-bump
git bisect bad 9b840d1d8755b61aa590d4c9816fb466bdef776c
# good: [940874972b207b162292ea31763560791e5db913] Merge pull request #2715 from freifunk-gluon/backport-2705-to-v2022.1.x
git bisect good 940874972b207b162292ea31763560791e5db913
# good: [8c1f5e9c9cd521953493a093af2a6324ecb4f1b8] Merge pull request #2685 from T-X/v2022.1.x-pr-backport-bridge-mcast-wakeupcall
git bisect good 8c1f5e9c9cd521953493a093af2a6324ecb4f1b8
# bad: [c82fc9616bfccf43cb466ed3d8a894b0db199273] modules: update packages
git bisect bad c82fc9616bfccf43cb466ed3d8a894b0db199273
# bad: [b85a9c54d5db6e66df8f1564461689c8c2865dfb] modules: update openwrt
git bisect bad b85a9c54d5db6e66df8f1564461689c8c2865dfb
# first bad commit: [b85a9c54d5db6e66df8f1564461689c8c2865dfb] modules: update openwrt
In OpenWrt, the first bad commit is:
f30414c56db372acbd32d4cf77a2d0164c3e2b71 is the first bad commit
commit f30414c56db372acbd32d4cf77a2d0164c3e2b71
Author: John Audia <therealgraysky@proton.me>
Date: Mon Dec 19 09:18:02 2022 -0500
kernel: bump 5.10 to 5.10.160
No patches affected by this update.
Build system: x86_64
Build-tested: ramips/tplink_archer-a6-v3
Run-tested: ramips/tplink_archer-a6-v3
Signed-off-by: John Audia <therealgraysky@proton.me>
(cherry picked from commit 1e375c8fbd6a3259ffbbbde13eb0c106bedbcd1c)
include/kernel-5.10 | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Bisect log:
# bad: [6c3e16055ae5d79205812e8436110fd862266c94] kernel: backport ksmbd security fix ZDI-22-1690
# good: [00d7702796d922e4258b7acb6e6b88a93071eebe] mac80211: Update to version 5.15.74-1
git bisect start '6c3e16055ae5d79205812e8436110fd862266c94' '00d7702796d922e4258b7acb6e6b88a93071eebe'
# good: [119c6573c49ec1ca31b0fac56aa41120315fe229] CI: usability improvements for tools
git bisect good 119c6573c49ec1ca31b0fac56aa41120315fe229
# good: [1a0f2c3a3ecb19f65bdc269818ed373958d032e6] e2fsprogs: Fix CVE-2022-1304
git bisect good 1a0f2c3a3ecb19f65bdc269818ed373958d032e6
# good: [b18a0d0b92963ad184ca309b93678946c09d7e99] generic: add support for EON EN25QX128A spi nor flash
git bisect good b18a0d0b92963ad184ca309b93678946c09d7e99
# good: [3b066a6581cc4291d261a672663630fce7f4e66f] lantiq: vr9: include usb driver for fritz 7430
git bisect good 3b066a6581cc4291d261a672663630fce7f4e66f
# good: [47ac52a7c443ef065c9a35db34712e382d364986] ath79: image: don't depend on other COMPILE targets
git bisect good 47ac52a7c443ef065c9a35db34712e382d364986
# bad: [51a763ab0fd0b2d5952d3c7f5c9943c81eb6528a] arm-trusted-firmware-sunxi: drop CPE ID
git bisect bad 51a763ab0fd0b2d5952d3c7f5c9943c81eb6528a
# bad: [377d8058879524d07231a11da0e5ccfeed0424e2] trusted-firmware-a.mk: use correct CPE ID
git bisect bad 377d8058879524d07231a11da0e5ccfeed0424e2
# bad: [f30414c56db372acbd32d4cf77a2d0164c3e2b71] kernel: bump 5.10 to 5.10.160
git bisect bad f30414c56db372acbd32d4cf77a2d0164c3e2b71
# first bad commit: [f30414c56db372acbd32d4cf77a2d0164c3e2b71] kernel: bump 5.10 to 5.10.160
First bad commit in the kernel:
965d93fb39b99348d6c327853afd4708b610e132 is the first bad commit
commit 965d93fb39b99348d6c327853afd4708b610e132
Author: Amir Goldstein <amir73il@gmail.com>
Date: Tue Dec 13 15:13:41 2022 +0200
vfs: fix copy_file_range() averts filesystem freeze protection
commit 10bc8e4af65946b727728d7479c028742321b60a upstream.
[backport comments for pre v5.15:
- ksmbd mentions are irrelevant - ksmbd hunks were dropped
- sb_write_started() is missing - assert was dropped
]
Commit 868f9f2f8e00 ("vfs: fix copy_file_range() regression in cross-fs
copies") removed fallback to generic_copy_file_range() for cross-fs
cases inside vfs_copy_file_range().
To preserve behavior of nfsd and ksmbd server-side-copy, the fallback to
generic_copy_file_range() was added in nfsd and ksmbd code, but that
call is missing sb_start_write(), fsnotify hooks and more.
Ideally, nfsd and ksmbd would pass a flag to vfs_copy_file_range() that
will take care of the fallback, but that code would be subtle and we got
vfs_copy_file_range() logic wrong too many times already.
Instead, add a flag to explicitly request vfs_copy_file_range() to
perform only generic_copy_file_range() and let nfsd and ksmbd use this
flag only in the fallback path.
This choise keeps the logic changes to minimum in the non-nfsd/ksmbd code
paths to reduce the risk of further regressions.
Fixes: 868f9f2f8e00 ("vfs: fix copy_file_range() regression in cross-fs copies")
Tested-by: Namjae Jeon <linkinjeon@kernel.org>
Tested-by: Luis Henriques <lhenriques@suse.de>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/nfsd/vfs.c | 4 ++--
fs/read_write.c | 17 +++++++++++++----
include/linux/fs.h | 8 ++++++++
3 files changed, 23 insertions(+), 6 deletions(-)
Bisect log:
# bad: [a2428a8dcb4f3eb80e7d38dba0bf71e4ff20cecd] Linux 5.10.160
# good: [931578be69875087a62524da69964d575426d287] Linux 5.10.159
git bisect start 'v5.10.160' 'v5.10.159'
# bad: [344739dc56f1b3e33e6a3170b89731d450455df6] ASoC: fsl_micfil: explicitly clear CHnF flags
git bisect bad 344739dc56f1b3e33e6a3170b89731d450455df6
# bad: [eb6313c12955c58c3d3d40f086c22e44ca1c9a1b] nfp: fix use-after-free in area_cache_get()
git bisect bad eb6313c12955c58c3d3d40f086c22e44ca1c9a1b
# good: [ed9673394979b7a5dff10ba878178054625beda9] vfs: fix copy_file_range() regression in cross-fs copies
git bisect good ed9673394979b7a5dff10ba878178054625beda9
# bad: [965d93fb39b99348d6c327853afd4708b610e132] vfs: fix copy_file_range() averts filesystem freeze protection
git bisect bad 965d93fb39b99348d6c327853afd4708b610e132
# first bad commit: [965d93fb39b99348d6c327853afd4708b610e132] vfs: fix copy_file_range() averts filesystem freeze protection
This is the kernel config diff for the OpenWrt (working) (+
) and gluon (not-working, -
) for the same OpenWrt version (f30414c56db372acbd32d4cf77a2d0164c3e2b71)
Not sure how to start - most likely somewhere near the filesystems (like CONFIG_FS_IOMAP)
With following openwrt default config, it is also possible to reproduce it:
CONFIG_TARGET_ath79=y
CONFIG_TARGET_ath79_generic=y
CONFIG_TARGET_MULTI_PROFILE=y
CONFIG_TARGET_DEVICE_ath79_generic_DEVICE_ubnt_unifiac-mesh=y
CONFIG_TARGET_DEVICE_PACKAGES_ath79_generic_DEVICE_ubnt_unifiac-mesh=""
CONFIG_ALL_KMODS=y
# CONFIG_KERNEL_AIO is not set
# CONFIG_KERNEL_CGROUPS is not set
# CONFIG_KERNEL_FANOTIFY is not set
# CONFIG_KERNEL_FHANDLE is not set
# CONFIG_KERNEL_IO_URING is not set
# CONFIG_KERNEL_IPV6_MROUTE is not set
# CONFIG_KERNEL_IPV6_SEG6_LWTUNNEL is not set
# CONFIG_KERNEL_IP_MROUTE is not set
CONFIG_KERNEL_PROC_STRIPPED=y
# CONFIG_TARGET_ROOTFS_INITRAMFS is not set
This config is really minimized. So If you change anything then it is highly likely that it will simply boot and you will not be able to reproduce the problem.
fml. I encountered this issue three? weeks ago and was under the impression it was a problem with the Librerouter I'm testing in #2654 with @T-X.
@ecsv are you sure about the other AC- devices? i tested AC LR and at least this device does not* have the issue. i may be able to test AC Pro later this week, AC Lite would be more difficult but not impossible.
@AiyionPrime what makes you think your issues are related and what exactly is your issue? maybe describe it in #2654, currently very vague over there.
Wrote @rotanid earlier; I pasted my boot-issue in hackint#gluon a few days ago towards @T-X, I think.
The LibreRouter v1 does not boot reliably, but from time to time. And if it doesn't, it hangs at the very same line @ecsv logged above in the first post.
[ 0.000000] Inode-cache hash table entries: [...]
I'll describe my findings on Wednesday evening on the other PR as @rotanid asked.
For this issue I'll recommend cold and warm booting the devices in question though, in order to see, whether your boot behavior might be as unstable as the one I currently find.
Just want to make sure we do not rule out other affected devices as working to early.
I ran across the same kernel freeze issue on the tp-link archer c7 in January and still had trouble reproducing it reliably with openwrt. It happened on two different Archer C7 v2. (I only verified one via serial so far, but the led behavior for the USB ports is the same, they stay lit, when kernel freezes on boot)
warm boot mostly worked, while cold boot didn't, atleast when wan/lan was plugged in.
If I unplugged wan, then the boot went through successfully past
[ 0.000000] Inode-cache hash table entries: [...]
On the next boot I could leave wan/lan plugged in and it would work successfully everytime (after first warm boot), so I'm not sure if it's actually wan or lan or if that doesn't affect it at all, since reproducing it was unreliable. I definitely had atleast 3 concurrent boots run into the same kernel freeze. Then I changed ports and it booted. (could be related or not)
Tried to build master with kernel debugging to find the cause but it always booted successfully. Likely because my config was different
I'm wondering whether it breaks on kernel 5.15 with @ecsv 's config. with my master build and a different config it didn' t break. (same for default openwrt build, which is why it probably never surfaced upstream)
I guess I could try to confirm his bisect for my device.
@Djfe Your described problem resulted in a hang directly after said line as well?
If I unplugged wan, then the boot went through successfully past
[ 0.000000] Inode-cache hash table entries: [...]
exactly, every time it froze (once I had connected it via ttl), it froze right on that line. never earlier never later
The following logs were not recorded consecutively. I forgot enabling logging for the run with the 3 consecutive attempts that failed. 🙈
I also have successful logs of a full boot and of booting to config mode, in-case they are relevant.
Recorded on Feb 3rd, but I encountered the behavior weeks earlier but couldn't figure out why booting failed at times. (until I finally had the time to look at the serial output)
U-Boot 1.1.4 (Jun 16 2016 - 12:02:34)
ap135 - Scorpion 1.0DRAM:
sri
Scorpion 1.0
ath_ddr_initial_config(178): (32bit) ddr2 init
tap = 0x00000003
Tap (low, high) = (0x4, 0x1e)
Tap values = (0x11, 0x11, 0x11, 0x11)
128 MB
Flash Manuf Id 0xef, DeviceId0 0x40, DeviceId1 0x18
flash size 16MB, sector count = 256
Flash: 16 MB
Using default environment
*** Warning *** : PCIe WLAN Module not found !!!
In: serial
Out: serial
Err: serial
Net: ath_gmac_enet_initialize...
athrs_sgmii_res_cal: cal value = 0xe
No valid address in Flash. Using fixed address
No valid address in Flash. Using fixed address
ath_gmac_enet_initialize: reset mask:c02200
Scorpion ----> S17 PHY *
Vlan config...
TEST: FINAL REG VAL after TX Calibration - 0x46000000
TEST: FINAL XMII VAL after RX Calibration - 0x56000000
TEST: FINAL ETH_CFG VAL after RX Calibration - 0x00028001
athrs17_reg_init: complete
: cfg1 0x80000000 cfg2 0x7335
eth0: ba:be:fa:ce:08:41
eth0 up
athrs17_reg_init_wan done
SGMII in forced mode
athr_gmac_sgmii_setup SGMII done
: cfg1 0x800c0000 cfg2 0x7214
eth1: ba:be:fa:ce:08:41
eth1 up
eth0, eth1
Setting 0x18116290 to 0x58b1214f
Autobooting in 1 seconds
## Booting image at 9f020000 ...
Uncompressing Kernel Image ... OK
Starting kernel ...
[ 0.000000] Linux version 5.10.160 (florian@ffac-community-build) (mips-openwrt-linux-musl-gcc (OpenWrt GCC 11.2.0 r20014+9-6c3e16055a) 11.2.0, GNU ld (GNU Binutils) 2.37) #0 Tue Dec 22 03:35:17 2020
[ 0.000000] printk: bootconsole [early0] enabled
[ 0.000000] CPU0 revision is: 00019750 (MIPS 74Kc)
[ 0.000000] MIPS: machine is TP-Link Archer C7 v2
[ 0.000000] SoC: Qualcomm Atheros QCA9558 ver 1 rev 0
[ 0.000000] Initrd not found or empty - disabling initrd
[ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[ 0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[ 0.000000] Zone ranges:
[ 0.000000] Normal [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 32512
[ 0.000000] Kernel command line: console=ttyS0,115200n8 rootfstype=squashfs,jffs2
[ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
U-Boot 1.1.4 (Jun 16 2016 - 12:02:34)
ap135 - Scorpion 1.0DRAM:
sri
Scorpion 1.0
ath_ddr_initial_config(178): (32bit) ddr2 init
tap = 0x00000003
Tap (low, high) = (0x4, 0x1f)
Tap values = (0x11, 0x11, 0x11, 0x11)
128 MB
Flash Manuf Id 0xef, DeviceId0 0x40, DeviceId1 0x18
flash size 16MB, sector count = 256
Flash: 16 MB
Using default environment
*** Warning *** : PCIe WLAN Module not found !!!
In: serial
Out: serial
Err: serial
Net: ath_gmac_enet_initialize...
athrs_sgmii_res_cal: cal value = 0xe
No valid address in Flash. Using fixed address
No valid address in Flash. Using fixed address
ath_gmac_enet_initialize: reset mask:c02200
Scorpion ----> S17 PHY *
Vlan config...
TEST: FINAL REG VAL after TX Calibration - 0x46000000
TEST: FINAL XMII VAL after RX Calibration - 0x56000000
TEST: FINAL ETH_CFG VAL after RX Calibration - 0x00028001
athrs17_reg_init: complete
: cfg1 0x80000000 cfg2 0x7335
eth0: ba:be:fa:ce:08:41
eth0 up
athrs17_reg_init_wan done
SGMII in forced mode
athr_gmac_sgmii_setup SGMII done
: cfg1 0x800c0000 cfg2 0x7214
eth1: ba:be:fa:ce:08:41
eth1 up
eth0, eth1
Setting 0x18116290 to 0x58b1214f
Autobooting in 1 seconds
## Booting image at 9f020000 ...
Uncompressing Kernel Image ... OK
Starting kernel ...
[ 0.000000] Linux version 5.10.160 (florian@ffac-community-build) (mips-openwrt-linux-musl-gcc (OpenWrt GCC 11.2.0 r20014+9-6c3e16055a) 11.2.0, GNU ld (GNU Binutils) 2.37) #0 Tue Dec 22 03:35:17 2020
[ 0.000000] printk: bootconsole [early0] enabled
[ 0.000000] CPU0 revision is: 00019750 (MIPS 74Kc)
[ 0.000000] MIPS: machine is TP-Link Archer C7 v2
[ 0.000000] SoC: Qualcomm Atheros QCA9558 ver 1 rev 0
[ 0.000000] Initrd not found or empty - disabling initrd
[ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[ 0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[ 0.000000] Zone ranges:
[ 0.000000] Normal [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 32512
[ 0.000000] Kernel command line: console=ttyS0,115200n8 rootfstype=squashfs,jffs2
[ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
On the LibreRouter (unstable) the next line in the bootlog would be:
[ 0.000000] Writing ErrCtl register=00000000
Originally posted by @AiyionPrime in https://github.com/freifunk-gluon/gluon/issues/2654#issuecomment-1431965849
at the Gluon meeting last week we decided to go with the same workaround @ecsv applied for FreifunkVogtland ( https://github.com/FreifunkVogtland/gluon/commit/40d54258fc550092e3df6fec1fb012cc398decf9 ) until we find a better solution
@ecsv As I've just came back (and to be sure i don't waste time looking at the wrong version) - You built gluon from the tag commit of v2022.1.2 (2751daa655c8adae66ffd2c004a4fca060ae1d43)
at least i did, yes - without and with workaround.
@blocktrron Yes. you can also have a look at the bisect logs for the various versions I've tested (and the results I had)
I've did some tests - From my testing it indicates there's a difference depending on the SoC type used, while it worked on no QCA955x / QCA956x board, older devices (Siemens WS-AP3610 / TL-WR1043v1) work just fine.
The difference here is the CPU (24Kc / 74Kc) as well as the system memory (DDR1/DDR2).
As none of the failing boards I've had at hand offered a jtag connector, I've tried around with the kernel start procedure and did make some observations.
vfs_caches_init_early
fixes the freeze for metrap_init
leads to the kernel freezing after the message.I'll see if we still have a Archer C7 v2 in storage, as it is the only QCA955x / 74Kc board i know of that has a debug port.
dropping this patch from OpenWrt also fixes the boot-process:
removing the issue from the milestones as workarounds have been implemented.
For the record - The same kernel boots on the Archer C7 v2 without anomalies, so it is probably not an issue related with the CPU architecture (24kc - 74kc).
Which Kernel? (from before the workaround?) In other words: were you able to reproduce the bug on archer c7 v2 at all?
The same one which is consistently failing on the AC Mesh.
Can you provide the image you see sporadously failing on your C7 v2? I was only able to reproduce it on a OCEDO Koala (which again does not offer a debugging interface).
will do, until then: Pls try a cold boot while wan and lan1 are connected. The issue never manifested for me with no wan connected, I think. Once I unplugged wan, it booted successfully.
I did experiment with this further.
Where my ac lite consistently hangs is with the call to tlbmiss_handler_setup_pgd
. This function is generated by the kernel itself in build_setup_pgd
where the icache is cleared in flush_tlb_handlers
subsequently.
However, the function memory itself is pre-compiled with an infinite loop (compare https://github.com/torvalds/linux/blob/master/arch/mips/mm/tlb-funcs.S#L20), sure enough, removing this infinite loop without altering the code leads to the AP booting 100% successfully (up from 0%).
One thing i did notice was the alteration of the functions length, which also reduced from 72 bytes to 64. I'm not familiar with MIPS caching, but is it possible that the icache can only be cleared with a multiple of the cache-line size? In that case, i would assume the sizing is a mistake, given the infinite loop was added later without altering the size of the function:
https://github.com/torvalds/linux/blob/master/arch/mips/mm/tlb-funcs.S#L20t
@blocktrron The function should flush all cache lines that overlap with the passed range (and I don't think the function start is aligned to 64 bytes anyways).
Can you provide the image you see sporadously failing on your C7 v2? I was only able to reproduce it on a OCEDO Koala (which again does not offer a debugging interface).
Sorry for being a bit late :/ ^^ regardless, here is the image: gluon-ffac-v2022.1.11-tp-link-archer-c7-v2-sysupgrade.bin.zip I'll do some testing myself now.
Maybe this patch is related? https://lore.kernel.org/lkml/20160301022738.GB12741@NP-P-BURTON/T/
The explanation of the patch makes sense in our case. I did apply it to Gluon and in fact, i yet have to encounter a failed boot on my AC Lite.
This would also explain why the issue was not observed on a 24kc board, as only 74kc supports out of order execution. This still has a taste to it, as 24kc boards are arguably not as common nowadays as 74kc.
For reference, the patch to Gluon i did apply was this: https://github.com/blocktrron/gluon/commit/e6c23d6d22d1772acdb650f049323a14ae1676ca
@Djfe can you have a look?
wait the patch fixed the issue not introduced it? interesting Sure will do. But first I have to reproduce the issue again in v2022.1.2 🙈 No clue, why it's booting flawlessly now or if something is different. I have trouble getting my device into a kernel freeze at all now.
Also interesting: I never had this issue on the Archer C7 v5. Not that I tested it extensively, but it's being used and reboots just fine every week (scheduled weekly reboot at Freifunk Aachen). We have two of them in the new testing "domain". The Archer C7 v5 also has a 74kc CPU like c7 v2 but it's the exact same model as the Unifi AC Mesh unlike c7 v2, according to this: https://wiki.freifunk-dresden.de/index.php/Router_technische_Details
edit: the clock is different though, so maybe not the exact same?
Bug report
What is the problem?
It was noticed that the AC mesh is no longer booting when it is upgraded to gluon 2022.1.2. This was also noticed on following other devices (but debugging with serial console was only done on AC-Mesh):
Maybe all devices in the Ubiquiti UniFi-AC-* series like (Ubiquiti UniFi-AC-LR, Ubiquiti UniFi-AC-MESH-PRO, ...).
Even on a fresh install, the output is only:
I've also tried to boot the original OpenWrt 22.03.3 image: ubnt_unifiac-mesh-initramfs-kernel.bin
But this is booting fine.
Simply loading the kernel from gluon is definitely not fine:
It shows the same output when trying via ram boot (yes, I know that it isn't supposed to work... but it should work a little bit better than what is shown earlier):
The "sysupgrade ramboot" hack works better (tm) with the 22.03.3 image from OpenWrt. And it also works fine with gluon 2022.1.1
Next steps:
build with the actual OpenWrt 22.03.3 in the gluon modules. If this works then it is bisect time.Turns out that it cannot be reproduced with the kernel from OpenWrt 22.03. It seems like something which gluon enables is triggering this problem. So I will first try to bisect it and then decide about the next steps.What is the expected behaviour?
The kernel is able to boot the device
Gluon Version:
v2022.1.2 (but not v2022.1.1)
Site Configuration:
https://github.com/FreifunkVogtland/site-ffv
Custom patches:
None in this test. But usually, I have some in https://github.com/FreifunkVogtland/gluon. But then I would talk about something like v2022.1.2-1 and not v2022.1.2