From: Eugene Loh Date: Thu, 7 Sep 2017 15:40:16 +0000 (-0700) Subject: dtrace: implement tracemem optional third arg (dyn size) X-Git-Tag: v4.1.12-111.0.20170918_2215~182^2~3 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=78ac89eca9304be623d4ec6fb89bef950162a171;p=users%2Fjedix%2Flinux-maple.git dtrace: implement tracemem optional third arg (dyn size) Solaris DTrace added a third, optional argument, dynamic size. Here we implement this for Linux, including introducing the new user-visible arguments DTRACE_TRACEMEM_STATIC DTRACE_TRACEMEM_DYNAMIC DTRACE_TRACEMEM_SIZE DTRACE_TRACEMEM_SSIZE as well as refactoring the dt_print_bytes() raw label, making it its own function dt_print_rawbytes(). Orabug: 26223475 Signed-off-by: Eugene Loh Reviewed-by: Tomas Jedlicka --- diff --git a/dtrace/dtrace_ecb.c b/dtrace/dtrace_ecb.c index 68e2e54bb5abd..52b04badc3f03 100644 --- a/dtrace/dtrace_ecb.c +++ b/dtrace/dtrace_ecb.c @@ -257,6 +257,7 @@ static int dtrace_ecb_action_add(dtrace_ecb_t *ecb, dtrace_actdesc_t *desc) state, (char *)(uintptr_t)arg); } + case DTRACEACT_TRACEMEM: case DTRACEACT_LIBACT: case DTRACEACT_DIFEXPR: if (dp == NULL) diff --git a/dtrace/dtrace_probe.c b/dtrace/dtrace_probe.c index 7b97f55f04469..2a107b81542b0 100644 --- a/dtrace/dtrace_probe.c +++ b/dtrace/dtrace_probe.c @@ -996,6 +996,7 @@ void dtrace_probe(dtrace_id_t id, uintptr_t arg0, uintptr_t arg1, case DTRACEACT_PRINTA: case DTRACEACT_SYSTEM: case DTRACEACT_FREOPEN: + case DTRACEACT_TRACEMEM: break; case DTRACEACT_SYM: diff --git a/include/uapi/linux/dtrace/actions_defines.h b/include/uapi/linux/dtrace/actions_defines.h index 57306f8f16aaf..6d4dda8a1705c 100644 --- a/include/uapi/linux/dtrace/actions_defines.h +++ b/include/uapi/linux/dtrace/actions_defines.h @@ -34,6 +34,7 @@ #define DTRACEACT_PRINTF 3 /* printf() action */ #define DTRACEACT_PRINTA 4 /* printa() action */ #define DTRACEACT_LIBACT 5 /* library-controlled action */ +#define DTRACEACT_TRACEMEM 6 /* tracemem() action */ #define DTRACEACT_PROC 0x0100 #define DTRACEACT_USTACK (DTRACEACT_PROC + 1)