X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=instrumentation%2Fsyscalls%2Fheaders%2Fx86-64-syscalls-3.10.0-rc7_pointers_override.h;fp=instrumentation%2Fsyscalls%2Fheaders%2Fx86-64-syscalls-3.10.0-rc7_pointers_override.h;h=0000000000000000000000000000000000000000;hb=6314c2d3a4ad617f5f122083a7fda007d4319b92;hp=6bf5291c8e470a5145432b3d3235a457d404a87b;hpb=9143c6d5444e809b9d411c07a8dae94c151668ae;p=lttng-modules.git diff --git a/instrumentation/syscalls/headers/x86-64-syscalls-3.10.0-rc7_pointers_override.h b/instrumentation/syscalls/headers/x86-64-syscalls-3.10.0-rc7_pointers_override.h deleted file mode 100644 index 6bf5291c..00000000 --- a/instrumentation/syscalls/headers/x86-64-syscalls-3.10.0-rc7_pointers_override.h +++ /dev/null @@ -1,174 +0,0 @@ -#ifndef CREATE_SYSCALL_TABLE - -#define OVERRIDE_64_connect -SC_LTTNG_TRACEPOINT_EVENT_CODE(connect, - TP_PROTO(sc_exit(long ret,) int fd, struct sockaddr __user * uservaddr, int addrlen), - TP_ARGS(sc_exit(ret,) fd, uservaddr, addrlen), - TP_locvar( - __typeof__(uservaddr->sa_family) sa_family; - uint16_t dport; - uint32_t v4addr; - uint16_t v6addr[8]; - unsigned int v4addr_len, v6addr_len; - ), - TP_code_pre( - sc_in( - memset(tp_locvar, 0, sizeof(*tp_locvar)); - if (addrlen < sizeof(tp_locvar->sa_family)) - goto skip_code; - (void) lib_ring_buffer_copy_from_user_check_nofault(&tp_locvar->sa_family, - &uservaddr->sa_family, sizeof(tp_locvar->sa_family)); - switch (tp_locvar->sa_family) { - case AF_INET: - if (addrlen < sizeof(struct sockaddr_in)) - goto skip_code; - (void) lib_ring_buffer_copy_from_user_check_nofault(&tp_locvar->dport, - &((struct sockaddr_in __user *) uservaddr)->sin_port, - sizeof(tp_locvar->dport)); - (void) lib_ring_buffer_copy_from_user_check_nofault(&tp_locvar->v4addr, - &((struct sockaddr_in __user *) uservaddr)->sin_addr.s_addr, - sizeof(tp_locvar->v4addr)); - tp_locvar->v4addr_len = 4; - break; - case AF_INET6: - if (addrlen < sizeof(struct sockaddr_in6)) - goto skip_code; - (void) lib_ring_buffer_copy_from_user_check_nofault(&tp_locvar->dport, - &((struct sockaddr_in6 __user *) uservaddr)->sin6_port, - sizeof(tp_locvar->dport)); - if (lib_ring_buffer_copy_from_user_check_nofault(tp_locvar->v6addr, - &((struct sockaddr_in6 __user *) uservaddr)->sin6_addr.in6_u.u6_addr8, - sizeof(tp_locvar->v6addr))) - memset(tp_locvar->v6addr, 0, sizeof(tp_locvar->v6addr)); - tp_locvar->v6addr_len = 8; - break; - } - skip_code: - ) - ), - TP_FIELDS( - sc_exit(ctf_integer(long, ret, ret)) - sc_in(ctf_integer(int, fd, fd)) - sc_in(ctf_integer_hex(struct sockaddr *, uservaddr, uservaddr)) - sc_in(ctf_integer_hex(int, addrlen, addrlen)) - sc_in(ctf_integer(unsigned short, family, tp_locvar->sa_family)) - sc_in(ctf_integer_network(uint16_t, dport, tp_locvar->dport)) - sc_in(ctf_sequence_network(uint8_t, v4addr, &tp_locvar->v4addr, unsigned int, tp_locvar->v4addr_len)) - sc_in(ctf_sequence_network(uint16_t, v6addr, &tp_locvar->v6addr, unsigned int, tp_locvar->v6addr_len)) - ), - TP_code_post() -) - -#define LTTNG_SYSCALL_ACCEPT_locvar \ - __typeof__(upeer_sockaddr->sa_family) sa_family;\ - uint16_t sport; \ - uint32_t v4addr; \ - uint16_t v6addr[8]; \ - int v4addr_len, v6addr_len; \ - int uaddr_len; - -#define LTTNG_SYSCALL_ACCEPT_code_pre \ - sc_inout( \ - memset(tp_locvar, 0, sizeof(*tp_locvar)); \ - (void) lib_ring_buffer_copy_from_user_check_nofault(&tp_locvar->uaddr_len, \ - upeer_addrlen, sizeof(tp_locvar->uaddr_len)); \ - ) \ - sc_out( \ - if (tp_locvar->uaddr_len < sizeof(tp_locvar->sa_family)) \ - goto skip_code; \ - (void) lib_ring_buffer_copy_from_user_check_nofault(&tp_locvar->sa_family, \ - &upeer_sockaddr->sa_family, sizeof(tp_locvar->sa_family)); \ - switch (tp_locvar->sa_family) { \ - case AF_INET: \ - if (tp_locvar->uaddr_len < sizeof(struct sockaddr_in)) \ - goto skip_code; \ - (void) lib_ring_buffer_copy_from_user_check_nofault(&tp_locvar->sport, \ - &((struct sockaddr_in __user *) upeer_sockaddr)->sin_port, \ - sizeof(tp_locvar->sport)); \ - (void) lib_ring_buffer_copy_from_user_check_nofault(&tp_locvar->v4addr, \ - &((struct sockaddr_in __user *) upeer_sockaddr)->sin_addr.s_addr, \ - sizeof(tp_locvar->v4addr)); \ - tp_locvar->v4addr_len = 4; \ - break; \ - case AF_INET6: \ - if (tp_locvar->uaddr_len < sizeof(struct sockaddr_in6)) \ - goto skip_code; \ - (void) lib_ring_buffer_copy_from_user_check_nofault(&tp_locvar->sport, \ - &((struct sockaddr_in6 __user *) upeer_sockaddr)->sin6_port, \ - sizeof(tp_locvar->sport)); \ - if (lib_ring_buffer_copy_from_user_check_nofault(tp_locvar->v6addr, \ - &((struct sockaddr_in6 __user *) upeer_sockaddr)->sin6_addr.in6_u.u6_addr8, \ - sizeof(tp_locvar->v6addr))) \ - memset(tp_locvar->v6addr, 0, sizeof(tp_locvar->v6addr)); \ - tp_locvar->v6addr_len = 8; \ - break; \ - } \ - skip_code: \ - ) - -#define OVERRIDE_64_accept -SC_LTTNG_TRACEPOINT_EVENT_CODE(accept, - TP_PROTO(sc_exit(long ret,) int fd, struct sockaddr __user * upeer_sockaddr, int __user * upeer_addrlen), - TP_ARGS(sc_exit(ret,) fd, upeer_sockaddr, upeer_addrlen), - TP_locvar( - LTTNG_SYSCALL_ACCEPT_locvar - ), - TP_code_pre( - LTTNG_SYSCALL_ACCEPT_code_pre - ), - TP_FIELDS( - sc_exit(ctf_integer(long, ret, ret)) - sc_in(ctf_integer(int, fd, fd)) - sc_in(ctf_integer_hex(struct sockaddr *, upeer_sockaddr, upeer_sockaddr)) - sc_inout(ctf_integer(int, upeer_addrlen, tp_locvar->uaddr_len)) - sc_out(ctf_integer(unsigned short, family, tp_locvar->sa_family)) - sc_out(ctf_integer_network(uint16_t, sport, tp_locvar->sport)) - sc_out(ctf_sequence_network(uint8_t, v4addr, &tp_locvar->v4addr, unsigned int, tp_locvar->v4addr_len)) - sc_out(ctf_sequence_network(uint16_t, v6addr, &tp_locvar->v6addr, unsigned int, tp_locvar->v6addr_len)) - ), - TP_code_post() -) - -#define OVERRIDE_64_accept4 -SC_LTTNG_TRACEPOINT_EVENT_CODE(accept4, - TP_PROTO(sc_exit(long ret,) int fd, struct sockaddr __user * upeer_sockaddr, int __user * upeer_addrlen, int flags), - TP_ARGS(sc_exit(ret,) fd, upeer_sockaddr, upeer_addrlen, flags), - TP_locvar( - LTTNG_SYSCALL_ACCEPT_locvar - ), - TP_code_pre( - LTTNG_SYSCALL_ACCEPT_code_pre - ), - TP_FIELDS( - sc_exit(ctf_integer(long, ret, ret)) - sc_in(ctf_integer(int, fd, fd)) - sc_in(ctf_integer_hex(struct sockaddr *, upeer_sockaddr, upeer_sockaddr)) - sc_inout(ctf_integer(int, upeer_addrlen, tp_locvar->uaddr_len)) - sc_in(ctf_integer_hex(int, flags, flags)) - sc_out(ctf_integer(unsigned short, family, tp_locvar->sa_family)) - sc_out(ctf_integer_network(uint16_t, sport, tp_locvar->sport)) - sc_out(ctf_sequence_network(uint8_t, v4addr, &tp_locvar->v4addr, unsigned int, tp_locvar->v4addr_len)) - sc_out(ctf_sequence_network(uint16_t, v6addr, &tp_locvar->v6addr, unsigned int, tp_locvar->v6addr_len)) - ), - TP_code_post() -) - -#define OVERRIDE_64_pipe -SC_LTTNG_TRACEPOINT_EVENT(pipe, - TP_PROTO(sc_exit(long ret,) int * fildes), - TP_ARGS(sc_exit(ret,) fildes), - TP_FIELDS(sc_exit(ctf_integer(long, ret, ret)) - sc_out(ctf_user_array(int, fildes, fildes, 2)) - ) -) - -#else /* CREATE_SYSCALL_TABLE */ - -#define OVERRIDE_TABLE_64_clone -TRACE_SYSCALL_TABLE(clone, clone, 56, 5) -#define OVERRIDE_TABLE_64_execve -TRACE_SYSCALL_TABLE(execve, execve, 59, 3) -#define OVERRIDE_TABLE_64_getcpu -TRACE_SYSCALL_TABLE(getcpu, getcpu, 309, 3) - -#endif /* CREATE_SYSCALL_TABLE */