From patchwork Wed Feb 28 02:56:02 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Liuye X-Patchwork-Id: 207666 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:a81b:b0:108:e6aa:91d0 with SMTP id bq27csp3143820dyb; Tue, 27 Feb 2024 21:11:54 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCWK/PWsZe8VbuLe7ZBFvFirK6xvh5Nb+rhWtO8fvfGCMrIwuWamCSrENgdK/TUcfTmfemLi45ZtfqnYbPxUYjPvUA7HQQ== X-Google-Smtp-Source: AGHT+IEtL4Ds//2wPJrU0rDbBjjP5gveNt5T+oRZIU47Tfcti1JYK5MIhrdFhQH7FpJVQj0Zo+gS X-Received: by 2002:a05:6a20:c991:b0:1a1:1eb7:83e1 with SMTP id gy17-20020a056a20c99100b001a11eb783e1mr62993pzb.46.1709097114365; Tue, 27 Feb 2024 21:11:54 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709097114; cv=pass; d=google.com; s=arc-20160816; b=csSPxARmFqUdyrPdP1A6Wa90UtShQm2oTXbIznLh4hdyU6JqKlRpJfeQd67aIo72+Q L7X2LVFyVa26rnsbLvVOBnJbEsTgHDW3i2B+sMVINnXLacCn3vW52bGRC6a3yrSFSrac 65QIPxj9aeb1WW8MNewkOkxwP/V9CTkCevWRvM4Y+gzhZJ38I9ipokAVuWkGi8WjRylv JdQMFVGG7+CaatmaY+rtQ/LLdHlACXbwyIMedRAVB8T6BxncyZpu6vyq6ALlunSooL4f 4BQK47IIDxdrttQZ3VSTfReYUI5jI2ttdpip4J5M2WDW0xv9FADSaJzgX+1WkQRRdVAy i8sw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from; bh=Fg2VLF977/jLXbNNPHD/JylkDCE81XXuOm/sIRtLOEM=; fh=Q5oL0PX3WUVJ8OrzkQdd02S11EGxJEqBQUF2iXRG2k8=; b=Xi6EIxetNbSvs4xHMELjjYrny56FOYhp6hABnPNCisWj0rBfoSikpKVoKgakLKSjx8 xtfMZZJuHJvHaCOMJNyoENG8ktvEPcnDL2Pvrszo1YxvvWOL0kyF+eti8gG+uhQ8Einp CYAFuHp+Xzd3JFgIGXGOXiOfvfB9yPfJidW3smYkMCeADvboPhViSx8+ZA3TwpwM5hvz JMTkZP4bfxKvxu31kTp5ZjAOszPMemzX114w9gp2Rg2CM2uP90wHVTxuyRC2+TUn0H9+ B2iQCWueZHBlmYLW0QmcWR+HdeqEpC4ShekO5z/p3gjulwlhieJZIcuvMj9eYoPZe41n wSsg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=h3c.com); spf=pass (google.com: domain of linux-kernel+bounces-84522-ouuuleilei=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-84522-ouuuleilei=gmail.com@vger.kernel.org" Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id mq4-20020a17090b380400b0029abdf3f21esi711408pjb.34.2024.02.27.21.11.54 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Feb 2024 21:11:54 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-84522-ouuuleilei=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=h3c.com); spf=pass (google.com: domain of linux-kernel+bounces-84522-ouuuleilei=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-84522-ouuuleilei=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 3364D28978B for ; Wed, 28 Feb 2024 05:11:54 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id B45AE210FF; Wed, 28 Feb 2024 05:11:43 +0000 (UTC) Received: from h3cspam02-ex.h3c.com (smtp.h3c.com [60.191.123.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CBF911D685; Wed, 28 Feb 2024 05:11:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=60.191.123.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709097101; cv=none; b=PFtkOMsbPgteyz+s2FpJYzKs1bA+djeALYvYsFm9TDFQKNbEuUSXf65NHcCAlFjKj8O3HfH/3QMLvlQpHyqiZZn7qcuaZ5b16+5309/Oqh8CQHEd927U7n5PsW845/VnlYwB+Eo+9XB9ayX/21+gNgLW9mMNZS1GbB1w4sskqr4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709097101; c=relaxed/simple; bh=6zpMQGqstL9uPpFOv76N6PFMaID669Pd5/NbhzWUD/E=; h=From:To:CC:Subject:Date:Message-ID:MIME-Version:Content-Type; b=qBnv3BOcLFeP3JG7mf5PNUqxgdyU8+GQ3hugcSEjVSoH0Ijiet9NlgopLENY0JKQ6P2l9rQ5Cj60Wy/s+BWINYPacN7652Gy40qpb+PsINS9KB8tpsy2K3+I6JcUejSLh2YIaS0pMNOR8JD7F8BW48FwjlGDXOQkIMHaP++tgPc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=h3c.com; spf=pass smtp.mailfrom=h3c.com; arc=none smtp.client-ip=60.191.123.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=h3c.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=h3c.com Received: from h3cspam02-ex.h3c.com (localhost [127.0.0.2] (may be forged)) by h3cspam02-ex.h3c.com with ESMTP id 41S2vifp091258; Wed, 28 Feb 2024 10:57:44 +0800 (GMT-8) (envelope-from liu.yeC@h3c.com) Received: from mail.maildlp.com ([172.25.15.154]) by h3cspam02-ex.h3c.com with ESMTP id 41S2uMv7083766; Wed, 28 Feb 2024 10:56:22 +0800 (GMT-8) (envelope-from liu.yeC@h3c.com) Received: from DAG6EX02-IMDC.srv.huawei-3com.com (unknown [10.62.14.11]) by mail.maildlp.com (Postfix) with ESMTP id F15DC2004BB7; Wed, 28 Feb 2024 10:57:30 +0800 (CST) Received: from localhost.localdomain (10.114.186.34) by DAG6EX02-IMDC.srv.huawei-3com.com (10.62.14.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.1258.27; Wed, 28 Feb 2024 10:56:22 +0800 From: LiuYe To: , CC: , , , , , , Subject: [PATCH] kdb: Fix the deadlock issue in KDB debugging. Date: Wed, 28 Feb 2024 10:56:02 +0800 Message-ID: <20240228025602.3087748-1-liu.yeC@h3c.com> X-Mailer: git-send-email 2.25.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: BJSMTP02-EX.srv.huawei-3com.com (10.63.20.133) To DAG6EX02-IMDC.srv.huawei-3com.com (10.62.14.11) X-DNSRBL: X-SPAM-SOURCE-CHECK: pass X-MAIL: h3cspam02-ex.h3c.com 41S2vifp091258 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792118215653507691 X-GMAIL-MSGID: 1792118215653507691 master cpu : After executing the go command, a deadlock occurs. slave cpu: may be performing thread migration, acquiring the running queue lock of master CPU. Then it was interrupted by kdb NMI and entered the nmi_handler process. (nmi_handle-> kgdb_nmicallback-> kgdb_cpu_enter while(1){ touch wathcdog}.) example: BUG: spinlock lockup suspected on CPU#0, namex/10450 lock: 0xffff881ffe823980, .magic: dead4ead, .owner: namexx/21888, .owner_cpu: 1 ffff881741d00000 ffff881741c01000 0000000000000000 0000000000000000 ffff881740f58e78 ffff881741cffdd0 ffffffff8147a7fc ffff881740f58f20 Call Trace: [] ? __schedule+0x16d/0xac0 [] ? schedule+0x3c/0x90 [] ? schedule_hrtimeout_range_clock+0x10a/0x120 [] ? mutex_unlock+0xe/0x10 [] ? ep_scan_ready_list+0x1db/0x1e0 [] ? schedule_hrtimeout_range+0x13/0x20 [] ? ep_poll+0x27a/0x3b0 [] ? wake_up_q+0x70/0x70 [] ? SyS_epoll_wait+0xb8/0xd0 [] ? entry_SYSCALL_64_fastpath+0x12/0x75 CPU: 0 PID: 10450 Comm: namex Tainted: G O 4.4.65 #1 Hardware name: Insyde Purley/Type2 - Board Product Name1, BIOS 05.21.51.0036 07/19/2019 0000000000000000 ffff881ffe813c10 ffffffff8124e883 ffff881741c01000 ffff881ffe823980 ffff881ffe813c38 ffffffff810a7f7f ffff881ffe823980 000000007d2b7cd0 0000000000000001 ffff881ffe813c68 ffffffff810a80e0 Call Trace: <#DB> [] dump_stack+0x85/0xc2 [] spin_dump+0x7f/0x100 [] do_raw_spin_lock+0xa0/0x150 [] _raw_spin_lock+0x15/0x20 [] try_to_wake_up+0x176/0x3d0 [] wake_up_process+0x15/0x20 [] insert_work+0x81/0xc0 [] __queue_work+0x135/0x390 [] queue_work_on+0x46/0x90 [] kgdboc_post_exp_handler+0x48/0x70 [] kgdb_cpu_enter+0x598/0x610 [] kgdb_handle_exception+0xf2/0x1f0 [] __kgdb_notify+0x71/0xd0 [] kgdb_notify+0x35/0x70 [] notifier_call_chain+0x4a/0x70 [] notify_die+0x3d/0x50 [] do_int3+0x89/0x120 [] int3+0x44/0x80 Signed-off-by: LiuYe --- drivers/tty/serial/kgdboc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) -- 2.25.1 ------------------------------------------------------------------------------------------------------------------------------------- ±¾Óʼþ¼°Æ丽¼þº¬ÓÐлªÈý¼¯Íŵı£ÃÜÐÅÏ¢£¬½öÏÞÓÚ·¢Ë͸øÉÏÃæµØÖ·ÖÐÁгö µÄ¸öÈË»òȺ×é¡£½ûÖ¹ÈκÎÆäËûÈËÒÔÈκÎÐÎʽʹÓ㨰üÀ¨µ«²»ÏÞÓÚÈ«²¿»ò²¿·ÖµØй¶¡¢¸´ÖÆ¡¢ »òÉ¢·¢£©±¾ÓʼþÖеÄÐÅÏ¢¡£Èç¹ûÄú´íÊÕÁ˱¾Óʼþ£¬ÇëÄúÁ¢¼´µç»°»òÓʼþ֪ͨ·¢¼þÈ˲¢É¾³ý±¾ Óʼþ£¡ This e-mail and its attachments contain confidential information from New H3C, which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction, or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this e-mail in error, please notify the sender by phone or email immediately and delete it! diff --git a/drivers/tty/serial/kgdboc.c b/drivers/tty/serial/kgdboc.c index 7ce7bb164..945318ef1 100644 --- a/drivers/tty/serial/kgdboc.c +++ b/drivers/tty/serial/kgdboc.c @@ -22,6 +22,9 @@ #include #include #include +#include + +#include "../kernel/sched/sched.h" #define MAX_CONFIG_LEN 40 @@ -399,7 +402,8 @@ static void kgdboc_post_exp_handler(void) dbg_restore_graphics = 0; con_debug_leave(); } - kgdboc_restore_input(); + if (!raw_spin_is_locked(&(cpu_rq(smp_processor_id())->lock))) + kgdboc_restore_input(); } static struct kgdb_io kgdboc_io_ops = {