Merge "trace: Fix no PID issue for trace marker"
This commit is contained in:
commit
45c6aa7095
@ -6089,6 +6089,7 @@ tracing_mark_write(struct file *filp, const char __user *ubuf,
|
||||
struct trace_array *tr = filp->private_data;
|
||||
struct ring_buffer_event *event;
|
||||
enum event_trigger_type tt = ETT_NONE;
|
||||
struct trace_entry *trace_entry;
|
||||
struct ring_buffer *buffer;
|
||||
struct print_entry *entry;
|
||||
unsigned long irq_flags;
|
||||
@ -6126,7 +6127,8 @@ tracing_mark_write(struct file *filp, const char __user *ubuf,
|
||||
return -EBADF;
|
||||
|
||||
entry = ring_buffer_event_data(event);
|
||||
entry->ip = _THIS_IP_;
|
||||
trace_entry = (struct trace_entry *)entry;
|
||||
entry->ip = trace_entry->pid;
|
||||
|
||||
len = __copy_from_user_inatomic(&entry->buf, ubuf, cnt);
|
||||
if (len) {
|
||||
@ -6146,12 +6148,12 @@ tracing_mark_write(struct file *filp, const char __user *ubuf,
|
||||
if (entry->buf[cnt - 1] != '\n') {
|
||||
entry->buf[cnt] = '\n';
|
||||
entry->buf[cnt + 1] = '\0';
|
||||
stm_log(OST_ENTITY_TRACE_MARKER, entry->buf, cnt + 2);
|
||||
stm_log(OST_ENTITY_TRACE_MARKER, entry, sizeof(*entry)+cnt + 2);
|
||||
} else {
|
||||
entry->buf[cnt] = '\0';
|
||||
stm_log(OST_ENTITY_TRACE_MARKER, entry->buf, cnt + 1);
|
||||
stm_log(OST_ENTITY_TRACE_MARKER, entry, sizeof(*entry)+cnt + 1);
|
||||
}
|
||||
|
||||
entry->ip = _THIS_IP_;
|
||||
__buffer_unlock_commit(buffer, event);
|
||||
|
||||
if (tt)
|
||||
|
Loading…
Reference in New Issue
Block a user