HomeFreeBSD

Add stricter checks on user changes to SSTATUS.

Description

Add stricter checks on user changes to SSTATUS.

Rather than trying to blacklist which bits userland can't write to via
sigreturn() or setcontext(), only permit changes to whitelisted bits.

  • Permit arbitrary writes to bits in the user-writable USTATUS register that shadows SSTATUS.
  • Ignore changes in write-only bits maintained by the CPU.
  • Ignore the user-supplied value of the FS field used to track floating point state and instead set it to a value matching the actions taken by set_fpcontext().

Discussed with: mhorne
MFC after: 2 weeks
Sponsored by: DARPA
Differential Revision: https://reviews.freebsd.org/D23338

Details

Provenance
jhbAuthored on
Differential Revision
D23338: Add stricter checks on user changes to SSTATUS.
Parents
rS357343: services: Add PROFInet and EtherCAT.
Branches
Unknown
Tags
Unknown