diff --git a/[refs] b/[refs] index 2b32451ff5a0..4ef82b7ba57e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 53c8c8fdfd2d2d515bdcb3d0f2a11d1f3f42ece1 +refs/heads/master: 48043bcdf8f398d28e75ffed6ee85208d751f87f diff --git a/trunk/kernel/marker.c b/trunk/kernel/marker.c index 05a25776f71f..3b75d0e8b5a4 100644 --- a/trunk/kernel/marker.c +++ b/trunk/kernel/marker.c @@ -653,11 +653,17 @@ int marker_probe_register(const char *name, const char *format, entry = get_marker(name); if (!entry) { entry = add_marker(name, format); - if (IS_ERR(entry)) { + if (IS_ERR(entry)) ret = PTR_ERR(entry); - goto end; - } + } else if (format) { + if (!entry->format) + ret = marker_set_format(&entry, format); + else if (strcmp(entry->format, format)) + ret = -EPERM; } + if (ret) + goto end; + /* * If we detect that a call_rcu is pending for this marker, * make sure it's executed now.