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 D3B09C27C79 for ; Thu, 20 Jun 2024 13:38:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 088AD6B0435; Thu, 20 Jun 2024 09:38:52 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id F205D6B043B; Thu, 20 Jun 2024 09:38:51 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D25086B0435; Thu, 20 Jun 2024 09:38:51 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id B13936B0431 for ; Thu, 20 Jun 2024 09:38:51 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 343F2A1E2A for ; Thu, 20 Jun 2024 13:38:51 +0000 (UTC) X-FDA: 82251372462.04.27DD21D Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by imf23.hostedemail.com (Postfix) with ESMTP id D00DA140016 for ; Thu, 20 Jun 2024 13:38:47 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=DVj2yxKJ; spf=pass (imf23.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=iii@linux.ibm.com; dmarc=pass (policy=none) header.from=ibm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1718890719; 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:in-reply-to:references:references:dkim-signature; bh=YUbNUxVRxVzSfRB8DznG+AI9YazUwyusPtVlI9Nb7aM=; b=Ia6wi3nHJysCtyPDQNbls7gzgajnU3QmUCqQc8D7NJgCY75oSwhHCqjBKHAT3sOYCk0zGF 336jZmk0d8ieiNqg0aHnep3S3B6oLKxmXFd/mUqOpFOhsf21LI3ywTKYlkzWzftkOXOMqq 2u79NDYCSrNo2u8RFzjr4sC5gDuAISU= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718890719; a=rsa-sha256; cv=none; b=zXYVsx4mzl8NyT18kpkvvVQJ8TxRE8+REv/nI7di8QteN0VzXg0q3CLfCdW3sjZIT6YQBp YCaF/xIFNf55OEGLQRy9PkMtr9EJ9ZhHvWM0TVwy8gbnQJ81oKvQx4EBh3we++PhY5bq0s DrYlQ1p6zce3vBV2/VsYMLulJWYxcbU= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=DVj2yxKJ; spf=pass (imf23.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=iii@linux.ibm.com; dmarc=pass (policy=none) header.from=ibm.com Received: from pps.filterd (m0353724.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 45KDXb8H018582; Thu, 20 Jun 2024 13:38:40 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h= message-id:subject:from:to:cc:date:in-reply-to:references :content-type:content-transfer-encoding:mime-version; s=pp1; bh= YUbNUxVRxVzSfRB8DznG+AI9YazUwyusPtVlI9Nb7aM=; b=DVj2yxKJ78KGS2dF DVlRx1erNBA4hS2DHyKvmTK/XX98eIGGOw3sh6PtrVVZbbSx+ZqF4oeOvrg+hCoY f0p03nWs4S6CdU2za/htkSZ7DViH1Uah2d4TCGkSB4HFKMpj48EP9pOfhLkoT4zT O/mIMG/e9uTTkzu5g+8iaIBqBZj3bSgJm+LH47nXN0RLNB4rcm6DASkDil6fwp57 y/vgaoW2HzjhGgkd6EB077lTyVeGOdeny1Ok2a4PGxTre5iW3nRvhWgag+ys17Rz y7mxtg+tFERSbixzd5OVdAPgo4BdupnAkjzPkfF+UDO8mriMHaXavYxXFvP2FCka llAoNQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yvndp80aw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 20 Jun 2024 13:38:39 +0000 (GMT) Received: from m0353724.ppops.net (m0353724.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 45KDYo37020397; Thu, 20 Jun 2024 13:38:39 GMT Received: from ppma21.wdc07v.mail.ibm.com (5b.69.3da9.ip4.static.sl-reverse.com [169.61.105.91]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yvndp80at-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 20 Jun 2024 13:38:39 +0000 (GMT) Received: from pps.filterd (ppma21.wdc07v.mail.ibm.com [127.0.0.1]) by ppma21.wdc07v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 45KCIJjB023874; Thu, 20 Jun 2024 13:38:38 GMT Received: from smtprelay04.fra02v.mail.ibm.com ([9.218.2.228]) by ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3ysp9qphf2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 20 Jun 2024 13:38:38 +0000 Received: from smtpav01.fra02v.mail.ibm.com (smtpav01.fra02v.mail.ibm.com [10.20.54.100]) by smtprelay04.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 45KDcWRJ18874846 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 20 Jun 2024 13:38:34 GMT Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 4852320043; Thu, 20 Jun 2024 13:38:32 +0000 (GMT) Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id EB7A420040; Thu, 20 Jun 2024 13:38:31 +0000 (GMT) Received: from [9.155.200.166] (unknown [9.155.200.166]) by smtpav01.fra02v.mail.ibm.com (Postfix) with ESMTP; Thu, 20 Jun 2024 13:38:31 +0000 (GMT) Message-ID: Subject: Re: [PATCH v5 36/37] s390/kmsan: Implement the architecture-specific functions From: Ilya Leoshkevich To: Alexander Gordeev Cc: Alexander Potapenko , Andrew Morton , Christoph Lameter , David Rientjes , Heiko Carstens , Joonsoo Kim , Marco Elver , Masami Hiramatsu , Pekka Enberg , Steven Rostedt , Vasily Gorbik , Vlastimil Babka , Christian Borntraeger , Dmitry Vyukov , Hyeonggon Yoo <42.hyeyoo@gmail.com>, kasan-dev@googlegroups.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-s390@vger.kernel.org, linux-trace-kernel@vger.kernel.org, Mark Rutland , Roman Gushchin , Sven Schnelle Date: Thu, 20 Jun 2024 15:38:31 +0200 In-Reply-To: References: <20240619154530.163232-1-iii@linux.ibm.com> <20240619154530.163232-37-iii@linux.ibm.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: EoXF46C30_1HJeuiJvzTvJ3K5p2rf5em X-Proofpoint-ORIG-GUID: bqmJR33qqTSFJQTMaJPsqaDg4i4nBhCe X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.28.16 definitions=2024-06-20_07,2024-06-20_04,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 clxscore=1015 bulkscore=0 mlxscore=0 suspectscore=0 malwarescore=0 phishscore=0 mlxlogscore=720 spamscore=0 adultscore=0 lowpriorityscore=0 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405170001 definitions=main-2406200096 X-Rspamd-Queue-Id: D00DA140016 X-Stat-Signature: 97ig1nxffqk4hzm646bie8zj355gr6uk X-Rspamd-Server: rspam09 X-Rspam-User: X-HE-Tag: 1718890727-874816 X-HE-Meta: U2FsdGVkX18B+JYetSViEq61bkRsic/1CTPfW4dbYUI7jrD3ehF3ny82NO556CqmTo/xJbYyZ07T0c4yntxlN9Rsf0lHCLcHUk1rdWr9KgxFL4uFHyAgIcgKJN06W/yoisNzpHHrpRWkjwk7RqH/nLNYnwt16HsDzjXPbbxsH1+u7S8XElke5pDAROkfEB9VxD0fVsknb8Grw42aWh9VksFifq/n3cxZu1VmcqQELHub438agdfn2Wa9UOLdYCjcJ/uHKIxyR0R1pHI3dd8S6AdMyccqPnc9p7ouG6wVz36K0UHA5GrpevlD9+bZB+4LC3/jUODiqOdafbWjCAXU5q14M1xPx5JXrRx6I0S3kpMobze1RdF9kMyX9MApM7JbaRzFzfAURMRQs96YzVy3CDuVXzs9+C9UMq1jIdtS7XQspVg9FdOQ92NeUkZpCwf1HqeD4m2CUVwT48GayGa+VOvQA/FmLTWfFCDTFKOf1sLZLXn41vqfbxoJzle/Ue3rb/EqNC+3N7ZbZ1oiFJ5gZRaQhBM73pO+yey9v0Z0foXUO43X2rJCBDSyuIay3IBgcJhJqv+X8ppq7e1MmQu9dUsN0UgROPavZy7B+3S3ttTxkGJCJ+cy7Gn5waXCPNUDiWIDrqFuIkEOKTMs4IDMV8heIMoa1Hy2yfc7KU/Lhs+4K6PKwCYolCvdvdn7skb09aBAEBMRmQyixmgPZIa1APrRhDiQbeiYfnSJPcufqukLVo5sQJTUuevgtd5vtHVYW6mt3Cl6KpGiUHQ8SdX7bbURloQoLHpdr/a4mCMT9NWwLOzqgzwzwZ7iQFUtyTVY0+15A/zxpARHRVOiWupSzWxdZjGQ87d4VOijnJPE8+YEclecUaf17GmvkfaqzTzp2jQBkqIDt8o0gI0nsOkWcK9yp1Rmm4PVaRz0vtTCmgyodISQ7oVQvGMjYH9Ch0xM79jvHJY4L9SuOO3TMof kWlGvfe+ 9ansHZuYqtK8n0eNUmTU4dPeGJNqXwtkAut3peI9O/Y0+KR9o7pf1zpzT2VABKpiHgop2tCc1eGtCkIPrpaF2vZuERzLnThgWJ95jEYsrh6vW1fBArDssgrI8dHqQAYzK64gwSmJ3/mGVdCvrurJlko2dwGQI8mwOVfBOB2NCBkFKSWeTslRoc/Ui0B/Ni/yt5L4UpiGzD75MWjSIYHYobx3xFliR0VEGoB/w19UgIwgSwUg= 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 Thu, 2024-06-20 at 11:25 +0200, Alexander Gordeev wrote: > On Wed, Jun 19, 2024 at 05:44:11PM +0200, Ilya Leoshkevich wrote: >=20 > Hi Ilya, >=20 > > +static inline bool is_lowcore_addr(void *addr) > > +{ > > + return addr >=3D (void *)&S390_lowcore && > > + =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 addr < (void *)(&S390_lowcore + = 1); > > +} > > + > > +static inline void *arch_kmsan_get_meta_or_null(void *addr, bool > > is_origin) > > +{ > > + if (is_lowcore_addr(addr)) { > > + /* > > + * Different lowcores accessed via S390_lowcore > > are described > > + * by the same struct page. Resolve the prefix > > manually in > > + * order to get a distinct struct page. > > + */ >=20 > > + addr +=3D (void > > *)lowcore_ptr[raw_smp_processor_id()] - > > + (void *)&S390_lowcore; >=20 > If I am not mistaken neither raw_smp_processor_id() itself, nor > lowcore_ptr[raw_smp_processor_id()] are atomic. Should the preemption > be disabled while the addr is calculated? >=20 > But then the question arises - how meaningful the returned value is? > AFAICT kmsan_get_metadata() is called from a preemptable context. > So if the CPU is changed - how useful the previous CPU lowcore meta > is? This code path will only be triggered by instrumented code that accesses lowcore. That code is supposed to disable preemption; if it didn't, it's a bug in that code and it should be fixed there. >=20 > Is it a memory block that needs to be ignored instead? >=20 > > + if (WARN_ON_ONCE(is_lowcore_addr(addr))) > > + return NULL; >=20 > lowcore_ptr[] pointing into S390_lowcore is rather a bug. Right, but AFAIK BUG() calls are discouraged. I guess in a debug tool the rules are more relaxed, but we can recover from this condition here easily, that's why I still went for WARN_ON_ONCE(). > > + return kmsan_get_metadata(addr, is_origin); > > + } > > + return NULL; > > +} >=20 > Thanks!