Page MenuHomeFreeBSD

runtime: add uexterr_set(3) to set errors in userspace
Needs ReviewPublic

Authored by brooks on Mon, Jul 6, 4:06 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Jul 8, 11:11 AM
Unknown Object (File)
Wed, Jul 8, 9:52 AM
Unknown Object (File)
Wed, Jul 8, 8:54 AM
Unknown Object (File)
Tue, Jul 7, 7:30 PM
Unknown Object (File)
Tue, Jul 7, 6:57 PM
Subscribers

Details

Reviewers
kib
mckusick
Group Reviewers
cheri
Summary

XXX: this lacks documentation and probably isn't the right interface,
but it's enough to add tests for new error formats without disturbing
the kernel. This is mostly to spark conversation.

Effort: CHERI upstreaming
Sponsored by: Innovate UK

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 74552
Build 71435: arc lint + arc unit

Event Timeline

brooks requested review of this revision.Mon, Jul 6, 4:06 PM

The big thing that needs to be dealt with for this to make sense is to have a way to specify the filename that isn't a table embedded in libc. A first cut could be a special index that means no-file and perhaps using -1 as the line, but without that, we can't scale beyond files in the base system. (This also poses a problem for out of tree kernel modules.) We might also want macros like the kernel, but I'm less sure of that.

lib/libthr/thread/thr_syscalls.c
664

Create a libc helper in the private version namespace that takes uexterrp, and call it there and in the libc' uexterr_set().