Attached are 2 files -- gzipped patch file against 2.3.99pre5. Simple test cases.
I say "preliminary" because in "asm/unistd.h", I'm dissatisfied w/the way the
64 bit call is implemented. It does work, but I'd like some assurance that
the compiler will continue to return the EDX, unmodified, from the kernel call. I'm
just not familiar enough w/gcc's RTL code to represent that the int 0x81 call
returns 2 values (EAX, EDX).
This implements the following:
2 system calls
int setaudit_id(uid_t);
if (!capable(CAP_AUDIT_CONTROL) (a posix capability))
errno=EPERM, returns -1;
if == -1, generate a new sess_id (64 bit value) and set process's
sess_id
else set 'luid' for the process
returns 0 on success;
long long getaudit_id(id);
id == 1 - return process's luid
id == 2 - return process's sess_id
else return -1 and errno=EINVAL;
Preferred Calling method via the defines (in include/linux/audit.h):
int setluid(uid_t)
int newsess_id()
uid_t getluid()
long long getsess_id()
The linux/audit.h includes an implementation dependant asm/audit.h. I created
these as empty files on the non-i386 platforms so no one would get build errors.
The initial value of sessid is 0x1 0000 0000, so the first call to get_sessid will
return that value (verifies that you are getting back a 64 bit UID).
Comments? Any RTL experts? :-)
-- Linda A Walsh | Trust Technology, Core Linux, SGI law@sgi.com | Voice: (650) 933-5338 --------------B91F96A2BFA3B746CAA58C17 Content-Type: application/x-gzip; name="audit.patch.gz" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="audit.patch.gz"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 --------------B91F96A2BFA3B746CAA58C17 Content-Type: application/octet-stream; name="auditid_test.tgz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="auditid_test.tgz"
H4sIAI+sAzkAA+1Y32/TMBDua/1XmKJBiprWTn9J2zoJIcELiAeEeIBpylI3teYmVeyum9D+ d85O0qRjENjarA/+HhL7fL6zHX8+50KmxIpPu0FjfyCUkNFg0CCE0pE3hDeAeukbMBxC2xiU xh4den3Qp33Pa2CyxzFtsJLKTzBuCH/9V731nDFRx4DqxUseBWI1ZfjUl4veKuJSTbvzM1TI QSD45W8yHm+LWJJE90TyVvbU7ZLJbbHg0eqm56+mXOkGxCOFFz6PsKNLfhIGnWAO3+QNFK+/ n7fRT9SELXqhsN6pJwg1+Qw7Wu/FhLYxtDaXCXSdOa2v0g/ZMT6SP6JWx3Qn5+0TUGA3XDlU F+9QU5vBExymW9/RUm1Ru29ryWTi5nZhVnHitDJVbKqtwqKXWcz9m95HU+1dF3Wr0SNQukPP /a0fAsxMMikv9nkEVPJ/RAv+D0FOPUJHlv91YJ/8fwzRRRyF2DyybXmCn074zFTK+ayyTftM +CDz895V5M9tHAlhToCsftiHwCf/is24YPv0UcX/vlfwf9zX/Kd02Lf8rwO+EMdAtTS85WEu Yut80xf7H6F37z++/fAFH0+wG2L3G3SFp1QJD5S7TGIVm2CP3c8edmfxgit3lvgL5i5jIAhL EMr8dOONy26AUFhIw0JajEE3lGppj1JbOYShQ+PXoaO8sPvyUcF/YPt4w/8RISb+e8Tyvw5U x//d/xOs/fRC8LSbgm5Z7uBvoGCAuRLknRWTisM1JJhzMe12u2DDNE9mcXK1uTwsU496LLCP lDauZ+e80jXjK7fHbljwWhsEf1jOGRye654pp84z+02tJ5xW75JHPTlvdYoSKdnDqUGBZz4E 72kH6ymB9czKHWZCsq3FMPPA9+8o5ftQ2X0hhxGUK6RYQDdfQVPrH+LtxqIK8vnzP9Qblc7/ ATH5n4E9/2tBZbbm8Uf9fwWUnYWFcqbooRjh/SFGgDfoc1aZOJo4xkPbVzF3jCY9z6NBRibH 5H5OyfafpPzHHFJtgUePpp6oU0qLbZJu96KNFqahJi3ZOGNhYWFhYWFhYWFhYWFhYWGxG/wC Yy4YHQAoAAA= --------------B91F96A2BFA3B746CAA58C17--
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/