Received: by 2002:ad5:4acb:0:0:0:0:0 with SMTP id n11csp4444275imw; Tue, 19 Jul 2022 06:46:47 -0700 (PDT) X-Google-Smtp-Source: AGRyM1saYdV0v4BV31TVj46zqQOAHtYdrAyOq+qM5rd5t8FWbtvofsrRC0FXAhxyIpvYVwgEDK1H X-Received: by 2002:a05:6402:148d:b0:43a:8f93:1d1 with SMTP id e13-20020a056402148d00b0043a8f9301d1mr43501971edv.57.1658238407219; Tue, 19 Jul 2022 06:46:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1658238407; cv=none; d=google.com; s=arc-20160816; b=qgC+Fszp1QaORDmBmoJaOU9Zl+8OKFq8XqDRJcbnDGrmSi73QoiHVAgf6Qpe2+9ZjQ oYZ+TTITNbR4tXe8NIIGWfV5S+brXnRlKtAreDkGhO+g7ceV+fhO9vxPtaf509z+1WFz w8FNnIxw5HsegtL+uvhA+3NXtRH1UnlArpZbE5mfp7D4TnZBiqaYgT3gGrRhMJEI7wGW eLJ7tGxJki5Zo/tbDjvvnCrgEdvtuF7HmAIgtZmRfmj+pp6uDcu9eCPIg8RncjNFbcFp cUbnv8ijkMS3jxSSELgup4Op9pYuLN3MidnD4tsX4BhyXFllKdfG6ppyPOFNCEQ5DVEE A5Gw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=rHV6spxBCl/jXlVPCVB/VKKAOy/ghP3PoBFrPIkGq8A=; b=pfF8YXMKqlLSdV+60kdQWwEe8YvALri8q1M5YhsyAtaAZ4uyVd1GQWnv52hrv1B+ly 8wHzu5DGS6nldBqP4yIq55r5+HPZo2Lt/hnbGcAhCbzfbenLXedbXz7MwZeFxUS26KwN hIE54itZtq/9mFfd2UrMGMb8m/gkWJ3HPia0bBp+5KdfPgBLQEQBr6bp/SDz32PSRoUr PMcI6u1ZRp8czQpZD8JSlZILux8HrtnR7H03uX/Ij3LNgH54WcoMStGroHDnCszkyoLr V4pafKX3s8cWiOUzoCKQjrBqQdyKnjy3sEb0oLTtoOEhKdQdOe0rZvkH6W93AyFVoM9C hgxw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=g4xlXyiY; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b4-20020a170906490400b0072b7497075fsi16663858ejq.828.2022.07.19.06.46.22; Tue, 19 Jul 2022 06:46:47 -0700 (PDT) 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; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=g4xlXyiY; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238830AbiGSMRQ (ORCPT + 99 others); Tue, 19 Jul 2022 08:17:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38038 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238885AbiGSMNp (ORCPT ); Tue, 19 Jul 2022 08:13:45 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A6D2A167FE; Tue, 19 Jul 2022 05:04:49 -0700 (PDT) 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 4642CB81B36; Tue, 19 Jul 2022 12:04:49 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 944FFC341CA; Tue, 19 Jul 2022 12:04:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1658232288; bh=oL3oDNe2y17tLOJuvr/IYi8IQy7QdCfHnwou0u2wIic=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=g4xlXyiYESKhyw+X5HM1kSL/J8gyuRSTTvz6zHdwzc9IkMpKNuJpxo9eboLAsWXDv J8AAc5bvWp6ItqusIbpl7ZYfSFS9t5n8yBRD5XB69ISuf+PsXNpQHJYMZf0JU0ogFb XwrwVbZJ1Ek68BGSOEJK/msFApDRUaN+nehpfVUg= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Linus Torvalds , Sasha Levin Subject: [PATCH 5.4 63/71] signal handling: dont use BUG_ON() for debugging Date: Tue, 19 Jul 2022 13:54:26 +0200 Message-Id: <20220719114558.547746636@linuxfoundation.org> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20220719114552.477018590@linuxfoundation.org> References: <20220719114552.477018590@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-7.8 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,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 From: Linus Torvalds [ Upstream commit a382f8fee42ca10c9bfce0d2352d4153f931f5dc ] These are indeed "should not happen" situations, but it turns out recent changes made the 'task_is_stopped_or_trace()' case trigger (fix for that exists, is pending more testing), and the BUG_ON() makes it unnecessarily hard to actually debug for no good reason. It's been that way for a long time, but let's make it clear: BUG_ON() is not good for debugging, and should never be used in situations where you could just say "this shouldn't happen, but we can continue". Use WARN_ON_ONCE() instead to make sure it gets logged, and then just continue running. Instead of making the system basically unusuable because you crashed the machine while potentially holding some very core locks (eg this function is commonly called while holding 'tasklist_lock' for writing). Signed-off-by: Linus Torvalds Signed-off-by: Sasha Levin --- kernel/signal.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/kernel/signal.c b/kernel/signal.c index 3f61367fd168..1f4293a107b4 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -1916,12 +1916,12 @@ bool do_notify_parent(struct task_struct *tsk, int sig) bool autoreap = false; u64 utime, stime; - BUG_ON(sig == -1); + WARN_ON_ONCE(sig == -1); - /* do_notify_parent_cldstop should have been called instead. */ - BUG_ON(task_is_stopped_or_traced(tsk)); + /* do_notify_parent_cldstop should have been called instead. */ + WARN_ON_ONCE(task_is_stopped_or_traced(tsk)); - BUG_ON(!tsk->ptrace && + WARN_ON_ONCE(!tsk->ptrace && (tsk->group_leader != tsk || !thread_group_empty(tsk))); /* Wake up all pidfd waiters */ -- 2.35.1