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 CBA9BC54E58 for ; Fri, 15 Mar 2024 16:32:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2AD6F80136; Fri, 15 Mar 2024 12:32:34 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 25E09800B4; Fri, 15 Mar 2024 12:32:34 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0FF2C80136; Fri, 15 Mar 2024 12:32:34 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id F30A6800B4 for ; Fri, 15 Mar 2024 12:32:33 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id B533540111 for ; Fri, 15 Mar 2024 16:32:33 +0000 (UTC) X-FDA: 81899816586.11.96BE482 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by imf21.hostedemail.com (Postfix) with ESMTP id 265501C0003 for ; Fri, 15 Mar 2024 16:32:31 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=sexsV4ds; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf21.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=iii@linux.ibm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1710520351; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=YsVfEyh+PeyjprJYlAXtRWWK3GSAClwznohLSbdhhlw=; b=mv+4zysVYbmfLDzfcn69jrQ9qoYh2GYEoylKNqs+iruhtUcH9znooz7G1XjtN6jCSwdk1h j1GZqbhaRK5waCpKHrVIoUqCFc8UZqLGVrrDaZY/u2zTgaJRtWE4lhTnYv7EFNIk9bONBT B+3tEdlsuhm7S7pEbBNBYpF+7EfOfEQ= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=sexsV4ds; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf21.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=iii@linux.ibm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1710520351; a=rsa-sha256; cv=none; b=I/1HSiTz6mvEwSYZI2VJPrxoXyckYubSS1G2Ij6vETh96FhVlMRDTlx5L1R7b2kLLVGjte V5tJjWwLh5uLDHTR7Xid9luNsjsYbXRpSM/NOREoVmIPNrEGkRz1wNOkpBayfHEZrd8HOf RMp4WprwQj7iX6dVtHV6dBGCo5+P0xU= Received: from pps.filterd (m0353725.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 42FFt4G6023912; Fri, 15 Mar 2024 16:32:13 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=date : from : to : cc : subject : message-id : references : mime-version : content-type : in-reply-to; s=pp1; bh=YsVfEyh+PeyjprJYlAXtRWWK3GSAClwznohLSbdhhlw=; b=sexsV4dsmR349VqrsOvgkYScTw92nfdylftwFn9FDAlB4jnhiziSvDbS0VNv4jRs5MRo vfs98r6uXg6XT+nAMoXGVIoUeGjviXnJG1COuqmU52gMc9KBYJ5Ge6UnPZzsse8oXViW hJLg75jlC/pzqFZac5JTTcV/Ax6SHPVGB0iOWOd6hp+A5LjbypA8UceVj6yrWqIJBC53 I1A6tQ+RMQZaKcrUMoyh/9qXBUkUTA0m+cLiVdsBqDA2YAEsIkQ579wyd9uBwKr/hSEg CHG+cty+5yN2KXATaxP6pLLW0Lw6UiOGw4YucFHjiWRKFe01gsv8CH9m2Clj0jrIY4se JQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3wvsd08g06-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 15 Mar 2024 16:32:13 +0000 Received: from m0353725.ppops.net (m0353725.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 42FGGswF014915; Fri, 15 Mar 2024 16:32:12 GMT Received: from ppma22.wdc07v.mail.ibm.com (5c.69.3da9.ip4.static.sl-reverse.com [169.61.105.92]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3wvsd08g02-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 15 Mar 2024 16:32:12 +0000 Received: from pps.filterd (ppma22.wdc07v.mail.ibm.com [127.0.0.1]) by ppma22.wdc07v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 42FDbpcJ015492; Fri, 15 Mar 2024 16:32:11 GMT Received: from smtprelay06.fra02v.mail.ibm.com ([9.218.2.230]) by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3ws2g0d32e-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 15 Mar 2024 16:32:11 +0000 Received: from smtpav01.fra02v.mail.ibm.com (smtpav01.fra02v.mail.ibm.com [10.20.54.100]) by smtprelay06.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 42FGW7Os25625236 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 15 Mar 2024 16:32:10 GMT Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id D9E9520043; Fri, 15 Mar 2024 16:32:07 +0000 (GMT) Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 00C5E20040; Fri, 15 Mar 2024 16:32:07 +0000 (GMT) Received: from heavy (unknown [9.179.26.51]) by smtpav01.fra02v.mail.ibm.com (Postfix) with ESMTPS; Fri, 15 Mar 2024 16:32:06 +0000 (GMT) Date: Fri, 15 Mar 2024 17:32:05 +0100 From: Ilya Leoshkevich To: Mark Rutland , Changbin Du Cc: Ingo Molnar , Andrew Morton , Peter Zijlstra , Juri Lelli , Vincent Guittot , Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Daniel Bristot de Oliveira , Valentin Schneider , kasan-dev@googlegroups.com, linux-mm@kvack.org, Alexander Potapenko , linux-kernel@vger.kernel.org, Marco Elver Subject: Re: [PATCH] mm: kmsan: fix instrumentation recursion on preempt_count Message-ID: References: <20240311112330.372158-1-changbin.du@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-TM-AS-GCONF: 00 X-Proofpoint-GUID: viS-32uWKrtprKrxz8TdP1dZPeC3-Lyr X-Proofpoint-ORIG-GUID: oIJbDiMm3TdMoKCHl9gu2j7Eoj6QY3c7 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-03-15_03,2024-03-13_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 mlxscore=0 phishscore=0 malwarescore=0 suspectscore=0 adultscore=0 bulkscore=0 priorityscore=1501 clxscore=1011 spamscore=0 mlxlogscore=922 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2403150134 X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 265501C0003 X-Stat-Signature: 73zxkhgywrmp5d3azna6rspsf9h67uif X-Rspam-User: X-HE-Tag: 1710520350-395443 X-HE-Meta: U2FsdGVkX1989y+qUJ73V4YBCzKHI6cSHZ0xU1Fvb0WESoArMekQLrW/ReD5RhinUGKRP9Yxm+J/Lmk0uPQ8Yg8fS/npvF1OJLZP7QR6y8pAKGBUZFNvGZuJPRm1Oph+l+oTVmczntS1mDmEkpiS5pDGoooCLjLtKpYDstggrthFUeGtCr0dOtRlBXlOEk2WMsUwglgrlG7akOKfKEcjbtvY61fDE5btHpV8nFVuBLudMBqNzzJxO/6lsjkA++0qArORjn0vHnMsJcOtaSKlKYR2xjtxNzwYKpBhCqKOwrljaSYInL20Tk+JvwXu7POXPZhQtOsJVQKwxqIo33d7OxrMsLgwQ01M15nXcrOWGJ+g5CAPkaVbGx3UJghLEua8ocIyw9ARNYaxDPsFIVqXrCMVoX1VbLAv+NWWuGMqls4qwVS8I8OKa3Q9xe2+CXRy6/sGL9QgpNsk3xdfaS9i52opCsSYInI5oqUQADLc7qsDVPDAc6NeaecC7FmyEfcRJTyqBi9kiZAdlPI/Q6x1C9dxgnsaPr+G+Xt0oDIrfC0s7UwgdLpWW6lC3JKCTJFAFEhiMP9xgSMor+yLTIDm7U7jNL2EwaH334kzI0qi9Hj0LwpW/JegwaelUUwPldrHaBMQxrP0BdF3lBxemp4cOfgFVRbEVHaZi9MZhSwD96fHQ9xjN2NPlykTxDoyf6ttoXX643oCSd9iAotV3S6V6pCuWfKzFLWTv6Nrs5xXJFIrtTiUkO4kPJ9YklutflAFvzv6cpzkMrKt6BKJ3+o9ANtvS1TTlZeoESrAzT1F+F4o41uX5nFzJJIEw+MAbbw3S/hOWoijJ5xctnX9bcN/nPt3dVTtmsrqTa6o2Hi0Mx8MxE0ZalU541K7qd3U9/Gp 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: On Mon, Mar 11, 2024 at 11:42:29AM +0000, Mark Rutland wrote: > On Mon, Mar 11, 2024 at 07:23:30PM +0800, Changbin Du wrote: > > 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()); > > } > > What prevents a larger loop via one of the calles of preempt_count_{add,sub}() > > For example, via preempt_latency_{start,stop}() ? > > ... or via some *other* instrumentation that might be placed in those? > > I suspect we should be using noinstr or __always_inline in a bunch of places to > clean this up properly. > > Mark. Hi, I tried the patch with the ftrace testsuite, and this uncovered another loop, as predicted here: preempt_count_add():int3 function_trace_call() __msan_metadata_ptr_for_load_8() kmsan_get_shadow_origin_ptr() kmsan_get_metadata() virt_to_page_or_null() preempt_count_add() Best regards, Ilya