From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id DA5F5C5475B for ; Mon, 11 Mar 2024 11:24:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 53B9D6B007D; Mon, 11 Mar 2024 07:24:37 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4C36B6B0082; Mon, 11 Mar 2024 07:24:37 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 33CE96B0085; Mon, 11 Mar 2024 07:24:37 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 1F9456B007D for ; Mon, 11 Mar 2024 07:24:37 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id EAFF2A1316 for ; Mon, 11 Mar 2024 11:24:36 +0000 (UTC) X-FDA: 81884525352.26.DE91C77 Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) by imf10.hostedemail.com (Postfix) with ESMTP id 590FCC0016 for ; Mon, 11 Mar 2024 11:24:32 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf10.hostedemail.com: domain of changbin.du@huawei.com designates 45.249.212.255 as permitted sender) smtp.mailfrom=changbin.du@huawei.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1710156274; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:in-reply-to: references; bh=AKJUPIi5ehiXACBaHP8MmBAHSQKfOjojtQyJv7fZX+c=; b=6Pb1WqUru9WaSiaXCe1FwdXq3WnF1rPmeo8Kjt2QYJQXp7QrxvXiHEmYcclEm74b+khFRi i3sf42gNBnhFhJvk7/3zCMOK979aO0uErWAlPf6weIGQ43YPdgLkE8r6MbUg0Zd4zcrFBx d8RrNMgCrh7Vcm59njWh229E7+/nkOw= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf10.hostedemail.com: domain of changbin.du@huawei.com designates 45.249.212.255 as permitted sender) smtp.mailfrom=changbin.du@huawei.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1710156274; a=rsa-sha256; cv=none; b=Txor5VrFmOR29oISN7LKrtq3EJ/CVssvVHSPoNvGrwTvQfyO6VuBuzxoUKEMl8cWFX/utP QS5O910aR+BQ04tlGyGCNV3QcJhneLWRPVA9c4WcfHOKjBr+HqoamktU2c/VlpWDF1y1CT STJUXShYLuqsVTFUF2gxln5JmerevzI= Received: from mail.maildlp.com (unknown [172.19.88.105]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4TtZB80BlGz1Q9YQ; Mon, 11 Mar 2024 19:22:24 +0800 (CST) Received: from kwepemd100011.china.huawei.com (unknown [7.221.188.204]) by mail.maildlp.com (Postfix) with ESMTPS id 4CBB81400F4; Mon, 11 Mar 2024 19:24:28 +0800 (CST) Received: from M910t.huawei.com (10.110.54.157) by kwepemd100011.china.huawei.com (7.221.188.204) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.28; Mon, 11 Mar 2024 19:24:26 +0800 From: Changbin Du To: Ingo Molnar , Andrew Morton , Peter Zijlstra , Juri Lelli , Vincent Guittot CC: Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Daniel Bristot de Oliveira , Valentin Schneider , , , Alexander Potapenko , , Changbin Du , Marco Elver Subject: [PATCH] mm: kmsan: fix instrumentation recursion on preempt_count Date: Mon, 11 Mar 2024 19:23:30 +0800 Message-ID: <20240311112330.372158-1-changbin.du@huawei.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.110.54.157] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To kwepemd100011.china.huawei.com (7.221.188.204) X-Rspam-User: X-Stat-Signature: f5oht6cgudkafai7ufxzyaxkjyrn99gp X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 590FCC0016 X-HE-Tag: 1710156272-761730 X-HE-Meta: U2FsdGVkX18umVQdQq+/ZGKGP3mXDMueGyR+um2iSn1UHKakHcSrsi14zeWVgKrhFl7YUtX5kxerq/nR3TeQdE2xZw/ptIyyo6O91aBLy2YFks0ylrEfKJk8+VlsEYWznuW4IJP+iJjPCIjx67IB+h+e/gM/jediHtVdIwTUmH3EOZh7N+W4iCvnyPtk3lDHPYuUQgegVqlNrTuw3QUx1OmS05qeUqDUpLfv3P8Ybmb2ZyTNuhTvpo0cmFC4S6hWUsHjmK0/bq+ZhQJnFz9SfoxKIiDAPYDeRGHRx1z20rEn6DGAI67tNiRgNFRcjGR5n6GaN13xtp7EYWNL5gZMw/WPEKTsabOv4tgRMPbGYPY0klR6fAfEnJ5FyUvSByBf+pd0RsCv88LsvxC8ZeJqrVG8rB79rqQRNTcdNgUj+TMFXUKE/GKFDqD9y+jCTIVzU8v+VxpXlhYrxQImcLTQj9akzkcpGIZxX2Hz0IGyNH2NURik4uGzDibSMpw8fivIeMKxbDbBGZONXjHTDWQNEtZhcJ+y6k4+KKiDt6azBkva2IIekPRQwC4XwguFve8zQyoLxBSjSrxyBAEY2jYswkTR7xe0BuDqNcOkJcMM1MHiy9YMGpsjkdiPILiVbOn4NuscWECfUhpUUKBc9Tmd08NBQyi+7xTNh9HmSWCE9+xBG3LKZPKvA7rbIWtaHeO6KET95agMDRmlrUsuU0nx3chV02w8RVZiuQZjINTqZ1/MqE+e4+izziGB8eyEm11tAz7ae7EPLCwLfX1y5289pvKyuG7VidGtYOoX12qIi9vAjY+HJyD13u0h+KPyHqZmVQGEButiO/5RdigF4YBbhFZ9G2ya0tkKXfYELvSQB6nve9B1/ws9nk2ANF61V7WUXI9ZOu4fdzg= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: This disables msan check for preempt_count_{add,sub} to fix a instrumentation recursion issue on preempt_count: __msan_metadata_ptr_for_load_4() -> kmsan_virt_addr_valid() -> preempt_disable() -> __msan_metadata_ptr_for_load_4() With this fix, I was able to run kmsan kernel with: o CONFIG_DEBUG_KMEMLEAK=n o CONFIG_KFENCE=n o CONFIG_LOCKDEP=n KMEMLEAK and KFENCE generate too many false positives in unwinding code. LOCKDEP still introduces instrumenting recursions issue. But these are other issues expected to be fixed. Cc: Marco Elver Signed-off-by: Changbin Du --- kernel/sched/core.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 9116bcc90346..5b63bb98e60a 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -5848,7 +5848,7 @@ static inline void preempt_latency_start(int val) } } -void preempt_count_add(int val) +void __no_kmsan_checks preempt_count_add(int val) { #ifdef CONFIG_DEBUG_PREEMPT /* @@ -5880,7 +5880,7 @@ static inline void preempt_latency_stop(int val) trace_preempt_on(CALLER_ADDR0, get_lock_parent_ip()); } -void preempt_count_sub(int val) +void __no_kmsan_checks preempt_count_sub(int val) { #ifdef CONFIG_DEBUG_PREEMPT /* -- 2.25.1