diff options
author | fche <fche> | 2006-08-12 05:13:09 +0000 |
---|---|---|
committer | fche <fche> | 2006-08-12 05:13:09 +0000 |
commit | 814bc89d4635f101b2c0077598f31aad95ed15b7 (patch) | |
tree | 407a49dbaf446af4751f5068607a7fb8dad0611d /testsuite/systemtap.syscall/uid16.c | |
parent | 6b6d04673a1ef175821afc7d4fabdb496698e8e3 (diff) | |
download | systemtap-steved-814bc89d4635f101b2c0077598f31aad95ed15b7.tar.gz systemtap-steved-814bc89d4635f101b2c0077598f31aad95ed15b7.tar.xz systemtap-steved-814bc89d4635f101b2c0077598f31aad95ed15b7.zip |
2006-08-12 Frank Ch. Eigler <fche@elastic.org>
* configure.ac, Makefile.am: Descend into testsuite/
directory. Remove local test logic.
* configure, Makefile.in: Regenerated.
* runtest.sh: Not yet removed.
* HACKING: Update for new testsuite layout.
2006-08-12 Frank Ch. Eigler <fche@elastic.org>
* all: Reorganized old pass-1..4 tests one dejagnu bucket.
Moved over old pass-5 tests, except for disabled syscalls tests.
* Makefile (installcheck): New target for running pass-1..5
tests against installed systemtap.
Diffstat (limited to 'testsuite/systemtap.syscall/uid16.c')
-rw-r--r-- | testsuite/systemtap.syscall/uid16.c | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/testsuite/systemtap.syscall/uid16.c b/testsuite/systemtap.syscall/uid16.c new file mode 100644 index 00000000..1c7f9df3 --- /dev/null +++ b/testsuite/systemtap.syscall/uid16.c @@ -0,0 +1,72 @@ +/* COVERAGE: getuid16 geteuid16 getgid16 getegid16 setuid16 setresuid16 */ +/* COVERAGE: getresuid16 setgid16 setresgid16 getresgid16 setreuid16 setregid16 */ +/* COVERAGE: setfsuid16 setfsgid16 */ + +#ifdef __i386__ + +/* These are all obsolete 16-bit calls that are still there for compatibility. */ + +#include <sys/types.h> +#include <unistd.h> +#include <pwd.h> +#include <sys/syscall.h> + +int main () +{ + uid_t uid, ruid, euid, suid; + gid_t gid, rgid, egid, sgid; + + uid = syscall(__NR_getuid); + // getuid16 () = NNNN + + uid = syscall(__NR_geteuid); + // geteuid16 () = NNNN + + gid = syscall(__NR_getgid); + // getgid16 () = NNNN + + gid = syscall(__NR_getegid); + // getegid16 () = NNNN + + + + syscall(__NR_setuid, 4096); + // setuid16 (4096) = + + syscall(__NR_setresuid, -1, 4097, -1); + // setresuid16 (-1, 4097, -1) = + + syscall(__NR_getresuid, &ruid, &euid, &suid); + // getresuid16 (XXXX, XXXX, XXXX) = + + syscall(__NR_setgid, 4098); + // setgid16 (4098) = + + syscall(__NR_setresgid, -1, 4099, -1); + // setresgid16 (-1, 4099, -1) = + + syscall(__NR_getresgid, &rgid, &egid, &sgid); + // getresgid16 (XXXX, XXXX, XXXX) = + + syscall(__NR_setreuid, -1, 5000); + // setreuid16 (-1, 5000) = + + syscall(__NR_setreuid, 5001, -1); + // setreuid16 (5001, -1) = + + syscall(__NR_setregid, -1, 5002); + // setregid16 (-1, 5002) = + + syscall(__NR_setregid, 5003, -1); + // setregid16 (5003, -1) = + + syscall(__NR_setfsuid, 5004); + // setfsuid16 (5004) = + + syscall(__NR_setfsgid, 5005); + // setfsgid16 (5005) = + + return 0; +} + +#endif /* __i386__ */ |