Page MenuHomeFreeBSD

arm64: Don't enable interrupts when in a spinlock
Needs ReviewPublic

Authored by andrew on Fri, Sep 27, 3:50 PM.

Details

Reviewers
kib
markj
manu
Group Reviewers
arm64
Summary

When we receive an exception while in a spinlock we shouldn't enable
interrupts. When entering a spinlock we disable interrupts so enabling
them here could cause surprising results.

The three cases that could cause this are:

  1. A break-before-make sequence
  2. Accessing possibly unmapped code with a fault handler
  3. Buggy code

1 and 2 are supported later in the data abort handler, and 3 should be
fixed when found.

Sponsored by: Arm Ltd

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 59627
Build 56514: arc lint + arc unit