diff mbox series

[v3] kernel-shark-qt: Fix a bug in the plugin actions execution

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

Commit Message

Yordan Karadzhov Jan. 10, 2019, 1:54 p.m. UTC
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(-)

Comments

Steven Rostedt Jan. 10, 2019, 2:35 p.m. UTC | #1
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 mbox series

Patch

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;