[DTrace-devel] [PATCH] Move freeing %r0 to a more consistent place

Kris Van Hees kris.van.hees at oracle.com
Tue Aug 23 21:49:22 UTC 2022


Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
---
 libdtrace/dt_cg.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/libdtrace/dt_cg.c b/libdtrace/dt_cg.c
index 157f4861..744af2ae 100644
--- a/libdtrace/dt_cg.c
+++ b/libdtrace/dt_cg.c
@@ -2778,14 +2778,13 @@ empty_args:
 			emit(dlp,  BPF_CALL_HELPER(BPF_FUNC_probe_read));
 			dt_regset_free_args(drp);
 			emit(dlp,  BPF_BRANCH_IMM(BPF_JEQ, BPF_REG_0, 0, lbl_valid));
+			dt_regset_free(drp, BPF_REG_0);
 			dt_cg_probe_error(yypcb, DTRACEFLT_BADADDR,
 					  DT_ISIMM, 0);
 
 			emitl(dlp, lbl_valid,
 				   BPF_ALU64_IMM(BPF_ADD, treg, size));
 			tuplesize += size;
-
-			dt_regset_free(drp, BPF_REG_0);
 		} else
 			assert(0);	/* We shouldn't be able to get here. */
 	}
-- 
2.34.1




More information about the DTrace-devel mailing list