Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(1808): migrate to linux 6.8.9 #2124

Open
wants to merge 25 commits into
base: master
Choose a base branch
from

Commits on May 25, 2024

  1. feat(1808): migrate to Linux 6.8.9

    close #1808
    kingluo committed May 25, 2024
    Configuration menu
    Copy the full SHA
    21e7fff View commit details
    Browse the repository at this point in the history
  2. apply stats fix in advanced

    kingluo committed May 25, 2024
    Configuration menu
    Copy the full SHA
    8e0e942 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    dc6d26d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    bca16f5 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    1040a54 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    95d8481 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    86e3043 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    e6256ea View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    7c10e6a View commit details
    Browse the repository at this point in the history

Commits on May 27, 2024

  1. Configuration menu
    Copy the full SHA
    3d5730e View commit details
    Browse the repository at this point in the history

Commits on Jun 4, 2024

  1. Configuration menu
    Copy the full SHA
    89d2f30 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2e4a18d View commit details
    Browse the repository at this point in the history

Commits on Jun 6, 2024

  1. fix assembly functions: RET and endbr64-jump-table

    Problems:
    
    1. In the new kernel, assembly functions uniformly return from
       `__x86_return_thunk`. However, our assembly code uses the original
       `ret` instruction, so objtool in the kernel will notice this is a naked
       return during compilation.
    
    2. `SYM_FUNC_START` in the new kernel will add endbr64 to the head of
       the assembly function, and all indirect jumps to ENDBR instructions,
       that is, the code snippet within the same function, will fail, but we
       use jump tables in the assembly function to perform indirect jumps. It
       will raise CET exception:
       https://en.wikipedia.org/wiki/X86_instruction_listings#Added_with_Intel_CET).
    
    Solutions:
    
    1. Substitute the `ret` with `RET`, a macro in the new kernel to
       ensure the correct return.
    
    2. `notrack jmp` and enable notrack in CPU setting:
       `wrmsrl(MSR_IA32_S_CET, CET_ENDBR_EN | CET_NO_TRACK_EN)`
    
    As an aside, interestingly, if a user-mode C program uses a switch
    statement that meets the conditions for generating a jump table (gcc
    uses `-fcf-protection=full` by default), the generated jump table will
    use a `jmp` with the `notrack` prefix, and IBT will be marked as `true`
    in the `.note.gnu.property` section of the compiled elf file, so that
    the `NO_TRACK_EN` of the `MSR` will be set to `true` in user mode when
    the kernel is loaded. So user mode can use `notrack` to bypass CET
    without caring about setting or not setting `NO_TRACK_EN`.
    kingluo committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    f8b1e53 View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2024

  1. Configuration menu
    Copy the full SHA
    356c594 View commit details
    Browse the repository at this point in the history
  2. clean up temporary changes

    kingluo committed Jun 17, 2024
    Configuration menu
    Copy the full SHA
    8afb1d6 View commit details
    Browse the repository at this point in the history
  3. add linux-6.8.9.patch

    kingluo committed Jun 17, 2024
    Configuration menu
    Copy the full SHA
    e95951a View commit details
    Browse the repository at this point in the history

Commits on Jun 26, 2024

  1. Configuration menu
    Copy the full SHA
    99bb027 View commit details
    Browse the repository at this point in the history

Commits on Jul 4, 2024

  1. Configuration menu
    Copy the full SHA
    c1c068b View commit details
    Browse the repository at this point in the history
  2. merge master branch: 0dee025

    kingluo committed Jul 4, 2024
    Configuration menu
    Copy the full SHA
    96628ac View commit details
    Browse the repository at this point in the history
  3. update linux-6.8.9.patch

    kingluo committed Jul 4, 2024
    Configuration menu
    Copy the full SHA
    f8de856 View commit details
    Browse the repository at this point in the history

Commits on Jul 8, 2024

  1. Revert "enable fpu in the whole softirq ctx"

    This reverts commit 89d2f30.
    kingluo committed Jul 8, 2024
    Configuration menu
    Copy the full SHA
    094940e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    eb1e9ec View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2406021 View commit details
    Browse the repository at this point in the history

Commits on Jul 9, 2024

  1. Configuration menu
    Copy the full SHA
    b73a31a View commit details
    Browse the repository at this point in the history

Commits on Jul 14, 2024

  1. Configuration menu
    Copy the full SHA
    09bd329 View commit details
    Browse the repository at this point in the history