I have a workaround for this:

    UBUNTU: SAUCE: riscv: Disable VMAP_STACK since it fails with efi
    
    When VMAP_STACK is enabled, kernel threads have their stacks in the vmalloc
    region.
    
    So when The kworker responsible for handling efi work queue (efi_call_rts) 
calls
    efi_virtmap_load and then switch_mm, if the stack of the worker is in a 
vmalloc
    area not yet synchronized with efi_mm (since RISC-V lazily populates vmalloc
    area), an attempt to access this stack will trigger a fault which can't be
    resolved since when trying to save the context, a new trap will be 
triggered and
    so on.
    
    So disable VMAP_STACK for now until we figure out the correct fix.

And I'm working on the proper fix which consists in synchronizing the
efi page table with the page table of the calling thread before
switching to efi mm.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1967130

Title:
  rcu_sched detected stalls on CPUs/tasks

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-riscv/+bug/1967130/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to