| .. | .. |
|---|
| 192 | 192 | static int parse_entry(char *str, struct trace_event_call *call, void **pentry) |
|---|
| 193 | 193 | { |
|---|
| 194 | 194 | struct ftrace_event_field *field; |
|---|
| 195 | + unsigned long irq_flags; |
|---|
| 195 | 196 | void *entry = NULL; |
|---|
| 196 | 197 | int entry_size; |
|---|
| 197 | 198 | u64 val = 0; |
|---|
| .. | .. |
|---|
| 202 | 203 | if (!entry) |
|---|
| 203 | 204 | return -ENOMEM; |
|---|
| 204 | 205 | |
|---|
| 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()); |
|---|
| 207 | 209 | |
|---|
| 208 | 210 | while ((len = parse_field(str, call, &field, &val)) > 0) { |
|---|
| 209 | 211 | if (is_function_field(field)) |
|---|
| .. | .. |
|---|
| 321 | 323 | } |
|---|
| 322 | 324 | |
|---|
| 323 | 325 | const struct file_operations event_inject_fops = { |
|---|
| 324 | | - .open = tracing_open_generic, |
|---|
| 326 | + .open = tracing_open_file_tr, |
|---|
| 325 | 327 | .read = event_inject_read, |
|---|
| 326 | 328 | .write = event_inject_write, |
|---|
| 329 | + .release = tracing_release_file_tr, |
|---|
| 327 | 330 | }; |
|---|