diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/marker.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/kernel/marker.c b/kernel/marker.c index 05a25776f71f..3b75d0e8b5a4 100644 --- a/kernel/marker.c +++ b/kernel/marker.c | |||
| @@ -653,11 +653,17 @@ int marker_probe_register(const char *name, const char *format, | |||
| 653 | entry = get_marker(name); | 653 | entry = get_marker(name); |
| 654 | if (!entry) { | 654 | if (!entry) { |
| 655 | entry = add_marker(name, format); | 655 | entry = add_marker(name, format); |
| 656 | if (IS_ERR(entry)) { | 656 | if (IS_ERR(entry)) |
| 657 | ret = PTR_ERR(entry); | 657 | ret = PTR_ERR(entry); |
| 658 | goto end; | 658 | } else if (format) { |
| 659 | } | 659 | if (!entry->format) |
| 660 | ret = marker_set_format(&entry, format); | ||
| 661 | else if (strcmp(entry->format, format)) | ||
| 662 | ret = -EPERM; | ||
| 660 | } | 663 | } |
| 664 | if (ret) | ||
| 665 | goto end; | ||
| 666 | |||
| 661 | /* | 667 | /* |
| 662 | * If we detect that a call_rcu is pending for this marker, | 668 | * If we detect that a call_rcu is pending for this marker, |
| 663 | * make sure it's executed now. | 669 | * make sure it's executed now. |
