From patchwork Wed Dec 14 14:01:34 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Rostedt X-Patchwork-Id: 33220 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:e747:0:0:0:0:0 with SMTP id c7csp239771wrn; Wed, 14 Dec 2022 06:07:13 -0800 (PST) X-Google-Smtp-Source: AA0mqf62NNrgzy+cXwlR/iUPh+0/XIi1EZhuCRCXJ+0j3Uo+FR2C4kTMRmIXmVz92dURoo0LiyjZ X-Received: by 2002:a17:906:49d2:b0:7b9:f9d8:9554 with SMTP id w18-20020a17090649d200b007b9f9d89554mr20812622ejv.40.1671026832794; Wed, 14 Dec 2022 06:07:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1671026832; cv=none; d=google.com; s=arc-20160816; b=bk/mOCadTJ6z2islAawQZ1Ku6PsTG491SdP0gaN6pTt9Ckf7DC1JFrV0a9lufBAFhD DCqzbyN5T0+NNjpX7VvCm6IJx0omFvpvzf8S+FQL2wBNVWgMs17zxlrTBHysRwO7rPvd CfurIHchHGsg8YZJjZcfUjJlc1KmPlB/Th7tizrqQeAjajOS5Q+zU/uKWe/H4B3oo17m IvJsBDYwYM3DkEXG0g5ZJsyRgWTGbDNUcptv2e1NUqCwYSUhkdswwN6k0lWXAxNd9RqZ rSitnqJyc7/RuAdPPgftq8efwkFZbyWNJkwAJEX3wrvGQob+seE9dWxHumBGtp3npuLo 63Dg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:subject:cc:to:from:date :user-agent:message-id; bh=jgjIksaMbBhlkF9nmwlfU7lsJwjtrYU6z/xG4gWWNL4=; b=zmwILX5v6bibVGyhvAwApiZRFK0s17MncCsAAkwEFBhp7IwG/h3loN/4hkRZEms4vc EYEn4PokOVlsieGCvrQsDA3v+aGgje9GSb54SSy7TGy+obutAHNCjdonmrMhtrKHQM5q nzuOXtc13VGVkhnNspGavg+ewHxvgr9Uab1p7R0qzHlumQmuzElPKQJXPevN/Cv6PAyp ErYRxK3eYB8sgSY5rcmoANSrjYihMKmpdGd7GbdZ0V2qq3GmcqOz84EBKaDG5hbxK4kE 860mOSs85PCq5sK5bYPJOMuZhb9S7ftC8uh20d/KT4z1CgqBnElRlrac17LqZBJBSgNe aUGA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id jg15-20020a170907970f00b007c0bc4924cbsi11718947ejc.963.2022.12.14.06.06.44; Wed, 14 Dec 2022 06:07:12 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238503AbiLNOC2 (ORCPT + 99 others); Wed, 14 Dec 2022 09:02:28 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:32840 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238522AbiLNOCL (ORCPT ); Wed, 14 Dec 2022 09:02:11 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BB6A1EE28; Wed, 14 Dec 2022 06:02:10 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 4308561A8B; Wed, 14 Dec 2022 14:02:10 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id ACC10C433F1; Wed, 14 Dec 2022 14:02:09 +0000 (UTC) Received: from rostedt by gandalf.local.home with local (Exim 4.96) (envelope-from ) id 1p5SKm-000gsr-2G; Wed, 14 Dec 2022 09:02:08 -0500 Message-ID: <20221214140208.571914729@goodmis.org> User-Agent: quilt/0.66 Date: Wed, 14 Dec 2022 09:01:34 -0500 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Masami Hiramatsu , Andrew Morton , stable@vger.kernel.org, Yang Jihong Subject: [for-next][PATCH 1/8] tracing: Fix infinite loop in tracing_read_pipe on overflowed print_trace_line References: <20221214140133.608431204@goodmis.org> MIME-Version: 1.0 X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_HI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1752198632060719816?= X-GMAIL-MSGID: =?utf-8?q?1752198632060719816?= From: Yang Jihong print_trace_line may overflow seq_file buffer. If the event is not consumed, the while loop keeps peeking this event, causing a infinite loop. Link: https://lkml.kernel.org/r/20221129113009.182425-1-yangjihong1@huawei.com Cc: Masami Hiramatsu Cc: stable@vger.kernel.org Fixes: 088b1e427dbba ("ftrace: pipe fixes") Signed-off-by: Yang Jihong Signed-off-by: Steven Rostedt (Google) --- kernel/trace/trace.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 664619b3f1e1..548890c7c0f5 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -6802,7 +6802,20 @@ tracing_read_pipe(struct file *filp, char __user *ubuf, ret = print_trace_line(iter); if (ret == TRACE_TYPE_PARTIAL_LINE) { - /* don't print partial lines */ + /* + * If one print_trace_line() fills entire trace_seq in one shot, + * trace_seq_to_user() will returns -EBUSY because save_len == 0, + * In this case, we need to consume it, otherwise, loop will peek + * this event next time, resulting in an infinite loop. + */ + if (save_len == 0) { + iter->seq.full = 0; + trace_seq_puts(&iter->seq, "[LINE TOO BIG]\n"); + trace_consume(iter); + break; + } + + /* In other cases, don't print partial lines */ iter->seq.seq.len = save_len; break; } From patchwork Wed Dec 14 14:01:35 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Rostedt X-Patchwork-Id: 33216 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:e747:0:0:0:0:0 with SMTP id c7csp238942wrn; Wed, 14 Dec 2022 06:06:06 -0800 (PST) X-Google-Smtp-Source: AA0mqf7EEtg5b9qpk2xiRHDkeyLsLbokkIWyghTIStjhl+0xKehz/EpWsfMT0gzwGZGmDOUfCh0a X-Received: by 2002:a05:6a00:1e:b0:576:e704:d8c3 with SMTP id h30-20020a056a00001e00b00576e704d8c3mr23980400pfk.23.1671026766387; Wed, 14 Dec 2022 06:06:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1671026766; cv=none; d=google.com; s=arc-20160816; b=T/1W2pmHHPJs72xeJTwuYTEP2AqvobC6we7s1yJy+JQQGoUwXwKA/rhEjCfZ2XoZ68 vk0LmG2SCvVlJCia1GaZJB156W54pqweXt8YQXbJ+By93LluDWxlci/hGXPcpcV2hah3 E/CCarU3E7D0jORwDFYY8j04kC15ws0aF/UDWcmxpCSR6ZlTYdQW93wFVdfRu4vbsmdV n3sdBCnvfCgFD5BX+guTeaI8Tq4cFkMcmrSuYZDlDXtox8WQY5feslZV6/6WcAYw7TDu 6/40ZjXMDUUhejTxdOnm8dn3e0oyj15yNscmINhPZ4GNsvaCSEzuybwg9+VYSFHEEbjJ uCuA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:subject:cc:to:from:date :user-agent:message-id; bh=m74pIwz2oo3Ty9LRT7UJXHV55zIjW5ekCyq+JUBGgmw=; b=endr04PjQ3M9A/T30hAk4oFT4BCEM0O/6floqdn8GqVstgKc2lXqwNVfaxK7DHQDei lW/BpSVE5QFrvyjwCHcasJ06V7XO+C4S3WOdfDpJk7enAbgd0xcDBnIdHos2soIWW2mI IKiewTQerL8BF8+/KBCsT75LbW9Wg3ZkJFI2BqcBXLFDyyFFjmdVfOfl955Q+yw+V8QU 7+NzcZRPejq/HI4+oMqMf/2WODdwH0VVWMDytGC9DOsauhHbVZb5NeqaOSpk0kybdWZI otkDPiqN8VroONVvrqPKHaq4EMcCQKJXy7OW14r+OJ6nEDSAxd3dx6+xrei95E3ASEMH fMcA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y40-20020a056a00182800b0056c94208afcsi16410979pfa.6.2022.12.14.06.05.49; Wed, 14 Dec 2022 06:06:06 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238534AbiLNOCP (ORCPT + 99 others); Wed, 14 Dec 2022 09:02:15 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:32842 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238517AbiLNOCL (ORCPT ); Wed, 14 Dec 2022 09:02:11 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CDD2211C21 for ; Wed, 14 Dec 2022 06:02:10 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 6B02D61A95 for ; Wed, 14 Dec 2022 14:02:10 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id CE27CC433F2; Wed, 14 Dec 2022 14:02:09 +0000 (UTC) Received: from rostedt by gandalf.local.home with local (Exim 4.96) (envelope-from ) id 1p5SKm-000gtL-2m; Wed, 14 Dec 2022 09:02:08 -0500 Message-ID: <20221214140208.722537446@goodmis.org> User-Agent: quilt/0.66 Date: Wed, 14 Dec 2022 09:01:35 -0500 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Masami Hiramatsu , Andrew Morton , Thomas Gleixner , Peter Zijlstra , Borislav Petkov , "x86@kernel.org" , Karol Herbst , Pekka Paalanen , Dave Hansen , Andy Lutomirski , Ingo Molnar Subject: [for-next][PATCH 2/8] x86/mm/kmmio: Remove redundant preempt_disable() References: <20221214140133.608431204@goodmis.org> MIME-Version: 1.0 X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_HI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1752198562926850645?= X-GMAIL-MSGID: =?utf-8?q?1752198562926850645?= From: "Steven Rostedt (Google)" Now that kmmio uses rcu_read_lock_sched_notrace() there's no reason to call preempt_disable() as the read_lock_sched_notrace() already does that and is redundant. This also removes the preempt_enable_no_resched() as the "no_resched()" portion was bogus as there's no reason to do that. Link: https://lkml.kernel.org/r/20221212103703.7129cc5d@gandalf.local.home Cc: Masami Hiramatsu Cc: Thomas Gleixner Cc: Peter Zijlstra Cc: Borislav Petkov Cc: "x86@kernel.org" Cc: Karol Herbst Cc: Pekka Paalanen Cc: Dave Hansen Cc: Andy Lutomirski Cc: Ingo Molnar Signed-off-by: Steven Rostedt (Google) --- arch/x86/mm/kmmio.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/arch/x86/mm/kmmio.c b/arch/x86/mm/kmmio.c index 853c49877c16..9f82019179e1 100644 --- a/arch/x86/mm/kmmio.c +++ b/arch/x86/mm/kmmio.c @@ -246,14 +246,13 @@ int kmmio_handler(struct pt_regs *regs, unsigned long addr) page_base &= page_level_mask(l); /* - * Preemption is now disabled to prevent process switch during - * single stepping. We can only handle one active kmmio trace + * Hold the RCU read lock over single stepping to avoid looking + * up the probe and kmmio_fault_page again. The rcu_read_lock_sched() + * also disables preemption and prevents process switch during + * the single stepping. We can only handle one active kmmio trace * per cpu, so ensure that we finish it before something else - * gets to run. We also hold the RCU read lock over single - * stepping to avoid looking up the probe and kmmio_fault_page - * again. + * gets to run. */ - preempt_disable(); rcu_read_lock_sched_notrace(); faultpage = get_kmmio_fault_page(page_base); @@ -324,7 +323,6 @@ int kmmio_handler(struct pt_regs *regs, unsigned long addr) no_kmmio: rcu_read_unlock_sched_notrace(); - preempt_enable_no_resched(); return ret; } @@ -364,7 +362,6 @@ static int post_kmmio_handler(unsigned long condition, struct pt_regs *regs) ctx->active--; BUG_ON(ctx->active); rcu_read_unlock_sched_notrace(); - preempt_enable_no_resched(); /* * if somebody else is singlestepping across a probe point, flags From patchwork Wed Dec 14 14:01:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Rostedt X-Patchwork-Id: 33219 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:e747:0:0:0:0:0 with SMTP id c7csp239324wrn; Wed, 14 Dec 2022 06:06:39 -0800 (PST) X-Google-Smtp-Source: AA0mqf448LF77Iysx3OJI34qfCsdRk2lKSfgRCb05IIHLYddvFWQ6pjrRxlL9qSe0IePSJoq/sT+ X-Received: by 2002:a05:6402:370e:b0:463:398a:9fe7 with SMTP id ek14-20020a056402370e00b00463398a9fe7mr19300775edb.34.1671026799217; Wed, 14 Dec 2022 06:06:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1671026799; cv=none; d=google.com; s=arc-20160816; b=gufWK9xgATMQSXpRedGU4Xuep2rmtP0kKmFQt8BkCwkdJf9WJ9vklBSQNi4rnMhYg+ XSmX3XQZxTD5osipZe/UmcaUK6mbdRC5J0+zeqC94hmp8aXJiphjaHaN+keEk6BZ3Nij NxwcPqQnBVe0DIukJYl7nweW5SoTkMuVz3cu7zG+9BvHM+hS5zYOBa/SoN4YyHScrxBL zmFYrlkKfimNW/4aT2Q1CpIa9djyaGJrdkmZpb2UoX/wMPNLfXYg5LOOwqc3NW1N8Dqc lnifJmuKHHuIH4SGXeL90VJk7R9s8bXpOHWt7fZzl51nLDrj9LzAbW5i/ufGIGmbnc1Y TV1g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:subject:cc:to:from:date :user-agent:message-id; bh=FkxERXwTd9UFPb2Amdamq6j6ld3HfizD4vsZX4vJCGw=; b=fZBSe1J/oZ8GYQFJtlxQyJ2jdPOtVh1bDLonHx1cR1X8ERkA/jpHOVJFq8p45ju5ZU GztHSX1nspK8N/bgqfDzOdgLmn3ixPQHb/IvYUHOnnJLWgGGyhEUYUMST+YJYGv56qLz bUfgiHvB2rGLE1qzbjtSfRzs6DiCP12Z+b2pnSvyCeDUdff/p4DcpnBEuf2RhOSFyv/3 lqbPllszaqqYfM9EOvgVvhrwWif1CMJZrEQ09bV0lW1XHrDfYOuekWlS3o/YbJYaXvlF CQ+r1DIwpKofHOntly8wwojoW5pqgDGa3FEPZyvGmXY/ENA8R37VLalpGVp2CnHD1iYo dQWA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z8-20020a05640235c800b004693eaeac13si12981406edc.570.2022.12.14.06.06.13; Wed, 14 Dec 2022 06:06:39 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238518AbiLNOCV (ORCPT + 99 others); Wed, 14 Dec 2022 09:02:21 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:32844 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238521AbiLNOCL (ORCPT ); Wed, 14 Dec 2022 09:02:11 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 383801E3EC for ; Wed, 14 Dec 2022 06:02:11 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id D1CB061AB0 for ; Wed, 14 Dec 2022 14:02:10 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 40DB8C43392; Wed, 14 Dec 2022 14:02:10 +0000 (UTC) Received: from rostedt by gandalf.local.home with local (Exim 4.96) (envelope-from ) id 1p5SKn-000gtp-03; Wed, 14 Dec 2022 09:02:09 -0500 Message-ID: <20221214140208.881322216@goodmis.org> User-Agent: quilt/0.66 Date: Wed, 14 Dec 2022 09:01:36 -0500 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Masami Hiramatsu , Andrew Morton , Tom Zanussi Subject: [for-next][PATCH 3/8] tracing: Have trigger filter parsing errors show up in error_log References: <20221214140133.608431204@goodmis.org> MIME-Version: 1.0 X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_HI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1752198597398528406?= X-GMAIL-MSGID: =?utf-8?q?1752198597398528406?= From: "Steven Rostedt (Google)" It is annoying that the filter parsing of triggers do not show up in the error_log. Trying to figure out what is incorrect in the input is difficult when it fails for a typo. Have the errors of filter parsing show up in error_log as well. Link: https://lore.kernel.org/linux-trace-kernel/20221213095602.083fa9fd@gandalf.local.home Cc: Masami Hiramatsu Cc: Tom Zanussi Signed-off-by: Steven Rostedt (Google) --- kernel/trace/trace_events_trigger.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/kernel/trace/trace_events_trigger.c b/kernel/trace/trace_events_trigger.c index 918730d74932..19ce9d22bfd7 100644 --- a/kernel/trace/trace_events_trigger.c +++ b/kernel/trace/trace_events_trigger.c @@ -1067,7 +1067,14 @@ int set_trigger_filter(char *filter_str, /* The filter is for the 'trigger' event, not the triggered event */ ret = create_event_filter(file->tr, file->event_call, - filter_str, false, &filter); + filter_str, true, &filter); + + /* Only enabled set_str for error handling */ + if (filter) { + kfree(filter->filter_string); + filter->filter_string = NULL; + } + /* * If create_event_filter() fails, filter still needs to be freed. * Which the calling code will do with data->filter. From patchwork Wed Dec 14 14:01:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Rostedt X-Patchwork-Id: 33221 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:e747:0:0:0:0:0 with SMTP id c7csp239888wrn; Wed, 14 Dec 2022 06:07:27 -0800 (PST) X-Google-Smtp-Source: AA0mqf7CT4oHTyEG1H+Bl9SJlsMQ9V6Wj5z7cUWAjPVuAaIOYdfqsCfDT05U+Kgd3szItpLPZYWG X-Received: by 2002:aa7:cd78:0:b0:46c:be9f:7c3b with SMTP id ca24-20020aa7cd78000000b0046cbe9f7c3bmr19884868edb.19.1671026847019; Wed, 14 Dec 2022 06:07:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1671026847; cv=none; d=google.com; s=arc-20160816; b=KroKqYGPyXlOKWY7cSIsFgQD/QmCgzjxYuwEZbYGaRkEMKwiAfQPUB1BefiSF73Oeh mPCa1nBea0N+/RNojo+j1LR0esTs8PDaM/UssqJaoECjgU/I6o/tU2niA4fRgP6wREjC e+vSBbi6iA3wvMUT6LY2nkSkUj6/zT0TzS/XaraT8+pfbOj/vZr6G26W3de0qGdo/c7E glSu+o0PSPotEubgiYeI/HBfQAUQ4fupzxWJSfg0HgWV4aNi0Vf8jB/Awp4h0IpzFjn3 jdEWw47KRD6HPkU5DtZW/eO28TMEm8Bg69xPHXjZXuIBDQ84Rh41V3cllLqebi5EJAgK nBFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:subject:cc:to:from:date :user-agent:message-id; bh=Kl+FDurR2br1jMEo9mL9ljTo8HA8xGFZXEifC9s/PRs=; b=ui2Y6tG75TvPy66Dr9y+C0OQ735ZQNoieEEUcYCvSfKZ/Kf8IFLq4jsMZ6ma/c5DM2 90x/r7gJfFzDRSDqw6fugdHC3IGbbXpmyZtSQ9JKoLxWdHhzinVt6wi57kwvDveSvvwf 0/QGUFt/JYGzmJfPUVtCAgafgJs6zQw/d1mC1LMhdzmLwMxrKtBuo/qsaZNBLxADaXnL vOonLQSm9IHAE9nwWZWvTD/0kayfoOBwy5Cg11qQa1O/mELBn6ZkBVrFFGY/hJ9Defmv aaOhccVGlmIbTZuJWkpvqNwSgO1YeGE5Py5oFZZ1KJhj3jtWFTpdLKeOaeKxmfYiTaKn NJEQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b20-20020a056402351400b00461a8c8f155si14216358edd.161.2022.12.14.06.07.01; Wed, 14 Dec 2022 06:07:26 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238612AbiLNOCg (ORCPT + 99 others); Wed, 14 Dec 2022 09:02:36 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:32906 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238525AbiLNOCN (ORCPT ); Wed, 14 Dec 2022 09:02:13 -0500 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DC323275F0 for ; Wed, 14 Dec 2022 06:02:12 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 7E763B818C8 for ; Wed, 14 Dec 2022 14:02:11 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 43AD0C433A0; Wed, 14 Dec 2022 14:02:10 +0000 (UTC) Received: from rostedt by gandalf.local.home with local (Exim 4.96) (envelope-from ) id 1p5SKn-000guJ-0Y; Wed, 14 Dec 2022 09:02:09 -0500 Message-ID: <20221214140209.038133575@goodmis.org> User-Agent: quilt/0.66 Date: Wed, 14 Dec 2022 09:01:37 -0500 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Masami Hiramatsu , Andrew Morton , Valentin Schneider , Douglas Raillard Subject: [for-next][PATCH 4/8] tracing: Remove pointer (asterisk) and brackets from cpumask_t field References: <20221214140133.608431204@goodmis.org> MIME-Version: 1.0 X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_HI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1752198647076716827?= X-GMAIL-MSGID: =?utf-8?q?1752198647076716827?= From: "Steven Rostedt (Google)" To differentiate between long arrays and cpumasks, the __cpumask() field was created. Part of the TRACE_EVENT() macros test if the type is signed or not by using the is_signed_type() macro. The __cpumask() field used the __dynamic_array() helper but because cpumask_t is a structure, it could not be used in the is_signed_type() macro as that would fail to build, so instead it passed in the pointer to cpumask_t. Unfortunately, that creates in the format file: field:__data_loc cpumask_t *[] mask; offset:36; size:4; signed:0; Which looks like an array of pointers to cpumask_t and not a cpumask_t type, which is misleading to user space parsers. Douglas Raillard pointed out that the "[]" are also misleading, as cpumask_t is not an array. Since cpumask() hasn't been created yet, and the parsers currently fail on it (but will still produce the raw output), make it be: field:__data_loc cpumask_t mask; offset:36; size:4; signed:0; Which is the correct type of the field. Then the parsers can be updated to handle this. Link: https://lore.kernel.org/lkml/6dda5e1d-9416-b55e-88f3-31d148bc925f@arm.com/ Link: https://lore.kernel.org/linux-trace-kernel/20221212193814.0e3f1e43@gandalf.local.home Cc: Masami Hiramatsu Cc: Valentin Schneider Cc: Andrew Morton Fixes: 8230f27b1ccc ("tracing: Add __cpumask to denote a trace event field that is a cpumask_t") Reported-by: Douglas Raillard Signed-off-by: Steven Rostedt (Google) --- include/trace/stages/stage4_event_fields.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/include/trace/stages/stage4_event_fields.h b/include/trace/stages/stage4_event_fields.h index f2990d22313c..affd541fd25e 100644 --- a/include/trace/stages/stage4_event_fields.h +++ b/include/trace/stages/stage4_event_fields.h @@ -47,7 +47,10 @@ #define __bitmask(item, nr_bits) __dynamic_array(unsigned long, item, -1) #undef __cpumask -#define __cpumask(item) __dynamic_array(cpumask_t *, item, -1) +#define __cpumask(item) { \ + .type = "__data_loc cpumask_t", .name = #item, \ + .size = 4, .align = 4, \ + .is_signed = 0, .filter_type = FILTER_OTHER }, #undef __sockaddr #define __sockaddr(field, len) __dynamic_array(u8, field, len) @@ -68,7 +71,10 @@ #define __rel_bitmask(item, nr_bits) __rel_dynamic_array(unsigned long, item, -1) #undef __rel_cpumask -#define __rel_cpumask(item) __rel_dynamic_array(cpumask_t *, item, -1) +#define __rel_cpumask(item) { \ + .type = "__rel_loc cpumask_t", .name = #item, \ + .size = 4, .align = 4, \ + .is_signed = 0, .filter_type = FILTER_OTHER }, #undef __rel_sockaddr #define __rel_sockaddr(field, len) __rel_dynamic_array(u8, field, len) From patchwork Wed Dec 14 14:01:38 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Rostedt X-Patchwork-Id: 33218 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:e747:0:0:0:0:0 with SMTP id c7csp239269wrn; Wed, 14 Dec 2022 06:06:35 -0800 (PST) X-Google-Smtp-Source: AA0mqf6jIAtgFkTaEd5oyx16mDmdhokv6yfLVMT+PThG+YRgJddLnYhM3UkfM/If1Glm6pLEE0Pn X-Received: by 2002:a17:902:cf0f:b0:189:d193:91ff with SMTP id i15-20020a170902cf0f00b00189d19391ffmr27791767plg.61.1671026795207; Wed, 14 Dec 2022 06:06:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1671026795; cv=none; d=google.com; s=arc-20160816; b=nRiUr1C8a38nK4unn2/OnxPezGPs2hijR9l/+ahiqXqsgbhv7XKjlJiKbQna8Cbk2G LLA3Iop9/BlfahO1RhORGxgFsvzekkWGL75uTnIIvNeo7FsCRmjs0agyZXGYLzWH8G4o nCEskD0YVjv8kyO9akpuMCRaXUFVeATn7Sz2q4qSLcq/NlCLAXWOGOU+0vla9b9FT4F0 XjYstrewM8Nf9wL2Xqw7Csdo2hYvhcnFsoDP+MS2GXmNozYa6KhCYdr/AbT8jienGQW8 Y4rDDfkX3CF5s8PHAR5LYV30pe1q3ZPZsr2kpj+GBgjt+YJJtqUvZ2xiXpObehIYEOnp 24QA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:subject:cc:to:from:date :user-agent:message-id; bh=HkBamDoDXw16uWnle0I4BMDqnXl/KILA6hnouwMT2TY=; b=ERQHRNOdspXbbxLsUxUuM2mXKS9EIQWb85+WM3/8fXrowTfyYVjtq4D++ogOfU7NhK zKlrehosN7J04ZU8FcHxByX6aQDDCnfmOdQraYq/y156aebCazz3rbJUdAchDY9j2SYh CWdYK4dxVv38iZaRCdgCz/UcSma+KG6mASTBGqI5Umubz5iza64/95YrPARNn/CcMq5L Lw5zByQ55pjz0YoDlTgwKG04DRHkZjiKqH/P3gGky3K5tdDf3yDUdw7bGgt4OCxFRbW0 xv9s2GNxr0Vc/HXNmfOIf9VD92Ny6C7ivABgtnt3qfOpfE8/3Z2yGLTx1jiZyHwvmlvc 8EAQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 206-20020a6307d7000000b0046f59be9bebsi16457835pgh.102.2022.12.14.06.06.17; Wed, 14 Dec 2022 06:06:35 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238563AbiLNOCZ (ORCPT + 99 others); Wed, 14 Dec 2022 09:02:25 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:32848 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238524AbiLNOCL (ORCPT ); Wed, 14 Dec 2022 09:02:11 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3897320BC4 for ; Wed, 14 Dec 2022 06:02:11 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id D189661A69 for ; Wed, 14 Dec 2022 14:02:10 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3D0BDC4339E; Wed, 14 Dec 2022 14:02:10 +0000 (UTC) Received: from rostedt by gandalf.local.home with local (Exim 4.96) (envelope-from ) id 1p5SKn-000gun-13; Wed, 14 Dec 2022 09:02:09 -0500 Message-ID: <20221214140209.194205837@goodmis.org> User-Agent: quilt/0.66 Date: Wed, 14 Dec 2022 09:01:38 -0500 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Masami Hiramatsu , Andrew Morton Subject: [for-next][PATCH 5/8] tracing: Do not synchronize freeing of trigger filter on boot up References: <20221214140133.608431204@goodmis.org> MIME-Version: 1.0 X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_HI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1752198592826897749?= X-GMAIL-MSGID: =?utf-8?q?1752198592826897749?= From: "Steven Rostedt (Google)" If a trigger filter on the kernel command line fails to apply (due to syntax error), it will be freed. The freeing will call tracepoint_synchronize_unregister(), but this is not needed during early boot up, and will even trigger a lockdep splat. Avoid calling the synchronization function when system_state is SYSTEM_BOOTING. Link: https://lore.kernel.org/linux-trace-kernel/20221213172429.7774f4ba@gandalf.local.home Cc: Andrew Morton Acked-by: Masami Hiramatsu (Google) Signed-off-by: Steven Rostedt (Google) --- kernel/trace/trace_events_trigger.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/kernel/trace/trace_events_trigger.c b/kernel/trace/trace_events_trigger.c index 19ce9d22bfd7..e535959939d3 100644 --- a/kernel/trace/trace_events_trigger.c +++ b/kernel/trace/trace_events_trigger.c @@ -1085,8 +1085,14 @@ int set_trigger_filter(char *filter_str, rcu_assign_pointer(data->filter, filter); if (tmp) { - /* Make sure the call is done with the filter */ - tracepoint_synchronize_unregister(); + /* + * Make sure the call is done with the filter. + * It is possible that a filter could fail at boot up, + * and then this path will be called. Avoid the synchronization + * in that case. + */ + if (system_state != SYSTEM_BOOTING) + tracepoint_synchronize_unregister(); free_event_filter(tmp); } From patchwork Wed Dec 14 14:01:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Rostedt X-Patchwork-Id: 33217 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:e747:0:0:0:0:0 with SMTP id c7csp239073wrn; Wed, 14 Dec 2022 06:06:17 -0800 (PST) X-Google-Smtp-Source: AA0mqf5196qW20vPfj6aK5SSane4Ij/AUhnK4LXkAXaFmfSrgBq8YWySmqnM7eaP62mDchBoQlyr X-Received: by 2002:a17:906:5a96:b0:7c1:fbea:c5ce with SMTP id l22-20020a1709065a9600b007c1fbeac5cemr3613931ejq.7.1671026776820; Wed, 14 Dec 2022 06:06:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1671026776; cv=none; d=google.com; s=arc-20160816; b=jKq0k8Uz2QNGjCyon9FwALjyjRTNNuF0+ucw1PFiep13mF/qEvilij28uwLGKo+Na9 bE+9EFFU3DrroodYJu3qmvA0y8+UVNF7d84mJUupg+bXGoBvXbu2JzdJMicwSTiQUFFV psl8EPc9WN8E/DcVHi47JRd09R30rwfKIDggD6C/n/Ht6t+Uca6y/SEotWS7WUcD0Q6s qLeWqFoY0RD1svwQRXLjaoPl41ujPhwWj4ZBCqwbH2Dp8v2B5NOd27XiqSoko3GbA5dq YHx6YvZgRfWT4KR6UZVB+ETaf7Ise4+SwDpvRkYp5Z8qbES/POOgreTibNgVuR3kxzYN TOXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:subject:cc:to:from:date :user-agent:message-id; bh=WOgUSmkI9wGKkpQBYOZmfzv/mOpPQAtsp81t9dqEFk4=; b=B0HEb1qbL+7cAVH0tK0UQj1V/NZCxlN4MwIodeUppyLQ5mRIWJ+zVaX+ZHDikRFT6I poLf5Pfg8BFYYQ3BojZriylEFydxF2taNLM2nnC9z6V39ZHh5C0DIe7bqPCuyPrIvUux LQT60NavQwm+kOQG/P3Vk0cqhTSzEm0V0GiG+bHD/MnWFb7YmKiMF2bPw0oTsXI5DWXH 0Oj4kGOfdUEcmFz7BQfYzCj8pg9J6/bAaZQ3myCJHuTULk/U4NA1HESS9FXguTttU6dP GGkB2VU65bO/NqrrrP5GyEf38aatCyxjNLbH53uc/bsMW3PYe32D3uUhK9KdL0vgj23n DaHA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id qw28-20020a1709066a1c00b007c110cdf37bsi11244556ejc.529.2022.12.14.06.05.50; Wed, 14 Dec 2022 06:06:16 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238517AbiLNOCR (ORCPT + 99 others); Wed, 14 Dec 2022 09:02:17 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:32846 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238518AbiLNOCL (ORCPT ); Wed, 14 Dec 2022 09:02:11 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 66BD522BC5 for ; Wed, 14 Dec 2022 06:02:11 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 0108D61AA0 for ; Wed, 14 Dec 2022 14:02:11 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 69A15C433AC; Wed, 14 Dec 2022 14:02:10 +0000 (UTC) Received: from rostedt by gandalf.local.home with local (Exim 4.96) (envelope-from ) id 1p5SKn-000gvH-1Y; Wed, 14 Dec 2022 09:02:09 -0500 Message-ID: <20221214140209.346584113@goodmis.org> User-Agent: quilt/0.66 Date: Wed, 14 Dec 2022 09:01:39 -0500 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Masami Hiramatsu , Andrew Morton , Mark Rutland , "Guilherme G. Piccoli" Subject: [for-next][PATCH 6/8] ftrace: Prevent RCU stall on PREEMPT_VOLUNTARY kernels References: <20221214140133.608431204@goodmis.org> MIME-Version: 1.0 X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_HI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1752198573280388577?= X-GMAIL-MSGID: =?utf-8?q?1752198573280388577?= From: "gpiccoli@igalia.com" The function match_records() may take a while due to a large number of string comparisons, so when in PREEMPT_VOLUNTARY kernels we could face RCU stalls due to that. Add a cond_resched() to prevent that. Link: https://lkml.kernel.org/r/20221115204847.593616-1-gpiccoli@igalia.com Cc: Mark Rutland Suggested-by: Steven Rostedt Acked-by: Paul E. McKenney # from RCU CPU stall warning perspective Signed-off-by: Guilherme G. Piccoli Acked-by: Masami Hiramatsu (Google) Signed-off-by: Steven Rostedt (Google) Acked-by: Paul E. McKenney # from RCU CPU stall warning perspective Signed-off-by: Guilherme G. Piccoli Acked-by: Masami Hiramatsu (Google) Signed-off-by: Steven Rostedt (Google) --- kernel/trace/ftrace.c | 1 + 1 file changed, 1 insertion(+) diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index d04552c0c275..b8e374a372e5 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -4204,6 +4204,7 @@ match_records(struct ftrace_hash *hash, char *func, int len, char *mod) } found = 1; } + cond_resched(); } while_for_each_ftrace_rec(); out_unlock: mutex_unlock(&ftrace_lock); From patchwork Wed Dec 14 14:01:40 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Rostedt X-Patchwork-Id: 33222 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:e747:0:0:0:0:0 with SMTP id c7csp241758wrn; Wed, 14 Dec 2022 06:10:00 -0800 (PST) X-Google-Smtp-Source: AA0mqf5vkmsc8RAN5g9S0uPz1tueOsC2zkmv5YwtTebkCkuFj/HPxKq1SrH+7yZU9gaKxdHWqjWM X-Received: by 2002:a17:906:d90:b0:7c0:bbab:22ea with SMTP id m16-20020a1709060d9000b007c0bbab22eamr22162225eji.46.1671027000047; Wed, 14 Dec 2022 06:10:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1671027000; cv=none; d=google.com; s=arc-20160816; b=et3h8wqgPiW25lkprJS6sEkIpR8qpS6Rix/3s3HFmH/Og+jdoa4K7nfljz/deGkClf 3TB4QiUZENxXQB95/UgF5t6+t70MllFB0zsQFT1KlW3HUF0f+ynu3v9gZAW1dwlCM8fw /+3/NzGYyz+vsJ+7xHMpiLONMT71IRF0FQGxSJAIq8s19h2zn0kCvQ2ydw1copd2MDfN qKA4BN8qVBvmTnTqyourlK4zAXJIBtfETLorNjSLIFY8yoZBJDkI6tFt4k/xtMLIfbqR Yujc/KNIP4TMSfhgInjsbXdrk5UlX1QzZOV83XhRIkW3M92wujWtxZyVjzIqYrNL/TKB gmdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:subject:cc:to:from:date :user-agent:message-id; bh=4U5a5JbYGzYBbJ9WbdMbd52e5sk0Ubf+CizYR14X9TY=; b=FOLGRWF66iwpptlFIBogZjxtcSonD0yFlqam0oI/h4PTVKZ2Wa9fJYpkU8wddE+DkH j8/JbVGVpIPA42ket2m8Ulx6oJhZ4XCW0xEttKyGDgpm0s+o5T+QUL30nWa3slIXj8c6 tlw4doHjy80rRz0zJi+VlyQpDwzwD76Eh/+u5d5/4XMTOAt8mieef+iGZ3F2u65HFMZ/ sJ19NCdFVR298jf6vJdjQBYehx/z25f3DVSCNP2TOTHixLvefUsNnKYseIABf3nqvBYq DbRe3e+ro262Udbv7PpWhh0+IWKUKMh8R/M57LLnINL6OpSBVqb3mUPhrFTW56rqlsnj CZfQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id hv14-20020a17090760ce00b007ae24f28400si4049409ejc.247.2022.12.14.06.09.34; Wed, 14 Dec 2022 06:10:00 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238615AbiLNOCk (ORCPT + 99 others); Wed, 14 Dec 2022 09:02:40 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:32916 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238533AbiLNOCP (ORCPT ); Wed, 14 Dec 2022 09:02:15 -0500 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7D8DA11C21 for ; Wed, 14 Dec 2022 06:02:13 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id B7AEFB818D3 for ; Wed, 14 Dec 2022 14:02:11 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8641EC433A7; Wed, 14 Dec 2022 14:02:10 +0000 (UTC) Received: from rostedt by gandalf.local.home with local (Exim 4.96) (envelope-from ) id 1p5SKn-000gvm-24; Wed, 14 Dec 2022 09:02:09 -0500 Message-ID: <20221214140209.502652192@goodmis.org> User-Agent: quilt/0.66 Date: Wed, 14 Dec 2022 09:01:40 -0500 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Masami Hiramatsu , Andrew Morton , Petr Mladek , Sergei Shtylyov , "Guilherme G. Piccoli" Subject: [for-next][PATCH 7/8] tracing: Improve panic/die notifiers References: <20221214140133.608431204@goodmis.org> MIME-Version: 1.0 X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_HI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1752198807876820944?= X-GMAIL-MSGID: =?utf-8?q?1752198807876820944?= From: "Guilherme G. Piccoli" Currently the tracing dump_on_oops feature is implemented through separate notifiers, one for die/oops and the other for panic; given they have the same functionality, let's unify them. Also improve the function comment and change the priority of the notifier to make it execute earlier, avoiding showing useless trace data (like the callback names for the other notifiers); finally, we also removed an unnecessary header inclusion. Link: https://lkml.kernel.org/r/20220819221731.480795-7-gpiccoli@igalia.com Cc: Petr Mladek Cc: Sergei Shtylyov Signed-off-by: Guilherme G. Piccoli Signed-off-by: Steven Rostedt (Google) --- kernel/trace/trace.c | 55 ++++++++++++++++++++++---------------------- 1 file changed, 27 insertions(+), 28 deletions(-) diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 548890c7c0f5..6d7ef130f57e 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -19,7 +19,6 @@ #include #include #include -#include #include #include #include @@ -9876,40 +9875,40 @@ static __init int tracer_init_tracefs(void) fs_initcall(tracer_init_tracefs); -static int trace_panic_handler(struct notifier_block *this, - unsigned long event, void *unused) -{ - if (ftrace_dump_on_oops) - ftrace_dump(ftrace_dump_on_oops); - return NOTIFY_OK; -} +static int trace_die_panic_handler(struct notifier_block *self, + unsigned long ev, void *unused); static struct notifier_block trace_panic_notifier = { - .notifier_call = trace_panic_handler, - .next = NULL, - .priority = 150 /* priority: INT_MAX >= x >= 0 */ + .notifier_call = trace_die_panic_handler, + .priority = INT_MAX - 1, }; -static int trace_die_handler(struct notifier_block *self, - unsigned long val, - void *data) -{ - switch (val) { - case DIE_OOPS: - if (ftrace_dump_on_oops) - ftrace_dump(ftrace_dump_on_oops); - break; - default: - break; - } - return NOTIFY_OK; -} - static struct notifier_block trace_die_notifier = { - .notifier_call = trace_die_handler, - .priority = 200 + .notifier_call = trace_die_panic_handler, + .priority = INT_MAX - 1, }; +/* + * The idea is to execute the following die/panic callback early, in order + * to avoid showing irrelevant information in the trace (like other panic + * notifier functions); we are the 2nd to run, after hung_task/rcu_stall + * warnings get disabled (to prevent potential log flooding). + */ +static int trace_die_panic_handler(struct notifier_block *self, + unsigned long ev, void *unused) +{ + if (!ftrace_dump_on_oops) + return NOTIFY_DONE; + + /* The die notifier requires DIE_OOPS to trigger */ + if (self == &trace_die_notifier && ev != DIE_OOPS) + return NOTIFY_DONE; + + ftrace_dump(ftrace_dump_on_oops); + + return NOTIFY_DONE; +} + /* * printk is set to max of 1024, we really don't need it that big. * Nothing should be printing 1000 characters anyway. From patchwork Wed Dec 14 14:01:41 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Rostedt X-Patchwork-Id: 33223 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:e747:0:0:0:0:0 with SMTP id c7csp242247wrn; Wed, 14 Dec 2022 06:10:43 -0800 (PST) X-Google-Smtp-Source: AA0mqf4z6gKT2D+av1TccHi4xSo0Q0jVA9uZzRk/SfsqN2Y5qhlS+y9qT9wJgWVZaAYDRsMxKqSZ X-Received: by 2002:a05:6402:e09:b0:467:91bc:f523 with SMTP id h9-20020a0564020e0900b0046791bcf523mr22682975edh.36.1671027042999; Wed, 14 Dec 2022 06:10:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1671027042; cv=none; d=google.com; s=arc-20160816; b=OXgD4eLzWM+eAdC0PdyhHT4aZdV2i3RrsFavkB3Nn9hoPbj81nNaLgSj5IG1YPEQGV TbjTamAY2qOBwqoJRGVNueTb1N1YEd5UTWR3A1TF9IBe+PL+2KpjYE+Q+oWClbyMzJe3 qvzgsrBFtt0jD7NTiP/EdLq7kgUBS7MfcAhxV6krX1OuLFYMW22x3CNTcwdQTAG0qSm8 2W5a5wsXSWGhZIhcF8yuLrUfVFE1pAE6EbdZ+sLhj/j0faQKaNLmURjHTI/sDiPp9Zst Rg+ORDWnX4gbNsjFJuRKF46MfrEfNZ+AYAWKu1yetywvp1HicIUR5YTyjKuaoZCaPN2E HftA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:subject:cc:to:from:date :user-agent:message-id; bh=mRxk/ooHMN5X8ZxcS86cLDEIhp7lXaih5mVN0BvaJTk=; b=DScj/IvKdMXDOvQ0wzrkzBsIOmc8SKuUyuZhbGeEZyle2i1f8/pB6Lyrb56SEBY9j6 TfhTxjkD3GSG4jyoW+DDHrSRdd7YOCw6RJDUDgaflsUAWm/nMcrCSDw3J1OELBiCSrTI COD2Gin3UY+ZkpFE3pdSPMZqKJmDmenLq7M2+Wk04GvGcGZkEPTaSsAYskIZoqkgliBp t11sXNxwQAS2GoiHkf6VhsiwjoNN4laz7Iep57sY6Q17b9HEzX+lz9Hlo12c4Xh1fJO2 7tEf2vJK49V5+kArfOubtChP63uw2LDAhEpR7Z4/Ngg6OMd7SBJwEZbhqEequk79K0rw B+bQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id cr19-20020a170906d55300b007c18a102d8esi4827253ejc.82.2022.12.14.06.10.18; Wed, 14 Dec 2022 06:10:42 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238629AbiLNOCn (ORCPT + 99 others); Wed, 14 Dec 2022 09:02:43 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:32918 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238532AbiLNOCP (ORCPT ); Wed, 14 Dec 2022 09:02:15 -0500 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7D9AB275F3 for ; Wed, 14 Dec 2022 06:02:13 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 115CFB818D4 for ; Wed, 14 Dec 2022 14:02:12 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A881AC433B0; Wed, 14 Dec 2022 14:02:10 +0000 (UTC) Received: from rostedt by gandalf.local.home with local (Exim 4.96) (envelope-from ) id 1p5SKn-000gwH-2Z; Wed, 14 Dec 2022 09:02:09 -0500 Message-ID: <20221214140209.659597977@goodmis.org> User-Agent: quilt/0.66 Date: Wed, 14 Dec 2022 09:01:41 -0500 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Masami Hiramatsu , Andrew Morton Subject: [for-next][PATCH 8/8] tracing: Fix cpumask() example typo References: <20221214140133.608431204@goodmis.org> MIME-Version: 1.0 X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_HI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1752198852969830776?= X-GMAIL-MSGID: =?utf-8?q?1752198852969830776?= From: "Steven Rostedt (Google)" The sample code for using cpumask used the wrong field for the __get_cpumask() helper. It used "cpus" which is the bitmask (but would still give a proper example) instead of the "cpum" that was there to be used. Although it produces the same output, fix it, because it's an example and is confusing in how to properly use the cpumask() macro. Link: https://lore.kernel.org/linux-trace-kernel/20221213221227.56560374@gandalf.local.home Cc: Andrew Morton Acked-by: Masami Hiramatsu (Google) Signed-off-by: Steven Rostedt (Google) --- samples/trace_events/trace-events-sample.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/trace_events/trace-events-sample.h b/samples/trace_events/trace-events-sample.h index fb4548a44153..1c6b843b8c4e 100644 --- a/samples/trace_events/trace-events-sample.h +++ b/samples/trace_events/trace-events-sample.h @@ -359,7 +359,7 @@ TRACE_EVENT(foo_bar, __print_array(__get_dynamic_array(list), __get_dynamic_array_len(list) / sizeof(int), sizeof(int)), - __get_str(str), __get_bitmask(cpus), __get_cpumask(cpus), + __get_str(str), __get_bitmask(cpus), __get_cpumask(cpum), __get_str(vstr)) );