Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp479350pxb; Wed, 3 Mar 2021 07:56:21 -0800 (PST) X-Google-Smtp-Source: ABdhPJyTVIY0OmyWokaicWZiba+fBKqhAxpd9nuM93UcKlpDSi6f5UrffCIOEqu3EYf6mmk5DmTK X-Received: by 2002:a17:906:f9cc:: with SMTP id lj12mr25714517ejb.544.1614786981643; Wed, 03 Mar 2021 07:56:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1614786981; cv=none; d=google.com; s=arc-20160816; b=Wn6Vw8d7/Pdvy1M8LhncaPW/NT0fg9HAxmmshED0gD4cCl6eaKCmzNb2UhJXndnm3G 1JHMK02I8fajJk7eKbKhXEUKXNr3jBa6Xj3SoRb7tuHt6mM9235u6pkGsSvigqCVnKzv vFGDvL8i1XVoFew1BdTO6C30ALBcpTzfQXpBaYdrZOIsMnM9AgiBBm+Lljpgb2WCzIro 3bzp82lPWqY5ieK+F3sRKSTUETJ/HNpD/TJ/CRqqVN/yGYUZ4244LXXcNLWMTRhiF6do NxH/UVShs6Hqr3SaQWybUWGnITRfthx8EcHSaVsXilPny/zP6VJBSacOfniW3IOjuPqS khxg== 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=mYv94wfVGxW7lgu1yHNOYAPJHc4U/nsUJLqphrMNkmY=; b=i1VTP7iTu+vqyzkIoi+GYRdll2sPAmn1g1i1MXNNcXsXqHCUI5C+OyuTKlpa5vtWf6 b19C02PQuBrMVNtqkbXbWe4L2RfmPd8Blvqn8OeTs92i9adJWK843bkVPldFurOb74yA I2w5Ks0sgJcQGQ2sHnB0CvRx/ht85FUM3sLm3WITkTvV9LLbJ7KoSA09l4fonymvV9OA +2lg3zclACl3HHq15YWzIsE+yo4HuTwNorQKsa1fJjl7MQkR0q1X1J/F1pOzE0IqJrXz 5mggTwpOc3MHplia70mKFtrB0qhvH0uxX3I6WE4f7dRc912R39kFBZLodKYcCkQVKdm5 +ZuA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=plNAQC0w; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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 vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id b13si9391062edt.436.2021.03.03.07.55.25; Wed, 03 Mar 2021 07:56:21 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=plNAQC0w; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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 S242928AbhCAXSE (ORCPT + 99 others); Mon, 1 Mar 2021 18:18:04 -0500 Received: from mail.kernel.org ([198.145.29.99]:54168 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239240AbhCAR7G (ORCPT ); Mon, 1 Mar 2021 12:59:06 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 6E77B65146; Mon, 1 Mar 2021 17:04:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1614618293; bh=EGQN54Ymvb8+0zhCacNLIY1ay2EdJOvFaCpwQ2xvMIM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=plNAQC0wXYruZL1zsY5ufRFPolAVA0QJ8o9a11kA1PYOf8ZTd+53ao6S9yYhEAVPF m/Bi9iLVAt45I0GiqEiv/jDVXMuC91hGQQWyv2Mq/K8Han5EHXr9vtdOCTbEdWsuy5 QXcDtg8yfSSqyiHS1CvBlcp0yCf4S1JL7UrVKXxI= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Sumit Garg , Daniel Thompson Subject: [PATCH 5.10 007/663] kdb: Make memory allocations more robust Date: Mon, 1 Mar 2021 17:04:15 +0100 Message-Id: <20210301161142.138913117@linuxfoundation.org> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20210301161141.760350206@linuxfoundation.org> References: <20210301161141.760350206@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Sumit Garg commit 93f7a6d818deef69d0ba652d46bae6fbabbf365c upstream. Currently kdb uses in_interrupt() to determine whether its library code has been called from the kgdb trap handler or from a saner calling context such as driver init. This approach is broken because in_interrupt() alone isn't able to determine kgdb trap handler entry from normal task context. This can happen during normal use of basic features such as breakpoints and can also be trivially reproduced using: echo g > /proc/sysrq-trigger We can improve this by adding check for in_dbg_master() instead which explicitly determines if we are running in debugger context. Cc: stable@vger.kernel.org Signed-off-by: Sumit Garg Link: https://lore.kernel.org/r/1611313556-4004-1-git-send-email-sumit.garg@linaro.org Signed-off-by: Daniel Thompson Signed-off-by: Greg Kroah-Hartman --- kernel/debug/kdb/kdb_private.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/kernel/debug/kdb/kdb_private.h +++ b/kernel/debug/kdb/kdb_private.h @@ -230,7 +230,7 @@ extern struct task_struct *kdb_curr_task #define kdb_task_has_cpu(p) (task_curr(p)) -#define GFP_KDB (in_interrupt() ? GFP_ATOMIC : GFP_KERNEL) +#define GFP_KDB (in_dbg_master() ? GFP_ATOMIC : GFP_KERNEL) extern void *debug_kmalloc(size_t size, gfp_t flags); extern void debug_kfree(void *);