[Backport][0.9 to 0.8] | | fix(iouring): plug UAF on _async_io early returns (#1569) (#1619) #2194
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Linux x86_64 | |
| # Runs triggered by removing an irrelevant label would have all jobs skipped, but they | |
| # still enter the concurrency group and would cancel an in-progress CI run. Divert them | |
| # into a separate '-noop' group so they never interfere with real CI runs. | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }}${{ (github.event.action == 'unlabeled' && github.event.label.name != 'needs-manual-merge') && '-noop' || '' }} | |
| cancel-in-progress: true | |
| on: | |
| pull_request: | |
| types: [opened, synchronize, reopened, unlabeled] | |
| branches: [ "main", "release/*" ] | |
| jobs: | |
| gcc850: | |
| if: ${{ !contains(github.event.pull_request.labels.*.name, 'needs-manual-merge') && (github.event.action != 'unlabeled' || github.event.label.name == 'needs-manual-merge') }} | |
| runs-on: ubuntu-latest | |
| container: | |
| image: ghcr.io/alibaba/photon-ut-base:latest | |
| options: --cpus 4 --privileged | |
| steps: | |
| - uses: szenius/set-timezone@v2.0 | |
| with: | |
| timezoneLinux: "Asia/Shanghai" | |
| timezoneMacos: "Asia/Shanghai" | |
| timezoneWindows: "China Standard Time" | |
| - uses: actions/checkout@v4 | |
| - name: Build | |
| run: | | |
| cmake -B build -D CMAKE_BUILD_TYPE=MinSizeRel \ | |
| -D PHOTON_ENABLE_ECOSYSTEM=ON \ | |
| -D PHOTON_BUILD_TESTING=ON \ | |
| -D PHOTON_ENABLE_SASL=ON \ | |
| -D PHOTON_ENABLE_FUSE=ON \ | |
| -D PHOTON_ENABLE_URING=ON \ | |
| -D PHOTON_ENABLE_LIBCURL=ON \ | |
| -D PHOTON_ENABLE_EXTFS=ON | |
| cmake --build build -j $(nproc) -- VERBOSE=1 | |
| - name: Test epoll | |
| run: | | |
| cd build && ctest -E test-lockfree --timeout 3600 -V | |
| - name: Test io_uring | |
| run: | | |
| export PHOTON_CI_EV_ENGINE=io_uring | |
| cd build && ctest -E test-lockfree --timeout 3600 -V | |
| - name: Test epoll_ng | |
| run: | | |
| export PHOTON_CI_EV_ENGINE=epoll_ng | |
| cd build && ctest -E test-lockfree --timeout 3600 -V | |
| gcc921: | |
| if: ${{ !contains(github.event.pull_request.labels.*.name, 'needs-manual-merge') && (github.event.action != 'unlabeled' || github.event.label.name == 'needs-manual-merge') }} | |
| runs-on: ubuntu-latest | |
| container: | |
| image: ghcr.io/alibaba/photon-ut-base:latest | |
| options: --cpus 4 --privileged | |
| steps: | |
| - uses: szenius/set-timezone@v2.0 | |
| with: | |
| timezoneLinux: "Asia/Shanghai" | |
| timezoneMacos: "Asia/Shanghai" | |
| timezoneWindows: "China Standard Time" | |
| - uses: actions/checkout@v4 | |
| - name: Build | |
| run: | | |
| source /opt/rh/gcc-toolset-9/enable | |
| cmake -B build -D CMAKE_BUILD_TYPE=MinSizeRel \ | |
| -D PHOTON_ENABLE_ECOSYSTEM=ON \ | |
| -D PHOTON_BUILD_TESTING=ON \ | |
| -D PHOTON_ENABLE_SASL=ON \ | |
| -D PHOTON_ENABLE_FUSE=ON \ | |
| -D PHOTON_ENABLE_URING=ON \ | |
| -D PHOTON_ENABLE_LIBCURL=ON \ | |
| -D PHOTON_ENABLE_EXTFS=ON | |
| cmake --build build -j $(nproc) -- VERBOSE=1 | |
| - name: Test epoll | |
| run: | | |
| cd build && ctest -E test-lockfree --timeout 3600 -V | |
| - name: Test io_uring | |
| run: | | |
| export PHOTON_CI_EV_ENGINE=io_uring | |
| cd build && ctest -E test-lockfree --timeout 3600 -V | |
| - name: Test epoll_ng | |
| run: | | |
| export PHOTON_CI_EV_ENGINE=epoll_ng | |
| cd build && ctest -E test-lockfree --timeout 3600 -V | |
| gcc1031: | |
| if: ${{ !contains(github.event.pull_request.labels.*.name, 'needs-manual-merge') && (github.event.action != 'unlabeled' || github.event.label.name == 'needs-manual-merge') }} | |
| runs-on: ubuntu-latest | |
| container: | |
| image: ghcr.io/alibaba/photon-ut-base:latest | |
| options: --cpus 4 --privileged | |
| steps: | |
| - uses: szenius/set-timezone@v2.0 | |
| with: | |
| timezoneLinux: "Asia/Shanghai" | |
| timezoneMacos: "Asia/Shanghai" | |
| timezoneWindows: "China Standard Time" | |
| - uses: actions/checkout@v4 | |
| - name: Build | |
| run: | | |
| source /opt/rh/gcc-toolset-10/enable | |
| cmake -B build -D CMAKE_BUILD_TYPE=MinSizeRel \ | |
| -D PHOTON_ENABLE_ECOSYSTEM=ON \ | |
| -D PHOTON_BUILD_TESTING=ON \ | |
| -D PHOTON_ENABLE_SASL=ON \ | |
| -D PHOTON_ENABLE_FUSE=ON \ | |
| -D PHOTON_ENABLE_URING=ON \ | |
| -D PHOTON_ENABLE_LIBCURL=ON \ | |
| -D PHOTON_ENABLE_EXTFS=ON | |
| cmake --build build -j $(nproc) -- VERBOSE=1 | |
| - name: Test epoll | |
| run: | | |
| cd build && ctest -E test-lockfree --timeout 3600 -V | |
| - name: Test io_uring | |
| run: | | |
| export PHOTON_CI_EV_ENGINE=io_uring | |
| cd build && ctest -E test-lockfree --timeout 3600 -V | |
| - name: Test epoll_ng | |
| run: | | |
| export PHOTON_CI_EV_ENGINE=epoll_ng | |
| cd build && ctest -E test-lockfree --timeout 3600 -V | |
| gcc1121: | |
| if: ${{ !contains(github.event.pull_request.labels.*.name, 'needs-manual-merge') && (github.event.action != 'unlabeled' || github.event.label.name == 'needs-manual-merge') }} | |
| runs-on: ubuntu-latest | |
| container: | |
| image: ghcr.io/alibaba/photon-ut-base:latest | |
| options: --cpus 4 --privileged | |
| steps: | |
| - uses: szenius/set-timezone@v2.0 | |
| with: | |
| timezoneLinux: "Asia/Shanghai" | |
| timezoneMacos: "Asia/Shanghai" | |
| timezoneWindows: "China Standard Time" | |
| - uses: actions/checkout@v4 | |
| - name: Build | |
| run: | | |
| source /opt/rh/gcc-toolset-11/enable | |
| cmake -B build -D CMAKE_BUILD_TYPE=MinSizeRel \ | |
| -D PHOTON_ENABLE_ECOSYSTEM=ON \ | |
| -D PHOTON_BUILD_TESTING=ON \ | |
| -D PHOTON_ENABLE_SASL=ON \ | |
| -D PHOTON_ENABLE_FUSE=ON \ | |
| -D PHOTON_ENABLE_URING=ON \ | |
| -D PHOTON_ENABLE_LIBCURL=ON \ | |
| -D PHOTON_ENABLE_EXTFS=ON | |
| cmake --build build -j $(nproc) -- VERBOSE=1 | |
| - name: Test epoll | |
| run: | | |
| cd build && ctest -E test-lockfree --timeout 3600 -V | |
| - name: Test io_uring | |
| run: | | |
| export PHOTON_CI_EV_ENGINE=io_uring | |
| cd build && ctest -E test-lockfree --timeout 3600 -V | |
| - name: Test epoll_ng | |
| run: | | |
| export PHOTON_CI_EV_ENGINE=epoll_ng | |
| cd build && ctest -E test-lockfree --timeout 3600 -V | |
| gcc1211: | |
| if: ${{ !contains(github.event.pull_request.labels.*.name, 'needs-manual-merge') && (github.event.action != 'unlabeled' || github.event.label.name == 'needs-manual-merge') }} | |
| runs-on: ubuntu-latest | |
| container: | |
| image: ghcr.io/alibaba/photon-ut-base:latest | |
| options: --cpus 4 --privileged | |
| steps: | |
| - uses: szenius/set-timezone@v2.0 | |
| with: | |
| timezoneLinux: "Asia/Shanghai" | |
| timezoneMacos: "Asia/Shanghai" | |
| timezoneWindows: "China Standard Time" | |
| - uses: actions/checkout@v4 | |
| - name: Build | |
| run: | | |
| source /opt/rh/gcc-toolset-12/enable | |
| cmake -B build -D CMAKE_BUILD_TYPE=MinSizeRel \ | |
| -D PHOTON_ENABLE_ECOSYSTEM=ON \ | |
| -D PHOTON_BUILD_TESTING=ON \ | |
| -D PHOTON_ENABLE_SASL=ON \ | |
| -D PHOTON_ENABLE_FUSE=ON \ | |
| -D PHOTON_ENABLE_URING=ON \ | |
| -D PHOTON_ENABLE_LIBCURL=ON \ | |
| -D PHOTON_ENABLE_EXTFS=ON | |
| cmake --build build -j $(nproc) -- VERBOSE=1 | |
| - name: Test epoll | |
| run: | | |
| cd build && ctest -E test-lockfree --timeout 3600 -V | |
| - name: Test io_uring | |
| run: | | |
| export PHOTON_CI_EV_ENGINE=io_uring | |
| cd build && ctest -E test-lockfree --timeout 3600 -V | |
| - name: Test epoll_ng | |
| run: | | |
| export PHOTON_CI_EV_ENGINE=epoll_ng | |
| cd build && ctest -E test-lockfree --timeout 3600 -V | |
| fstack: | |
| if: ${{ !contains(github.event.pull_request.labels.*.name, 'needs-manual-merge') && (github.event.action != 'unlabeled' || github.event.label.name == 'needs-manual-merge') }} | |
| runs-on: ubuntu-latest | |
| container: | |
| image: ghcr.io/alibaba/photon-ut-fstack:latest | |
| options: --cpus 4 --privileged | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Build | |
| run: | | |
| cmake -B build -D CMAKE_BUILD_TYPE=MinSizeRel \ | |
| -D PHOTON_BUILD_TESTING=ON \ | |
| -D PHOTON_ENABLE_FSTACK_DPDK=ON | |
| cmake --build build -j $(nproc) -t fstack-dpdk-demo |