Skip to content

[BUG] panic() does NOT do a full halt #26

@NotYourFox

Description

@NotYourFox

Describe the bug
After revision of MR #23 I noticed that I forgot to disable interrupts in panic() (sys/panic.c). The fix would be to acquire a permanent interrupt lock via cpu_interrupt_lock_acquire().
Feature request: add cpu_full_halt(), which:

  1. acquires interrupt reflock
  2. disallows force-unlock (set allow_force_unlock flag to false)
  3. calls halt()

To Reproduce
Steps to reproduce the behavior:

  1. call panic()
  2. fire an interrupt
  3. that escapes panic state

Expected behavior
panic() does a full halt and is impossible to escape.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions