[Bug 217787] libsysdecode: Bogus rights when decoding cap_rights_t
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Tue Mar 14 18:09:29 UTC 2017
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=217787
Bug ID: 217787
Summary: libsysdecode: Bogus rights when decoding cap_rights_t
Product: Base System
Version: CURRENT
Hardware: Any
OS: Any
Status: New
Keywords: patch
Severity: Affects Only Me
Priority: ---
Component: bin
Assignee: freebsd-bugs at FreeBSD.org
Reporter: tobik at freebsd.org
Created attachment 180821
--> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=180821&action=edit
libsysdecode.diff
I wanted to added cap_rights_t decoding to truss(1) and thought with
sysdecode_cap_rights(3) it was going to be trivial, but it does not seem
to decode cap_rights_t properly.
Consider this simple test program:
#include <sys/capsicum.h>
int
main(int argc, char *argv[])
{
cap_rights_t rights;
cap_rights_init(&rights, CAP_WRITE);
cap_rights_limit(1, &rights);
return 0;
}
When ktraceing+kdumping it I get the following wrong output at the moment:
90024 bla STRU cap_rights_t
CAP_MAC_GET,CAP_MAC_SET,CAP_SEM_GETVALUE,CAP_SEM_WAIT,CAP_EVENT,CAP_KQUEUE_EVENT,CAP_IOCTL,CAP_PDWAIT,CAP_PDKILL,CAP_EXTATTR_DELETE,CAP_EXTATTR_GET,CAP_EXTATTR_LIST,CAP_ACL_GET,CAP_KQUEUE_CHANGE
I'd expect it to be
90024 bla STRU cap_rights_t CAP_WRITE
The attached patch fixes this for me.
FreeBSD thor 12.0-CURRENT FreeBSD 12.0-CURRENT #0 5ba1b0f9966(master): Tue Mar
14 15:59:54 CET 2017 root at thor:/usr/obj/usr/src/sys/GENERIC amd64
The problem also exists with the most recent 12.0-CURRENT snapshot
20170309-r314972, but not on 11.0-RELEASE.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list