Skip to content

Feature: Run the kernel through Miri #2

Description

@Rain336

Describe your use case

Miri can detect Undefined Behavior, Memory Bugs and a lot more.
Making this hard is that Miri is not meant to be run for a kernel, so it doesn't know about certain memory mapped devices, changes to address translation, but also Miri cannot interpret programs that contain asm macros.

Describe your solution

Two things have to happen for this to work.
Firstly, Miri has to be modified to support address translation, this can be implemented similar to a real CPU with a TLB to accelerate translation.
Secondly, Microdragon needs to be changed to be more Miri frendly, mainly that asm macros have to be stubbed or replaced with Miri intrinsics.

Alternatives to your solution

We could just not run the kernel through Miri, but adding a tool like this to our pipeline is very valuable, so I would prefer to have it.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    featurePropsal for a bigger feature or change

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions