Date: Tue, 14 Mar 2017 18:09:28 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 217787] libsysdecode: Bogus rights when decoding cap_rights_t Message-ID: <bug-217787-8@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D217787 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@FreeBSD.org Reporter: tobik@freebsd.org Created attachment 180821 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D180821&action= =3Dedit 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,CA= P_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@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. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-217787-8>