Message ID | 20190110135449.20743-1-ykaradzhov@vmware.com (mailing list archive) |
---|---|
State | Accepted |
Commit | fbba6a95533db0d42e6e9a9241fda3616b8f03a0 |
Headers | show |
Series | [v3] kernel-shark-qt: Fix a bug in the plugin actions execution | expand |
On Thu, 10 Jan 2019 15:54:49 +0200 Yordan Karadzhov <ykaradzhov@vmware.com> wrote: > Plugin-provided actions are executed when loading the data. These > actions can be used to modify the content of the kshark_entries > generated by a given event type and we consider the case of having > multiple plugin-provided actions per event type. However, the code > that handles the case of multiple actions per-event has a bug. The "if" > was introduced with the idea that only the last per-event action will > modify the KS_PLUGIN_UNTOUCHED flag of the entry, but it misbehaves in > the case of a single per-event action in the list, followed by actions > for other event types. Applied. Note, for bug fixes, lets start adding a "Fixes" tag (like the Linux kernel does). For instance, I'm adding this: Fixes: c70227ebb264 ("kernel-shark-qt: Add Plugin event handlers to session.") > Signed-off-by: Yordan Karadzhov <ykaradzhov@vmware.com> The format is, 12 characters of the sha1 of the commit that the patch is fixing, followed by the title of the commit in: ("<commit-title>") This way, if distros start supporting "stable" versions, they can see if they should backport a patch or not. Thanks! -- Steve > --- > kernel-shark-qt/src/libkshark.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/kernel-shark-qt/src/libkshark.c b/kernel-shark-qt/src/libkshark.c > index 598ea52..9ab2d57 100644 > --- a/kernel-shark-qt/src/libkshark.c > +++ b/kernel-shark-qt/src/libkshark.c > @@ -750,8 +750,7 @@ static size_t get_records(struct kshark_context *kshark_ctx, > entry->event_id))) { > evt_handler->event_func(kshark_ctx, rec, entry); > evt_handler = evt_handler->next; > - if (!evt_handler) > - entry->visible &= ~KS_PLUGIN_UNTOUCHED_MASK; > + entry->visible &= ~KS_PLUGIN_UNTOUCHED_MASK; > } > > pid = entry->pid;
diff --git a/kernel-shark-qt/src/libkshark.c b/kernel-shark-qt/src/libkshark.c index 598ea52..9ab2d57 100644 --- a/kernel-shark-qt/src/libkshark.c +++ b/kernel-shark-qt/src/libkshark.c @@ -750,8 +750,7 @@ static size_t get_records(struct kshark_context *kshark_ctx, entry->event_id))) { evt_handler->event_func(kshark_ctx, rec, entry); evt_handler = evt_handler->next; - if (!evt_handler) - entry->visible &= ~KS_PLUGIN_UNTOUCHED_MASK; + entry->visible &= ~KS_PLUGIN_UNTOUCHED_MASK; } pid = entry->pid;
Plugin-provided actions are executed when loading the data. These actions can be used to modify the content of the kshark_entries generated by a given event type and we consider the case of having multiple plugin-provided actions per event type. However, the code that handles the case of multiple actions per-event has a bug. The "if" was introduced with the idea that only the last per-event action will modify the KS_PLUGIN_UNTOUCHED flag of the entry, but it misbehaves in the case of a single per-event action in the list, followed by actions for other event types. Signed-off-by: Yordan Karadzhov <ykaradzhov@vmware.com> --- kernel-shark-qt/src/libkshark.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)