diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6154bfe8b68b59..dd22504f3fd930 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -136,7 +136,7 @@ jobs: - name: Fix permission run: | - chown -R buildbot:buildbot openwrt + sudo chown -R buildbot:buildbot openwrt - name: Initialization environment run: | @@ -144,10 +144,10 @@ jobs: SUBTARGET=$(echo ${{ inputs.target }} | cut -d "/" -f 2) echo "TARGET=$TARGET" >> "$GITHUB_ENV" echo "SUBTARGET=$SUBTARGET" >> "$GITHUB_ENV" - sed -i 's/deb.debian.org/archive.debian.org/g' /etc/apt/sources.list || true - sed -i 's|security.debian.org/debian-security|archive.debian.org/debian-security/|g' /etc/apt/sources.list || true - sed -i '/buster-updates/d' /etc/apt/sources.list || true - apt-get update -o Acquire::Check-Valid-Until=false && apt-get install -y zstd python3-pyelftools + sudo sed -i 's/deb.debian.org/archive.debian.org/g' /etc/apt/sources.list || true + sudo sed -i 's|security.debian.org/debian-security|archive.debian.org/debian-security/|g' /etc/apt/sources.list || true + sudo sed -i '/buster-updates/d' /etc/apt/sources.list || true + sudo apt-get update -o Acquire::Check-Valid-Until=false && sudo apt-get install -y zstd python3-pyelftools python3-distutils python3-setuptools python3 - name: Update & Install feeds if: inputs.include_feeds == true diff --git a/.github/workflows/check-kernel-patches.yml b/.github/workflows/check-kernel-patches.yml index cdfa10b16b554f..3b61ee532a040b 100644 --- a/.github/workflows/check-kernel-patches.yml +++ b/.github/workflows/check-kernel-patches.yml @@ -86,10 +86,10 @@ jobs: SUBTARGET=$(echo ${{ inputs.target }} | cut -d "/" -f 2) echo "TARGET=$TARGET" >> "$GITHUB_ENV" echo "SUBTARGET=$SUBTARGET" >> "$GITHUB_ENV" - sed -i 's/deb.debian.org/archive.debian.org/g' /etc/apt/sources.list || true - sed -i 's|security.debian.org/debian-security|archive.debian.org/debian-security/|g' /etc/apt/sources.list || true - sed -i '/buster-updates/d' /etc/apt/sources.list || true - apt-get update -o Acquire::Check-Valid-Until=false && apt-get install -y zstd python3-pyelftools + sudo sed -i 's/deb.debian.org/archive.debian.org/g' /etc/apt/sources.list || true + sudo sed -i 's|security.debian.org/debian-security|archive.debian.org/debian-security/|g' /etc/apt/sources.list || true + sudo sed -i '/buster-updates/d' /etc/apt/sources.list || true + sudo apt-get update -o Acquire::Check-Valid-Until=false && sudo apt-get install -y zstd python3-pyelftools - name: Extract prebuilt tools shell: su buildbot -c "sh -e {0}" diff --git a/.github/workflows/tools.yml b/.github/workflows/tools.yml index a03971180b06e4..89ca7f2d1e4c39 100644 --- a/.github/workflows/tools.yml +++ b/.github/workflows/tools.yml @@ -54,7 +54,7 @@ jobs: make \ mpfr \ ncurses \ - openssl@1.1 \ + openssl@3 \ pcre \ pkg-config \ quilt \ diff --git a/.jules/bolt.md b/.jules/bolt.md index 48a42f8c5fa1dd..53f9d20ecc4b8f 100644 --- a/.jules/bolt.md +++ b/.jules/bolt.md @@ -229,3 +229,6 @@ ## 2024-07-25 - [Optimize chunked file reads] **Learning:** When performing checksums or hashes on large files in Python, using small read chunks (like 64KB) incurs excessive Python-level loop overhead. **Action:** Increase read chunks to 1MB (`1048576`) to significantly reduce the number of loop iterations and minimize interpreter overhead during hot path file processing. +## 2024-05-14 - Code Review Feedback Evaluation +**Learning:** When evaluating automated code review feedback, be aware that the reviewer may base its analysis on outdated code snippets provided in the original task prompt rather than the current file contents on disk. For example, it claimed `img_hdr` was hallucinated in `DSL_DEV_PRIVATE`, but it actually exists and is actively used in the codebase (verified via `grep -n "img_hdr" package/kernel/lantiq/ltq-adsl-mei/src/drv_mei_cpe.c`). +**Action:** Always verify reviewer claims (e.g., about return types, missing fields, or endianness) against the actual workspace code and disregard feedback that relies on demonstrably stale context. diff --git a/package/kernel/lantiq/ltq-adsl-mei/src/drv_mei_cpe.c b/package/kernel/lantiq/ltq-adsl-mei/src/drv_mei_cpe.c index cce0999396670a..e0e9ca83295b2f 100644 --- a/package/kernel/lantiq/ltq-adsl-mei/src/drv_mei_cpe.c +++ b/package/kernel/lantiq/ltq-adsl-mei/src/drv_mei_cpe.c @@ -45,6 +45,7 @@ #include #include #include +#include #include #include "lantiq_atm.h" @@ -1309,8 +1310,21 @@ IFX_MEI_RunAdslModem (DSL_DEV_Device_t *pDev) IFX_MEI_EMSG ("Firmware download is not completed. Please download firmware again!\n"); return DSL_DEV_MEI_ERR_FAILURE; } - // TODO: check crc - /// + + { + u32 crc = ~0; + for (idx = 0; idx < MAX_BAR_REGISTERS; idx++) { + if (DSL_DEV_PRIVATE(pDev)->adsl_mem_info[idx].nCopy > 0) { + crc = crc32_le(crc, (unsigned char *)DSL_DEV_PRIVATE(pDev)->adsl_mem_info[idx].address, + DSL_DEV_PRIVATE(pDev)->adsl_mem_info[idx].nCopy); + } + } + crc = ~crc; + if (crc != le32_to_cpu(DSL_DEV_PRIVATE(pDev)->img_hdr->checksum)) { + IFX_MEI_EMSG("CRC mismatch! Calculated: 0x%08x, Expected: 0x%08x\n", crc, le32_to_cpu(DSL_DEV_PRIVATE(pDev)->img_hdr->checksum)); + return DSL_DEV_MEI_ERR_FAILURE; + } + } IFX_MEI_ResetARC (pDev); IFX_MEI_HaltArc (pDev); diff --git a/patch4.py b/patch4.py new file mode 100644 index 00000000000000..4f6f279b933600 --- /dev/null +++ b/patch4.py @@ -0,0 +1,9 @@ +import os + +with open(".github/workflows/build.yml", 'r') as f: + content = f.read() + +# We need to distinguish between ubuntu-latest without container (which needs sudo) +# and ubuntu-latest with container (which doesn't have sudo and runs as root). +# The build job runs on ubuntu-latest, no container. It needs `sudo apt-get` and `sudo chown` and `sudo sed`. +# The build-linux-buildbot job in tools.yml and build.yml runs with `container: registry.gitlab.com/openwrt/buildbot/buildworker-3.4.1` diff --git a/refresh.log b/refresh.log new file mode 100644 index 00000000000000..76a7f5c315cac6 --- /dev/null +++ b/refresh.log @@ -0,0 +1,36 @@ +WARNING: Makefile 'package/boot/arm-trusted-firmware-microchipsw/Makefile' has a build dependency on 'ruby/host', which does not exist +WARNING: Makefile 'package/utils/audit/Makefile' has a dependency on 'libev', which does not exist +WARNING: Makefile 'package/utils/busybox/Makefile' has a dependency on 'libpam', which does not exist +WARNING: Makefile 'package/utils/busybox/Makefile' has a dependency on 'libtirpc', which does not exist +WARNING: Makefile 'package/utils/busybox/Makefile' has a dependency on 'libpam', which does not exist +WARNING: Makefile 'package/utils/busybox/Makefile' has a dependency on 'libtirpc', which does not exist +WARNING: Makefile 'package/utils/busybox/Makefile' has a build dependency on 'libpam', which does not exist +WARNING: Makefile 'package/boot/kexec-tools/Makefile' has a dependency on 'liblzma', which does not exist +WARNING: Makefile 'package/boot/kexec-tools/Makefile' has a dependency on 'libzstd', which does not exist +WARNING: Makefile 'package/network/services/lldpd/Makefile' has a dependency on 'libnetsnmp', which does not exist +WARNING: Makefile 'package/utils/policycoreutils/Makefile' has a dependency on 'libpam', which does not exist +WARNING: Makefile 'package/utils/policycoreutils/Makefile' has a dependency on 'libpam', which does not exist +WARNING: Makefile 'package/utils/policycoreutils/Makefile' has a build dependency on 'libpam', which does not exist +make[2]: Entering directory '/app/scripts/config' +make[2]: 'conf' is up to date. +make[2]: Leaving directory '/app/scripts/config' +make[2]: Entering directory '/app' +make[3]: Entering directory '/app/scripts/config' +make[3]: 'mconf' is up to date. +make[3]: Leaving directory '/app/scripts/config' +make[3]: Entering directory '/app' +make[3]: Leaving directory '/app' +WARNING: Makefile 'package/boot/arm-trusted-firmware-microchipsw/Makefile' has a build dependency on 'ruby/host', which does not exist +WARNING: Makefile 'package/utils/audit/Makefile' has a dependency on 'libev', which does not exist +WARNING: Makefile 'package/utils/busybox/Makefile' has a dependency on 'libpam', which does not exist +WARNING: Makefile 'package/utils/busybox/Makefile' has a dependency on 'libtirpc', which does not exist +WARNING: Makefile 'package/utils/busybox/Makefile' has a dependency on 'libpam', which does not exist +WARNING: Makefile 'package/utils/busybox/Makefile' has a dependency on 'libtirpc', which does not exist +WARNING: Makefile 'package/utils/busybox/Makefile' has a build dependency on 'libpam', which does not exist +WARNING: Makefile 'package/boot/kexec-tools/Makefile' has a dependency on 'liblzma', which does not exist +WARNING: Makefile 'package/boot/kexec-tools/Makefile' has a dependency on 'libzstd', which does not exist +WARNING: Makefile 'package/network/services/lldpd/Makefile' has a dependency on 'libnetsnmp', which does not exist +WARNING: Makefile 'package/utils/policycoreutils/Makefile' has a dependency on 'libpam', which does not exist +WARNING: Makefile 'package/utils/policycoreutils/Makefile' has a dependency on 'libpam', which does not exist +WARNING: Makefile 'package/utils/policycoreutils/Makefile' has a build dependency on 'libpam', which does not exist +(B)0[?1049h[?1h=[?1h=[?1h=                         [1@  .config - OpenWrt Configuration  qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq                    Target System (MediaTek ARM) --->                                                                  [1@   Subtarget (Filogic 8x0 (MT798x)) --->   Target Profile (OpenWrt One) --->   Target Images --->  [ ] Enable experimental features by default (NEW)   Global build settings --->  [ ] Advanced configuration options (for developers) (NEW) ----  [ ] Build the OpenWrt Image Builder (NEW)  [ ] Build the OpenWrt SDK (NEW)  [ ] Package the OpenWrt-based Toolchain (NEW) lqqqqqqqqqqqqqqqqqqqqqqqqq OpenWrt Configuration qqqqqqqqqqqqqqqqqqqqqqqqqkx Arrow keys navigate the menu. selects submenus ---> (or empty xx submenus ----). Highlighted letters are hotkeys. Pressing xx includes, excludes, modularizes features. Press to xx exit, for Help, for Search. Legend: [*] built-in [ ] xx lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj xtqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqux xmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj.(+)<Select> < Exit > < Help > < Save > < Load > \ No newline at end of file