Page MenuHomeFreeBSD

The ops EL_SIGNAL, EL_EDITMODE, EL_UNBUFFERED, and EL_PREP_TERM all take an int, not an int*.
ClosedPublic

Authored by brooks on Nov 2 2015, 9:11 PM.
Tags
None
Referenced Files
F137092181: D4071.id9899.diff
Fri, Nov 21, 3:11 AM
F137091786: D4071.id.diff
Fri, Nov 21, 3:10 AM
F137091745: D4071.id9893.diff
Fri, Nov 21, 3:10 AM
F137090904: D4071.diff
Fri, Nov 21, 3:08 AM
Unknown Object (File)
Thu, Nov 13, 5:28 PM
Unknown Object (File)
Thu, Nov 13, 2:07 PM
Unknown Object (File)
Thu, Nov 13, 2:07 PM
Unknown Object (File)
Thu, Nov 13, 10:27 AM
Subscribers

Details

Summary

Sponsored by: DARPA, AFRL
Discovered with: CHERI

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 1010
Build 1013: arc lint + arc unit

Event Timeline

brooks retitled this revision from to The ops EL_SIGNAL, EL_EDITMODE, EL_UNBUFFERED, and EL_PREP_TERM all take an int, not an int*..
brooks updated this object.
brooks edited the test plan for this revision. (Show Details)
brooks added a reviewer: bapt.

This bug is harmless in practice on current hardware because el_wget() is also a varargs function and va_arg(ap, int *) effectively copies the argument unmodified. On CHERI it causes a hardware trap because varargs are stored in a bounded array an reading 16-32 bytes out of an 8 byte array isn't allowed.

bapt edited edge metadata.

Looks good, but please upstream this change as well.

This revision is now accepted and ready to land.Nov 2 2015, 9:22 PM
This revision was automatically updated to reflect the committed changes.