* [PATCH v3 0/3] tracing/user_events: Fix incorrect return value for
@ 2023-06-21 6:08 sunliming
2023-06-21 6:08 ` [PATCH v3 1/3] tracing/user_events: Fix incorrect return value for writing operation when events are disable sunliming
0 siblings, 1 reply; 4+ messages in thread
From: sunliming @ 2023-06-21 6:08 UTC (permalink / raw)
To: rostedt, mhiramat, beaub
Cc: kelulanainsley, linux-trace-kernel, linux-kernel, sunliming
Now the writing operation return the count of writes regardless of whether
events are enabled or disabled. Fix this by just return zero when events
are disabled.
v2 -> v3:
- Change the return value from -ENOENT to zero
v1 -> v2:
- Change the return value from -EFAULT to -ENOENT
sunliming (3):
tracing/user_events: Fix incorrect return value for writing operation
when events are disable
selftests/user_events: Enable the event before write_fault test in
ftrace self-test
selftests/user_events: Add test cases when event is diabled
kernel/trace/trace_events_user.c | 3 ++-
tools/testing/selftests/user_events/ftrace_test.c | 7 +++++++
2 files changed, 9 insertions(+), 1 deletion(-)
--
2.25.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v3 1/3] tracing/user_events: Fix incorrect return value for writing operation when events are disable
2023-06-21 6:08 [PATCH v3 0/3] tracing/user_events: Fix incorrect return value for sunliming
@ 2023-06-21 6:08 ` sunliming
2023-06-22 20:20 ` Beau Belgrave
2023-06-26 6:15 ` Steven Rostedt
0 siblings, 2 replies; 4+ messages in thread
From: sunliming @ 2023-06-21 6:08 UTC (permalink / raw)
To: rostedt, mhiramat, beaub
Cc: kelulanainsley, linux-trace-kernel, linux-kernel, sunliming
The writing operation return the count of writes regardless of whether events
are enabled or disabled. Switch it to return 0 to indicates that the event
is disabled.
Signed-off-by: sunliming <sunliming@kylinos.cn>
---
kernel/trace/trace_events_user.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/kernel/trace/trace_events_user.c b/kernel/trace/trace_events_user.c
index 1ac5ba5685ed..c085ff829a58 100644
--- a/kernel/trace/trace_events_user.c
+++ b/kernel/trace/trace_events_user.c
@@ -1957,7 +1957,8 @@ static ssize_t user_events_write_core(struct file *file, struct iov_iter *i)
if (unlikely(faulted))
return -EFAULT;
- }
+ } else
+ return 0;
return ret;
}
--
2.25.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v3 1/3] tracing/user_events: Fix incorrect return value for writing operation when events are disable
2023-06-21 6:08 ` [PATCH v3 1/3] tracing/user_events: Fix incorrect return value for writing operation when events are disable sunliming
@ 2023-06-22 20:20 ` Beau Belgrave
2023-06-26 6:15 ` Steven Rostedt
1 sibling, 0 replies; 4+ messages in thread
From: Beau Belgrave @ 2023-06-22 20:20 UTC (permalink / raw)
To: sunliming
Cc: rostedt, mhiramat, kelulanainsley, linux-trace-kernel,
linux-kernel
On Wed, Jun 21, 2023 at 02:08:24PM +0800, sunliming wrote:
> The writing operation return the count of writes regardless of whether events
> are enabled or disabled. Switch it to return 0 to indicates that the event
> is disabled.
>
> Signed-off-by: sunliming <sunliming@kylinos.cn>
This looks good to me.
Acked-by: Beau Belgrave <beaub@linux.microsoft.com>
Thanks!
> ---
> kernel/trace/trace_events_user.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/kernel/trace/trace_events_user.c b/kernel/trace/trace_events_user.c
> index 1ac5ba5685ed..c085ff829a58 100644
> --- a/kernel/trace/trace_events_user.c
> +++ b/kernel/trace/trace_events_user.c
> @@ -1957,7 +1957,8 @@ static ssize_t user_events_write_core(struct file *file, struct iov_iter *i)
>
> if (unlikely(faulted))
> return -EFAULT;
> - }
> + } else
> + return 0;
>
> return ret;
> }
> --
> 2.25.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v3 1/3] tracing/user_events: Fix incorrect return value for writing operation when events are disable
2023-06-21 6:08 ` [PATCH v3 1/3] tracing/user_events: Fix incorrect return value for writing operation when events are disable sunliming
2023-06-22 20:20 ` Beau Belgrave
@ 2023-06-26 6:15 ` Steven Rostedt
1 sibling, 0 replies; 4+ messages in thread
From: Steven Rostedt @ 2023-06-26 6:15 UTC (permalink / raw)
To: sunliming
Cc: mhiramat, beaub, kelulanainsley, linux-trace-kernel, linux-kernel,
Linus Torvalds
On Wed, 21 Jun 2023 14:08:24 +0800
sunliming <sunliming@kylinos.cn> wrote:
> The writing operation return the count of writes regardless of whether events
> are enabled or disabled. Switch it to return 0 to indicates that the event
> is disabled.
>
> Signed-off-by: sunliming <sunliming@kylinos.cn>
> ---
> kernel/trace/trace_events_user.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/kernel/trace/trace_events_user.c b/kernel/trace/trace_events_user.c
> index 1ac5ba5685ed..c085ff829a58 100644
> --- a/kernel/trace/trace_events_user.c
> +++ b/kernel/trace/trace_events_user.c
> @@ -1957,7 +1957,8 @@ static ssize_t user_events_write_core(struct file *file, struct iov_iter *i)
>
> if (unlikely(faulted))
> return -EFAULT;
> - }
> + } else
> + return 0;
>
sunliming,
If you missed the conversation about the pull request with Linus, he
pointed out (correctly) that we were mistaken to tell you to return
zero. It should return an error if the ring buffer is disabled.
But instead of returning -EFAULT, let's follow the behavior of
trace_marker and return -EBADF. This way user space has a better idea
why it failed.
Care to send another update?
Thanks!
-- Steve
> return ret;
> }
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-06-26 6:15 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-21 6:08 [PATCH v3 0/3] tracing/user_events: Fix incorrect return value for sunliming
2023-06-21 6:08 ` [PATCH v3 1/3] tracing/user_events: Fix incorrect return value for writing operation when events are disable sunliming
2023-06-22 20:20 ` Beau Belgrave
2023-06-26 6:15 ` Steven Rostedt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).