[DTrace-devel] [PATCH] Provide the maximum string length as BPF symbol STRSZ

Kris Van Hees kris.van.hees at oracle.com
Thu Aug 19 23:46:17 PDT 2021


Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
---
 libdtrace/dt_bpf.h   | 7 ++++---
 libdtrace/dt_cc.c    | 4 ++++
 libdtrace/dt_dlibs.c | 1 +
 3 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/libdtrace/dt_bpf.h b/libdtrace/dt_bpf.h
index dcc82b80..68e4aa07 100644
--- a/libdtrace/dt_bpf.h
+++ b/libdtrace/dt_bpf.h
@@ -23,9 +23,10 @@ extern "C" {
 #define DT_CONST_CLID	3
 #define DT_CONST_ARGC	4
 #define DT_CONST_STBSZ	5
-#define DT_CONST_STKOFF	6
-#define DT_CONST_STKSIZ	7
-#define DT_CONST_BOOTTM	8
+#define DT_CONST_STRSZ	6
+#define DT_CONST_STKOFF	7
+#define DT_CONST_STKSIZ	8
+#define DT_CONST_BOOTTM	9
 
 extern int perf_event_open(struct perf_event_attr *attr, pid_t pid, int cpu,
 			   int group_fd, unsigned long flags);
diff --git a/libdtrace/dt_cc.c b/libdtrace/dt_cc.c
index 2a6904a0..f69c750d 100644
--- a/libdtrace/dt_cc.c
+++ b/libdtrace/dt_cc.c
@@ -2348,6 +2348,10 @@ dt_link_construct(dtrace_hdl_t *dtp, const dt_probe_t *prp, dtrace_difo_t *dp,
 			case DT_CONST_STBSZ:
 				nrp->dofr_data = dtp->dt_strlen;
 				continue;
+			case DT_CONST_STRSZ:
+				nrp->dofr_data =
+					dtp->dt_options[DTRACEOPT_STRSIZE];
+				continue;
 			case DT_CONST_STKOFF:
 				nrp->dofr_data = roundup(dtp->dt_maxreclen, 8);
 				continue;
diff --git a/libdtrace/dt_dlibs.c b/libdtrace/dt_dlibs.c
index 35a18596..53abe2f7 100644
--- a/libdtrace/dt_dlibs.c
+++ b/libdtrace/dt_dlibs.c
@@ -78,6 +78,7 @@ static const dt_ident_t		dt_bpf_symbols[] = {
 	DT_BPF_SYMBOL_ID(CLID, DT_IDENT_SCALAR, DT_CONST_CLID),
 	DT_BPF_SYMBOL_ID(ARGC, DT_IDENT_SCALAR, DT_CONST_ARGC),
 	DT_BPF_SYMBOL_ID(STBSZ, DT_IDENT_SCALAR, DT_CONST_STBSZ),
+	DT_BPF_SYMBOL_ID(STRSZ, DT_IDENT_SCALAR, DT_CONST_STRSZ),
 	DT_BPF_SYMBOL_ID(STKOFF, DT_IDENT_SCALAR, DT_CONST_STKOFF),
 	DT_BPF_SYMBOL_ID(STKSIZ, DT_IDENT_SCALAR, DT_CONST_STKSIZ),
 	DT_BPF_SYMBOL_ID(BOOTTM, DT_IDENT_SCALAR, DT_CONST_BOOTTM),
-- 
2.33.0




More information about the DTrace-devel mailing list