Commit 4a9c326244 for qemu.org
commit 4a9c3262445868b8af1c7dc5698a8df9cdcff877
Author: Daniel P. Berrangé <berrange@redhat.com>
Date: Mon Nov 2 14:28:34 2026 +0000
trace: add missing newline in ftrace Rust format string
The ftrace_write() method expects the caller to provide the
newline.
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Message-id: 20261102142844.3464712-16-berrange@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
diff --git a/scripts/tracetool/backend/ftrace.py b/scripts/tracetool/backend/ftrace.py
index ba2a0c8377..e304ef2199 100644
--- a/scripts/tracetool/backend/ftrace.py
+++ b/scripts/tracetool/backend/ftrace.py
@@ -45,7 +45,7 @@ def generate_h_backend_dstate(event, group):
event_id="TRACE_" + event.name.upper())
def generate_rs(event, group):
- out(' let format_string = c"%(fmt)s";',
+ out(' let format_string = c"%(fmt)s\\n";',
' unsafe {bindings::ftrace_write(format_string.as_ptr() as *const c_char, %(args)s);}',
fmt=expand_format_string(event.fmt, event.name + " "),
args=event.args.rust_call_varargs())
diff --git a/tests/tracetool/all.rs b/tests/tracetool/all.rs
index 14afd86281..f48bdf4aab 100644
--- a/tests/tracetool/all.rs
+++ b/tests/tracetool/all.rs
@@ -47,7 +47,7 @@ pub fn trace_test_blah(_context: *mut (), _filename: &std::ffi::CStr)
{
::trace::probe!(qemu, test_blah, _context, _filename.as_ptr());
if trace_event_state_is_enabled(unsafe { _TRACE_TEST_BLAH_DSTATE}) {
- let format_string = c"test_blah Blah context=%p filename=%s";
+ let format_string = c"test_blah Blah context=%p filename=%s\n";
unsafe {bindings::ftrace_write(format_string.as_ptr() as *const c_char, _context /* as *mut () */, _filename.as_ptr());}
let format_string = c"test_blah Blah context=%p filename=%s\n";
if (unsafe { bindings::qemu_loglevel } & bindings::LOG_TRACE) != 0 {
@@ -75,7 +75,7 @@ pub fn trace_test_wibble(_context: *mut (), _value: std::ffi::c_int)
{
::trace::probe!(qemu, test_wibble, _context, _value);
if trace_event_state_is_enabled(unsafe { _TRACE_TEST_WIBBLE_DSTATE}) {
- let format_string = c"test_wibble Wibble context=%p value=%d";
+ let format_string = c"test_wibble Wibble context=%p value=%d\n";
unsafe {bindings::ftrace_write(format_string.as_ptr() as *const c_char, _context /* as *mut () */, _value /* as std::ffi::c_int */);}
let format_string = c"test_wibble Wibble context=%p value=%d\n";
if (unsafe { bindings::qemu_loglevel } & bindings::LOG_TRACE) != 0 {
diff --git a/tests/tracetool/ftrace.rs b/tests/tracetool/ftrace.rs
index 39959d3fdd..1ad13172b1 100644
--- a/tests/tracetool/ftrace.rs
+++ b/tests/tracetool/ftrace.rs
@@ -36,7 +36,7 @@ pub fn trace_test_blah_enabled() -> bool
pub fn trace_test_blah(_context: *mut (), _filename: &std::ffi::CStr)
{
if trace_event_state_is_enabled(unsafe { _TRACE_TEST_BLAH_DSTATE}) {
- let format_string = c"test_blah Blah context=%p filename=%s";
+ let format_string = c"test_blah Blah context=%p filename=%s\n";
unsafe {bindings::ftrace_write(format_string.as_ptr() as *const c_char, _context /* as *mut () */, _filename.as_ptr());}
}
}
@@ -54,7 +54,7 @@ pub fn trace_test_wibble_enabled() -> bool
pub fn trace_test_wibble(_context: *mut (), _value: std::ffi::c_int)
{
if trace_event_state_is_enabled(unsafe { _TRACE_TEST_WIBBLE_DSTATE}) {
- let format_string = c"test_wibble Wibble context=%p value=%d";
+ let format_string = c"test_wibble Wibble context=%p value=%d\n";
unsafe {bindings::ftrace_write(format_string.as_ptr() as *const c_char, _context /* as *mut () */, _value /* as std::ffi::c_int */);}
}
}