Do not use SYS_ipc and SYS_socketcall
* linux/dummy.h (sys_ipc, sys_socketcall): Remove redirections to printargs. * linux/ia64/syscallent.h: Likewise. * linux/i386/syscallent.h: Remove native_scno initialization for "ipc" and "socketcall". * linux/syscall.h (sys_ipc, sys_socketcall): New prototypes. (SYS_ipc, SYS_socketcall): Remove no longer used constants. [IA64]: Remove undefining of ipc and socket SYS_* constants. [SPARC || SPARC64]: Remove unused ipc SYS_* constants. * ipc.c (sys_ipc): New function. * sock.c (sys_socketcall): Likewise. * syscall.c (trace_syscall_entering): Use sys_func to check for ipc and socket subcalls.
This commit is contained in:
parent
9aa25abb2e
commit
b5e88d43a8
6
ipc.c
6
ipc.c
@ -560,3 +560,9 @@ sys_mq_getsetattr(struct tcb *tcp)
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
int
|
||||
sys_ipc(struct tcb *tcp)
|
||||
{
|
||||
return printargs(tcp);
|
||||
}
|
||||
|
@ -114,10 +114,6 @@
|
||||
#define sys_timer_getoverrun printargs
|
||||
#define sys_vhangup printargs
|
||||
|
||||
/* subcall entry points */
|
||||
#define sys_socketcall printargs
|
||||
#define sys_ipc printargs
|
||||
|
||||
/* unimplemented */
|
||||
#define sys_afs_syscall printargs
|
||||
#define sys_break printargs
|
||||
|
@ -130,7 +130,7 @@
|
||||
{ 2, TF, sys_statfs, "statfs" }, /* 99 */
|
||||
{ 2, TD, sys_fstatfs, "fstatfs" }, /* 100 */
|
||||
{ 3, 0, sys_ioperm, "ioperm" }, /* 101 */
|
||||
{ 2, TD, sys_socketcall, "socketcall", SYS_socketcall }, /* 102 */
|
||||
{ 2, TD, sys_socketcall, "socketcall" }, /* 102 */
|
||||
{ 3, 0, sys_syslog, "syslog" }, /* 103 */
|
||||
{ 3, 0, sys_setitimer, "setitimer" }, /* 104 */
|
||||
{ 2, 0, sys_getitimer, "getitimer" }, /* 105 */
|
||||
@ -145,7 +145,7 @@
|
||||
{ 4, TP, sys_wait4, "wait4", }, /* 114 */
|
||||
{ 1, TF, sys_swapoff, "swapoff" }, /* 115 */
|
||||
{ 1, 0, sys_sysinfo, "sysinfo" }, /* 116 */
|
||||
{ 6, TI, sys_ipc, "ipc", SYS_ipc }, /* 117 */
|
||||
{ 6, TI, sys_ipc, "ipc", }, /* 117 */
|
||||
{ 1, TD, sys_fsync, "fsync" }, /* 118 */
|
||||
{ 0, TS, sys_sigreturn, "sigreturn" }, /* 119 */
|
||||
{ 5, TP, sys_clone, "clone", SYS_clone }, /* 120 */
|
||||
|
@ -80,7 +80,6 @@
|
||||
#define sys_statfs printargs
|
||||
#define sys_fstatfs printargs
|
||||
#define sys_ioperm printargs
|
||||
#define sys_socketcall printargs
|
||||
#define sys_setitimer printargs
|
||||
#define sys_getitimer printargs
|
||||
#define sys_stat printargs
|
||||
@ -92,7 +91,6 @@
|
||||
#define sys_vm86old printargs
|
||||
#define sys_wait4 printargs
|
||||
#define sys_sysinfo printargs
|
||||
#define sys_ipc printargs
|
||||
#define sys_sigreturn printargs
|
||||
#define sys_uname printargs
|
||||
#define sys_modify_ldt printargs
|
||||
@ -184,7 +182,6 @@
|
||||
#undef sys_statfs
|
||||
#undef sys_fstatfs
|
||||
#undef sys_ioperm
|
||||
#undef sys_socketcall
|
||||
#undef sys_setitimer
|
||||
#undef sys_getitimer
|
||||
#undef sys_stat
|
||||
@ -196,7 +193,6 @@
|
||||
#undef sys_vm86old
|
||||
#undef sys_wait4
|
||||
#undef sys_sysinfo
|
||||
#undef sys_ipc
|
||||
#undef sys_sigreturn
|
||||
#undef sys_uname
|
||||
#undef sys_modify_ldt
|
||||
|
@ -122,6 +122,7 @@ int sys_io_getevents();
|
||||
int sys_io_setup();
|
||||
int sys_io_submit();
|
||||
int sys_ioctl();
|
||||
int sys_ipc();
|
||||
int sys_kill();
|
||||
int sys_link();
|
||||
int sys_linkat();
|
||||
@ -259,6 +260,7 @@ int sys_sigreturn();
|
||||
int sys_sigsetmask();
|
||||
int sys_sigsuspend();
|
||||
int sys_socket();
|
||||
int sys_socketcall();
|
||||
int sys_socketpair();
|
||||
int sys_splice();
|
||||
int sys_stat();
|
||||
@ -315,32 +317,6 @@ int sys_osf_wait4();
|
||||
|
||||
#if !defined(ALPHA) && !defined(MIPS) && !defined(HPPA) && \
|
||||
!defined(__ARM_EABI__)
|
||||
# ifdef IA64
|
||||
/*
|
||||
* IA64 syscall numbers (the only ones available from standard header
|
||||
* files) are disjoint from IA32 syscall numbers. We need to define
|
||||
* the IA32 socket call number here.
|
||||
*/
|
||||
# define SYS_socketcall 102
|
||||
|
||||
# undef SYS_socket
|
||||
# undef SYS_bind
|
||||
# undef SYS_connect
|
||||
# undef SYS_listen
|
||||
# undef SYS_accept
|
||||
# undef SYS_getsockname
|
||||
# undef SYS_getpeername
|
||||
# undef SYS_socketpair
|
||||
# undef SYS_send
|
||||
# undef SYS_recv
|
||||
# undef SYS_sendto
|
||||
# undef SYS_recvfrom
|
||||
# undef SYS_shutdown
|
||||
# undef SYS_setsockopt
|
||||
# undef SYS_getsockopt
|
||||
# undef SYS_sendmsg
|
||||
# undef SYS_recvmsg
|
||||
# endif /* IA64 */
|
||||
# if defined(SPARC) || defined(SPARC64)
|
||||
# define SYS_socket_subcall 353
|
||||
# else
|
||||
@ -352,41 +328,10 @@ int sys_osf_wait4();
|
||||
|
||||
#if !defined(ALPHA) && !defined(MIPS) && !defined(HPPA) && \
|
||||
!defined(__ARM_EABI__)
|
||||
# ifdef IA64
|
||||
/*
|
||||
* IA64 syscall numbers (the only ones available from standard
|
||||
* header files) are disjoint from IA32 syscall numbers. We need
|
||||
* to define the IA32 socket call number here. Fortunately, this
|
||||
* symbol, `SYS_ipc', is not used by any of the IA64 code so
|
||||
* re-defining this symbol will not cause a problem.
|
||||
*/
|
||||
# undef SYS_ipc
|
||||
# define SYS_ipc 117
|
||||
# undef SYS_semop
|
||||
# undef SYS_semget
|
||||
# undef SYS_semctl
|
||||
# undef SYS_semtimedop
|
||||
# undef SYS_msgsnd
|
||||
# undef SYS_msgrcv
|
||||
# undef SYS_msgget
|
||||
# undef SYS_msgctl
|
||||
# undef SYS_shmat
|
||||
# undef SYS_shmdt
|
||||
# undef SYS_shmget
|
||||
# undef SYS_shmctl
|
||||
# endif /* IA64 */
|
||||
#define SYS_ipc_subcall ((SYS_socket_subcall)+(SYS_socket_nsubcalls))
|
||||
|
||||
#define SYS_ipc_nsubcalls 25
|
||||
#endif /* !(ALPHA || MIPS || HPPA) */
|
||||
|
||||
#if defined SYS_ipc_subcall && !defined SYS_ipc
|
||||
# define SYS_ipc SYS_ipc_subcall
|
||||
#endif
|
||||
#if defined SYS_socket_subcall && !defined SYS_socketcall
|
||||
# define SYS_socketcall SYS_socket_subcall
|
||||
#endif
|
||||
|
||||
#ifdef IA64
|
||||
/*
|
||||
* IA64 syscall numbers (the only ones available from standard header
|
||||
@ -434,19 +379,8 @@ int sys_semsys();
|
||||
int sys_shmsys();
|
||||
#define SYS_semsys_subcall 200
|
||||
#define SYS_semsys_nsubcalls 3
|
||||
#define SYS_semctl (SYS_semsys_subcall + 0)
|
||||
#define SYS_semget (SYS_semsys_subcall + 1)
|
||||
#define SYS_semop (SYS_semsys_subcall + 2)
|
||||
#define SYS_msgsys_subcall 203
|
||||
#define SYS_msgsys_nsubcalls 4
|
||||
#define SYS_msgget (SYS_msgsys_subcall + 0)
|
||||
#define SYS_msgctl (SYS_msgsys_subcall + 1)
|
||||
#define SYS_msgrcv (SYS_msgsys_subcall + 2)
|
||||
#define SYS_msgsnd (SYS_msgsys_subcall + 3)
|
||||
#define SYS_shmsys_subcall 207
|
||||
#define SYS_shmsys_nsubcalls 4
|
||||
#define SYS_shmat (SYS_shmsys_subcall + 0)
|
||||
#define SYS_shmctl (SYS_shmsys_subcall + 1)
|
||||
#define SYS_shmdt (SYS_shmsys_subcall + 2)
|
||||
#define SYS_shmget (SYS_shmsys_subcall + 3)
|
||||
#endif
|
||||
|
6
sock.c
6
sock.c
@ -291,3 +291,9 @@ sock_ioctl(struct tcb *tcp, long code, long arg)
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
sys_socketcall(struct tcb *tcp)
|
||||
{
|
||||
return printargs(tcp);
|
||||
}
|
||||
|
28
syscall.c
28
syscall.c
@ -1733,19 +1733,28 @@ trace_syscall_entering(struct tcb *tcp)
|
||||
goto ret;
|
||||
}
|
||||
|
||||
switch (known_scno(tcp)) {
|
||||
#if defined(SYS_socket_subcall) || defined(SYS_ipc_subcall)
|
||||
while (SCNO_IN_RANGE(tcp->scno)) {
|
||||
#ifdef SYS_socket_subcall
|
||||
case SYS_socketcall:
|
||||
decode_subcall(tcp, SYS_socket_subcall,
|
||||
SYS_socket_nsubcalls, deref_style);
|
||||
break;
|
||||
if (sysent[tcp->scno].sys_func == sys_socketcall) {
|
||||
decode_subcall(tcp, SYS_socket_subcall,
|
||||
SYS_socket_nsubcalls, deref_style);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
#ifdef SYS_ipc_subcall
|
||||
case SYS_ipc:
|
||||
decode_subcall(tcp, SYS_ipc_subcall,
|
||||
SYS_ipc_nsubcalls, shift_style);
|
||||
break;
|
||||
if (sysent[tcp->scno].sys_func == sys_ipc) {
|
||||
decode_subcall(tcp, SYS_ipc_subcall,
|
||||
SYS_ipc_nsubcalls, shift_style);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
#endif /* SYS_socket_subcall || SYS_ipc_subcall */
|
||||
|
||||
#if defined(SVR4) || defined(FREEBSD) || defined(SUNOS4)
|
||||
switch (known_scno(tcp)) {
|
||||
#ifdef SVR4
|
||||
#ifdef SYS_pgrpsys_subcall
|
||||
case SYS_pgrpsys:
|
||||
@ -1820,6 +1829,7 @@ trace_syscall_entering(struct tcb *tcp)
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
#endif /* SVR4 || FREEBSD || SUNOS4 */
|
||||
|
||||
internal_syscall(tcp);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user