修正rwlock有的地方由于未使用ManuallyDrop导致的use after free && spinlock守卫新增leak,spinlock新增force unlock功能. #922
Workflow file for this run
This file contains 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: Build Check | |
on: | |
push: | |
branches: [ "master" ] | |
pull_request: | |
branches: [ "master" ] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Cache DragonOS GCC | |
id: cache-dragonos-gcc | |
uses: actions/cache@v3 | |
env: | |
cache-name: cache-dragonos-gcc | |
with: | |
path: | | |
~/opt | |
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('tools/build_gcc_toolchain.sh') }} | |
- if: ${{ steps.cache-dragonos-gcc.outputs.cache-hit != 'true' }} | |
name: build dragonos-gcc | |
continue-on-error: true | |
run: bash tools/build_gcc_toolchain.sh -f | |
- name: Cache build tools | |
id: cache-build-tools | |
uses: actions/cache@v3 | |
env: | |
cache-name: cache-build-tools | |
dadk_version: 0.1.1 | |
with: | |
path: | | |
~/.cargo | |
~/.rustup | |
~/.bashrc | |
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ env.dadk_version }}-${{ hashFiles('.github/workflows/makefile.yml') }} | |
- if: ${{ steps.cache-build-tools.outputs.cache-hit != 'true' }} | |
name: Install toolchain | |
continue-on-error: true | |
run: sudo sh -c "apt update && apt install -y llvm-dev libclang-dev clang gcc-multilib libssl-dev" && cargo install cargo-binutils && rustup toolchain install nightly && rustup default nightly && rustup component add rust-src && rustup component add llvm-tools-preview && rustup target add x86_64-unknown-none && rustup component add rust-src --toolchain nightly-x86_64-unknown-linux-gnu && cargo install dadk --version 0.1.1 | |
- name: build the DragonOS | |
run: bash -c "source ~/.cargo/env && export DragonOS_GCC=$HOME/opt/dragonos-gcc/gcc-x86_64-unknown-none/bin && make -j $(nproc) " |