hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
kernel/kernel/trace/trace_events_inject.c
....@@ -192,6 +192,7 @@
192192 static int parse_entry(char *str, struct trace_event_call *call, void **pentry)
193193 {
194194 struct ftrace_event_field *field;
195
+ unsigned long irq_flags;
195196 void *entry = NULL;
196197 int entry_size;
197198 u64 val = 0;
....@@ -202,8 +203,9 @@
202203 if (!entry)
203204 return -ENOMEM;
204205
205
- tracing_generic_entry_update(entry, call->event.type,
206
- tracing_gen_ctx());
206
+ local_save_flags(irq_flags);
207
+ tracing_generic_entry_update(entry, call->event.type, irq_flags,
208
+ preempt_count());
207209
208210 while ((len = parse_field(str, call, &field, &val)) > 0) {
209211 if (is_function_field(field))
....@@ -321,7 +323,8 @@
321323 }
322324
323325 const struct file_operations event_inject_fops = {
324
- .open = tracing_open_generic,
326
+ .open = tracing_open_file_tr,
325327 .read = event_inject_read,
326328 .write = event_inject_write,
329
+ .release = tracing_release_file_tr,
327330 };