[DTrace-devel] [PATCH] Write 0 rather than '\0' in *.S files
eugene.loh at oracle.com
eugene.loh at oracle.com
Thu Dec 2 18:44:52 UTC 2021
From: Eugene Loh <eugene.loh at oracle.com>
Apparently, when one uses stb in a bpf/*.S file to write a '\0',
one writes a literal '0'. This problem was not seen until the
basename/dirname patches were combined with
cf1e9df28b95 Optimize dt_cg_store_val() for string values
Prior to that, we trusted the string-length prefix and truncated the
string before the literal '0'.
Signed-off-by: Eugene Loh <eugene.loh at oracle.com>
---
bpf/basename.S | 4 ++--
bpf/dirname.S | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/bpf/basename.S b/bpf/basename.S
index 3ddb3bbf..2839614c 100644
--- a/bpf/basename.S
+++ b/bpf/basename.S
@@ -107,7 +107,7 @@ dt_basename :
*/
mov LEN, 1
stb [DST+DT_STRLEN_BYTES], '.'
- stb [DST+(DT_STRLEN_BYTES+1)], '\0'
+ stb [DST+(DT_STRLEN_BYTES+1)], 0
ja .Lcoda
.Lslash:
@@ -116,7 +116,7 @@ dt_basename :
*/
mov LEN, 1
stb [DST+DT_STRLEN_BYTES], '/'
- stb [DST+(DT_STRLEN_BYTES+1)], '\0'
+ stb [DST+(DT_STRLEN_BYTES+1)], 0
ja .Lcoda
#undef SRC
#undef DST
diff --git a/bpf/dirname.S b/bpf/dirname.S
index 1ab676ce..908fa68a 100644
--- a/bpf/dirname.S
+++ b/bpf/dirname.S
@@ -123,7 +123,7 @@ dt_dirname :
*/
mov LEN, 1
stb [DST+DT_STRLEN_BYTES], '.'
- stb [DST+(DT_STRLEN_BYTES+1)], '\0'
+ stb [DST+(DT_STRLEN_BYTES+1)], 0
ja .Lcoda
.Lslash:
@@ -132,7 +132,7 @@ dt_dirname :
*/
mov LEN, 1
stb [DST+DT_STRLEN_BYTES], '/'
- stb [DST+(DT_STRLEN_BYTES+1)], '\0'
+ stb [DST+(DT_STRLEN_BYTES+1)], 0
ja .Lcoda
#undef SRC
#undef DST
--
2.18.4
More information about the DTrace-devel
mailing list