The writing operation return the count of writes whether events are enabled or disabled. This is incorrect when events are disabled. Fix this by just return -EFAULT when events are disabled. Signed-off-by: sunliming <sunliming@xxxxxxxxxx> --- 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..970bac0503fd 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 -EFAULT; return ret; } -- 2.25.1