From patchwork Wed Jun 19 15:43:36 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Leoshkevich X-Patchwork-Id: 13704223 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 9C579C27C53 for ; Wed, 19 Jun 2024 16:15:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2D9276B0384; Wed, 19 Jun 2024 12:15:43 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 287D86B0385; Wed, 19 Jun 2024 12:15:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1016C6B0386; Wed, 19 Jun 2024 12:15:43 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id E6CE06B0384 for ; Wed, 19 Jun 2024 12:15:42 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 8BED9A077A for ; Wed, 19 Jun 2024 16:15:42 +0000 (UTC) X-FDA: 82248138924.11.35075D7 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by imf28.hostedemail.com (Postfix) with ESMTP id 12148C0015 for ; Wed, 19 Jun 2024 16:15:38 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=GBGOGqpy; spf=pass (imf28.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.156.1 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=1718813733; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=kU/N+IjLjtGivjpGyVY04YO0GR9T1vNZaCjuWWP4qac=; b=OSg+wfRxzDflJ4qYxKOhE5UkdPfYYEBYuBWWYNR436tI+K87+Pz0nnvaROPNPArdTU8KUI bYLkMxOg5jFKH/R+eFFiA5k9epWIsTdXkfriimbLChHcuT4J1at85dPnnHu/xxxOYjj6Mi qqBiX/1XYJ1nb0vURzTHuWOH/2ZVh94= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=GBGOGqpy; spf=pass (imf28.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=iii@linux.ibm.com; dmarc=pass (policy=none) header.from=ibm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718813733; a=rsa-sha256; cv=none; b=aV+D4Ess/bNOATGNSGb4XLlw6Nqa5T8KvxuN3RjgD5s3gcbpbD0XDrNAeLqlIiHVseNRlB C5FcT3IMaMt0gIJUX69FAKHnbgN9kg1NdpLst4b6/cq+7aOCbK411mSh5FDdONBBEzW7Gk V0D+YTgKf3I7cBoE0HHMQoeLxmJuXD8= Received: from pps.filterd (m0353728.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 45JFR25k017473; Wed, 19 Jun 2024 15:45:42 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from :to:cc:subject:date:message-id:in-reply-to:references :content-transfer-encoding:mime-version; s=pp1; bh=kU/N+IjLjtGiv jpGyVY04YO0GR9T1vNZaCjuWWP4qac=; b=GBGOGqpynXJjYxo0tKIHVnXjyMfLe dHN+TxmZtPfm8MFrSGhVpDcFYCd8skiJtWfz9ewAIz3KAHlqyit1kCsO8as1R80h 8yh0GQV1D3sDRt1ziJIupCw2slxM60G7JUuZyOsoFvwI9L/75L8uWW4y8xFt29qJ BvPSS6AAF9LTC35o+pbHD/ewocN/rqIr23QnBoyR29HnD6ux+kyRHo0m2M+Izq5I JODaJm6LqWHWsZO+aVeXwlriGn+b2S+F+YHB2SX/H3SOuh19nEAV3HgGCS35tWfe F5z4XSN58mCiWsVWxxM5H1rH7DxYJ57XzzGIDOajHNw+/vRWLjeKAZJwA== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv0p9gau4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:42 +0000 (GMT) Received: from m0353728.ppops.net (m0353728.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 45JFjfHl015754; Wed, 19 Jun 2024 15:45:41 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 3yv0p9gaty-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:41 +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 45JFhxil023990; Wed, 19 Jun 2024 15:45:40 GMT Received: from smtprelay01.fra02v.mail.ibm.com ([9.218.2.227]) by ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3ysp9qdype-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:40 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay01.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 45JFjYUQ51904956 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jun 2024 15:45:36 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 3501220040; Wed, 19 Jun 2024 15:45:34 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id D73242004E; Wed, 19 Jun 2024 15:45:33 +0000 (GMT) Received: from black.boeblingen.de.ibm.com (unknown [9.155.200.166]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 19 Jun 2024 15:45:33 +0000 (GMT) From: Ilya Leoshkevich To: Alexander Gordeev , Alexander Potapenko , Andrew Morton , Christoph Lameter , David Rientjes , Heiko Carstens , Joonsoo Kim , Marco Elver , Masami Hiramatsu , Pekka Enberg , Steven Rostedt , Vasily Gorbik , Vlastimil Babka Cc: 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 , Ilya Leoshkevich Subject: [PATCH v5 01/37] ftrace: Unpoison ftrace_regs in ftrace_ops_list_func() Date: Wed, 19 Jun 2024 17:43:36 +0200 Message-ID: <20240619154530.163232-2-iii@linux.ibm.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240619154530.163232-1-iii@linux.ibm.com> References: <20240619154530.163232-1-iii@linux.ibm.com> X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: DjNn8wQivNgXS7aGEy7fFO0UzqFKCQyA X-Proofpoint-GUID: dfntroPUBr8RU8mCueQtnLhKjRrBTJS3 X-Proofpoint-UnRewURL: 0 URL was un-rewritten MIME-Version: 1.0 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-19_02,2024-06-19_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 mlxlogscore=999 clxscore=1015 mlxscore=0 spamscore=0 malwarescore=0 adultscore=0 priorityscore=1501 lowpriorityscore=0 phishscore=0 suspectscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405170001 definitions=main-2406190115 X-Stat-Signature: hwbr3n1119kbj3ydacrxa478tuax8gs4 X-Rspam-User: X-Rspamd-Queue-Id: 12148C0015 X-Rspamd-Server: rspam02 X-HE-Tag: 1718813738-327414 X-HE-Meta: U2FsdGVkX19e3X43V5qvQL6z5ML6uXslKBkZ3tuqOEDIBsM4AyYMochVTiTOip0YijgzeY8UlJcwZEu0gne9+w4gpNYzYF/co38yjBhqX8aiZJUwjAdNqrRecjPDvMTGdM57Yzf0H6L4tB5yggIFWjuQF3Y5V4jbpCu5YQ+knY4PpLJ0s8ZO8fbXeQ5S0088g00X8ktOhrCBgpUQwdzarnLQFbbgvXdj5KGtPLvdpCRrS/Op8kGLi8NbYn0h0TrkMglgo/PWTkVvBFLH/t+qM9jsDUqVNTJ+zsrv/pwFU62PRIAZIR2s3fRMBu7fc1pgaoMNAseIrIyT+4K4lPe7/iuxqvgrUbbJ6E+AVKnvvq4SnWQP/YDjkRh88OcA40KTDXPMbN+rwdRY9c1QQU9TiAbm4enA+k7rKP0mwCSM6OMfjLJTDwt8IN5vqFjizPzxTaGWir6GmjyFvtbLiViTnP0znFsHzIqatlUsaruwXJyuwsoYW97DsyooApIy1QoENh6oSOnyesuC+HXMcVwpM3LxDCaKRG6IBKwnJkqk5OUPniCP6+Cb6PV+fWgZJ7B2tlhta9d8pxJph9Ija5+5J4TIEMh89XC/dWI5YLP6SsRobnRLHdtXpobCr4EL+4yS3GQuIhG7qf4qbVHMLqZ1HrfTwyVPIiJldkiOk8cRrXsB6iAgRdlvYSmxk76IvXQrbwn2MJbBrD47DeNZrHTNNRSIEEyR990qUKM4bThyVSIQavpq07ebsT4pfxyTryaG8GKbzL/wZyauoXZa7yE6cJ1Xf6qGbZ+T/FlMiqbcVtV/pDmObei8eRO4ovYa/9OYQfGiWXFsXA1hyffmAzeT3XdO4eDBjlyMrInfhdFMUyLSAFwNU1YEQzRv1HXFtJ59Jcm2nYA5iqL7R5EZvULf4VQcNArFdH7mqtxHI+Mfvppu+nTf/0XSrnKTLYZRbIgNWJPUT0XxKE1g8Tb+ZVt SFbDpHz1 //TfFUnpxCo+imq8+hze3VfasXK+COtLaRrY/1QD2bbcTqtvv7ySfgo+eozN5H6wxiNTFfpxrVXiNXe+WABI7spkgYetrryg6gT4H2G7rlN4C7+xBJ+z7+H5lVGk7zKzS6lvX76exsxVaITQiwL+tEGQpxQWQs3JGK9iLDpFmfQaVey+1FmtRjHFYqLXvT17ftO4qoQpC1BfKspc0WLhLLkycdkvGj73UCpgwdSTlNxIvwQs+w0tUY/GTL2p606FFGC1CRldDcP+05zr4VKKKBwY2yO+gD9ZybV17LHDrnsx85jSgypCk4BdZ6afeP3t8bJ1pRF0a9ukV+OAyMg29djmNehqtwDpR7aSTt7BCtn96uqnz9FPfHfaEdsLetto5nK94934aIQ0YysS3t5uNyZhx/g== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000005, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Architectures use assembly code to initialize ftrace_regs and call ftrace_ops_list_func(). Therefore, from the KMSAN's point of view, ftrace_regs is poisoned on ftrace_ops_list_func entry(). This causes KMSAN warnings when running the ftrace testsuite. Fix by trusting the architecture-specific assembly code and always unpoisoning ftrace_regs in ftrace_ops_list_func. The issue was not encountered on x86_64 so far only by accident: assembly-allocated ftrace_regs was overlapping a stale partially unpoisoned stack frame. Poisoning stack frames before returns [1] makes the issue appear on x86_64 as well. [1] https://github.com/iii-i/llvm-project/commits/msan-poison-allocas-before-returning-2024-06-12/ Reviewed-by: Alexander Potapenko Acked-by: Steven Rostedt (Google) Signed-off-by: Ilya Leoshkevich --- kernel/trace/ftrace.c | 1 + 1 file changed, 1 insertion(+) diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index 65208d3b5ed9..c35ad4362d71 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -7407,6 +7407,7 @@ __ftrace_ops_list_func(unsigned long ip, unsigned long parent_ip, void arch_ftrace_ops_list_func(unsigned long ip, unsigned long parent_ip, struct ftrace_ops *op, struct ftrace_regs *fregs) { + kmsan_unpoison_memory(fregs, sizeof(*fregs)); __ftrace_ops_list_func(ip, parent_ip, NULL, fregs); } #else From patchwork Wed Jun 19 15:43:37 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Leoshkevich X-Patchwork-Id: 13704139 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 39089C27C53 for ; Wed, 19 Jun 2024 15:46:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0F1246B02F1; Wed, 19 Jun 2024 11:46:02 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 02B7A6B02F9; Wed, 19 Jun 2024 11:46:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B74C86B02F6; Wed, 19 Jun 2024 11:46:01 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 7FC3C6B02EB for ; Wed, 19 Jun 2024 11:46:01 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 29A111A07FE for ; Wed, 19 Jun 2024 15:46:01 +0000 (UTC) X-FDA: 82248064122.11.BDEBEBC Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by imf15.hostedemail.com (Postfix) with ESMTP id CD13FA0017 for ; Wed, 19 Jun 2024 15:45:58 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=OWZMRIJe; spf=pass (imf15.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.156.1 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=1718811948; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=v73BMs0EqfMCwxJniJdo3jdaknlggr5A1qJ50X9w6PM=; b=vq9m81QtMR/o3DvWPrKciioCSE3CIyW/F0O/c14NkP33gOfnkWz+NZyL900Img4/sKVwWB A3FbSBQeWNBd4RIwc0XFmuD9Zw7Krfb+Gwl0ffDzS9l70aI/8T2HKx0t1GG3Wn4fuebi8r n3O8RY1mfwEc4KqOqUXTXVdSTfTEyJs= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=OWZMRIJe; spf=pass (imf15.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=iii@linux.ibm.com; dmarc=pass (policy=none) header.from=ibm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718811948; a=rsa-sha256; cv=none; b=N4ekjEN4GUqAkxgzTZLIobYyVF2UI/tavTvcKDD8iSnTFB8jWT5LCGs/i2qPLNPhMPj8tk AnqqhPZzSfvdNULei8b1MBaGwPAYTxGxZEQfb3lm3AcA+F0stAZDyYAx+O6WIQZH72m75V yUzrBe3FdcyPBr0BM4vmDvr8YaAQFHc= Received: from pps.filterd (m0353727.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 45JFStjf014449; Wed, 19 Jun 2024 15:45:42 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from :to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=pp1; bh=v73BMs0EqfMCw xJniJdo3jdaknlggr5A1qJ50X9w6PM=; b=OWZMRIJenFRKIXmoBsRfNNP/vqp7Q VM8KqR8viA6gB03Z0/Q/r/WFLzEA0oIP+pgzQBhH8aPTz03JO2OT1izE9Y/YeC4H 5yOOfP4yKLyMyDYvKVt93hzBdcnagHwBs9V0vQudfdeud94G+l/+2C+PWN4Po96P L7Im13oCt4hAgVAKCiI1mRrnboV/5UlIDOd+4ZYVp5aLQb/Tv3RmdyOtAeLejhFi AvQ6QuNIWNQipP12mMRFoOGKUStlND7JUnvEaak2/8pM1oDofllGqqL2FmbiAq/M bK7puXBZafHowT2ZhTbmEAw1laLGmwpcwsGiASW7GYzyo0a/ekFv6ulAQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv20gg1fy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:42 +0000 (GMT) Received: from m0353727.ppops.net (m0353727.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 45JFjfNR008972; Wed, 19 Jun 2024 15:45:41 GMT Received: from ppma13.dal12v.mail.ibm.com (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv20gg1ft-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:41 +0000 (GMT) Received: from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1]) by ppma13.dal12v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 45JEuVWH009478; Wed, 19 Jun 2024 15:45:40 GMT Received: from smtprelay01.fra02v.mail.ibm.com ([9.218.2.227]) by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 3ysqgmwmkr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:40 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay01.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 45JFjY6D42205454 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jun 2024 15:45:36 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 8AF5E2004E; Wed, 19 Jun 2024 15:45:34 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 3A76020049; Wed, 19 Jun 2024 15:45:34 +0000 (GMT) Received: from black.boeblingen.de.ibm.com (unknown [9.155.200.166]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 19 Jun 2024 15:45:34 +0000 (GMT) From: Ilya Leoshkevich To: Alexander Gordeev , Alexander Potapenko , Andrew Morton , Christoph Lameter , David Rientjes , Heiko Carstens , Joonsoo Kim , Marco Elver , Masami Hiramatsu , Pekka Enberg , Steven Rostedt , Vasily Gorbik , Vlastimil Babka Cc: 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 , Ilya Leoshkevich Subject: [PATCH v5 02/37] kmsan: Make the tests compatible with kmsan.panic=1 Date: Wed, 19 Jun 2024 17:43:37 +0200 Message-ID: <20240619154530.163232-3-iii@linux.ibm.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240619154530.163232-1-iii@linux.ibm.com> References: <20240619154530.163232-1-iii@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: RWsOexlj7_0iWLLyvnapnr06durS79vv X-Proofpoint-GUID: gZnZrvku0DfDeUyU90WAlNuPdsXG4CTD 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-19_02,2024-06-19_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 clxscore=1015 impostorscore=0 bulkscore=0 malwarescore=0 lowpriorityscore=0 adultscore=0 phishscore=0 suspectscore=0 mlxlogscore=999 priorityscore=1501 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405170001 definitions=main-2406190115 X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: CD13FA0017 X-Stat-Signature: t1fr4wuuiuhmz3am9unfyy3d34mcn6b7 X-Rspam-User: X-HE-Tag: 1718811958-348145 X-HE-Meta: U2FsdGVkX1/Nk9CIhF1QJ31LkjPHP4San5uvvAMUMQyoG1Xf+sCI1euudOg8bvNDp8bll5RVdRd6fI7cfgOvM8IHyWXhqHkf0+aPWbXp3JTsarXOXniznjS1gIMo4KYsss8yqp+R33ISkTBhKR121buin3XfocEdqYRrP7qVDuaBts3OVcO0LLADpJj27VvasdOHZhJw8sVPDUQ799i1T9q3AvMDFjhGTwYvFPZjk4uxuqKDrRRqPOgxwPn745RaUg+HTlwPAsKRBn7jb5gaQcquCjpA9a1uoZ+RA7W3DGeVB+5/uinA92/kofVYAKKu1ivS8zt6WzDi3AeQYpebH/Zf3JtrfdiuhKsqmRSpAt4GzxbnMybIHuz+EOVvYEch9vNjAiVGQEuAk1yNcvek7O+xyHyZFik+e2zZoQP13kRv4nns70qCZw/V+4t2TghMqhuKsvi3kzSaqI94pZcXRYIJfZ88QmN9J4cTlyaZhSSTAANRIsdoZgdIbl9WnDuPiF+cszUgH3h41EquvNpwdQ5tpCoiWXi6+hAnqN4N1R/dlSxYOsd5BQM00vYy6sO/81aaAgEizBWOLvXkkRFGEeWDI2gVKGlC/xvrW5n+3rvlo58JJqQ3HyYX1ws6PriPqQ5HbEvwyzj0HYycvcSYAWmj25uu9djMU+od2t+x/Cri203UYkzsxqyIsATtUYfeVWBpXwd6zWGSE6lFOMejSWx11oyvlWPqa1qjdrbOBqa4ePO44zUccEh6dxAFXeYkGiZQSdiqAneMds4jrmSYk4ip+DYd+21GPkMU3V7hZDMFLKbvtbyyEH1ZMnJ0n7PxjyZccNk5FxFQJWHezSwrvEW0gYfi+a6bAy/TQZJF53DrcdJ0OtpYdsEDWsBo+GzdMu8zReHlXcf70LngMPjE8sBXCOD0pAB1RgAor09Ye8rEmhH3HiNqxszeQvHOxol15YqAcFyrYBPetUntGkl O82wp83/ P8yQDgZVwNjKHsruRyzO+fzFT6D4LUVlR0cSInpRgSFYJ8jTH3P53WZjwhrmPBs2XEJKGyjllHUajDja14XBRrgkp7nP/vIcjoPzQL3K+DpiFdqDgn1QwskygHLrZKPV5lrw+z3VjBdvPOD7H8a2IYyFS5Y6KDOU/s3ZMF0O4Ds75Wt2ZGJ/dcXFOJhVpqrn0ID+f/7Om5EWiLN8suRWft/RqsCftp0U//uAOrmmHq8tKHrateI1v2nte/G6zFO0UV/aC56/AkEnVOfugyb+NA1Bd5AYOcW+98AAEeH7rm6nJzzcpPfu/s2ouStYADvbIbdX/oB5XcqtQBSY= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000026, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: It's useful to have both tests and kmsan.panic=1 during development, but right now the warnings, that the tests cause, lead to kernel panics. Temporarily set kmsan.panic=0 for the duration of the KMSAN testing. Reviewed-by: Alexander Potapenko Signed-off-by: Ilya Leoshkevich --- mm/kmsan/kmsan_test.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mm/kmsan/kmsan_test.c b/mm/kmsan/kmsan_test.c index 07d3a3a5a9c5..9bfd11674fe3 100644 --- a/mm/kmsan/kmsan_test.c +++ b/mm/kmsan/kmsan_test.c @@ -659,9 +659,13 @@ static void test_exit(struct kunit *test) { } +static int orig_panic_on_kmsan; + static int kmsan_suite_init(struct kunit_suite *suite) { register_trace_console(probe_console, NULL); + orig_panic_on_kmsan = panic_on_kmsan; + panic_on_kmsan = 0; return 0; } @@ -669,6 +673,7 @@ static void kmsan_suite_exit(struct kunit_suite *suite) { unregister_trace_console(probe_console, NULL); tracepoint_synchronize_unregister(); + panic_on_kmsan = orig_panic_on_kmsan; } static struct kunit_suite kmsan_test_suite = { From patchwork Wed Jun 19 15:43:38 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Leoshkevich X-Patchwork-Id: 13704125 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 C4210C27C53 for ; Wed, 19 Jun 2024 15:45:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 13AC86B0096; Wed, 19 Jun 2024 11:45:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0EA566B00A1; Wed, 19 Jun 2024 11:45:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E32886B0096; Wed, 19 Jun 2024 11:45:53 -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 B097B8D007A for ; Wed, 19 Jun 2024 11:45:53 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 47C511613D2 for ; Wed, 19 Jun 2024 15:45:53 +0000 (UTC) X-FDA: 82248063786.10.1CD43F4 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by imf30.hostedemail.com (Postfix) with ESMTP id E6A9B8000E for ; Wed, 19 Jun 2024 15:45:49 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=CtakO450; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf30.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=1718811941; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=A5/DP3QFUFkYA2+5kJImY20b3CDMSHPGwimqBdu525I=; b=oELdxjChFDDwxePJBk7+7qYwM/2y4xbzT28+KbvHK5klHi1e8pLOLKysjfD74MGGhu9aCM QF1E9cWm6WyMyDestwDlvAoiut+QjfWmN+AeYB+Ha8Q43yZsSVq625Dn6osO8apYb5eXnS 3xEix2rJD8xxCf5xhg2Yiv/7EvvrhMA= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718811941; a=rsa-sha256; cv=none; b=l/0V1wXQCRtv6jpOOlA0x7FtxkzB5AF8hOIqoQyrQcsIV9+ueECa5r448L8WVpOPX5Djrz TE5ymqI4TD+US1WSLIGeLAYfhhzvrcNFMT47S/QPUVcriTf8hToBIqdhQMam5irx3IELE1 5UbvT94PaeAhm9BrrqZvdbsMk1T+UE8= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=CtakO450; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf30.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=iii@linux.ibm.com Received: from pps.filterd (m0360072.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 45JBQxnG000599; Wed, 19 Jun 2024 15:45:42 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from :to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=pp1; bh=A5/DP3QFUFkYA 2+5kJImY20b3CDMSHPGwimqBdu525I=; b=CtakO450sQcJgXgkBy1bjm81C53zM yJ5epMOJP2nf9GycX3u5YrCSZFPIhrm3N1d60sn6tFMUqru4yvN1mJIWxPeR5F/l vMdFf6sR2J0MKX2VPcfeYYSS0PL9ZVh4hh0gRnOd0nhc6/ue2o2sL2fnQFK4GxpJ QK6XvMbmc80HFJBAJNJoLB6XVLuKU0saHEWJtmk1uaSY04oFs0Ro2oENDn9jWvt9 lnRqxXyD62D4UuPnHZecDdIoiXp3WrxUoZ/IhCt8KCiOnUKn0RngnnpT2my+wRs4 IKiQhXpcrGsrED5QqKX5ycWQiCLqEvlnwwOSnma5HcZaNCdbeMrekz3Rg== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yux7j0tc4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:42 +0000 (GMT) Received: from m0360072.ppops.net (m0360072.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 45JFjKNI028655; Wed, 19 Jun 2024 15:45:41 GMT Received: from ppma23.wdc07v.mail.ibm.com (5d.69.3da9.ip4.static.sl-reverse.com [169.61.105.93]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yux7j0tc1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:41 +0000 (GMT) Received: from pps.filterd (ppma23.wdc07v.mail.ibm.com [127.0.0.1]) by ppma23.wdc07v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 45JE5DL3011442; Wed, 19 Jun 2024 15:45:41 GMT Received: from smtprelay01.fra02v.mail.ibm.com ([9.218.2.227]) by ppma23.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3yspsndtma-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:40 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay01.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 45JFjYq752101422 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jun 2024 15:45:37 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id DEF4320049; Wed, 19 Jun 2024 15:45:34 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 90E2D2004F; Wed, 19 Jun 2024 15:45:34 +0000 (GMT) Received: from black.boeblingen.de.ibm.com (unknown [9.155.200.166]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 19 Jun 2024 15:45:34 +0000 (GMT) From: Ilya Leoshkevich To: Alexander Gordeev , Alexander Potapenko , Andrew Morton , Christoph Lameter , David Rientjes , Heiko Carstens , Joonsoo Kim , Marco Elver , Masami Hiramatsu , Pekka Enberg , Steven Rostedt , Vasily Gorbik , Vlastimil Babka Cc: 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 , Ilya Leoshkevich Subject: [PATCH v5 03/37] kmsan: Disable KMSAN when DEFERRED_STRUCT_PAGE_INIT is enabled Date: Wed, 19 Jun 2024 17:43:38 +0200 Message-ID: <20240619154530.163232-4-iii@linux.ibm.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240619154530.163232-1-iii@linux.ibm.com> References: <20240619154530.163232-1-iii@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: U2iqZBrWGML5qKAAmgUyvul0yztgMxYE X-Proofpoint-ORIG-GUID: 9tolQzDfTmptut_LScM49Q1sPF4ZToeh 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-19_02,2024-06-19_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 mlxscore=0 malwarescore=0 clxscore=1015 impostorscore=0 adultscore=0 bulkscore=0 phishscore=0 spamscore=0 priorityscore=1501 lowpriorityscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405170001 definitions=main-2406190115 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: E6A9B8000E X-Stat-Signature: u43hecuwtkczey6z9u3hm8mwcmk5u16f X-Rspam-User: X-HE-Tag: 1718811949-905409 X-HE-Meta: U2FsdGVkX1+UAT/OdTI213D39hJIktU3h461K4e7E2tQd9xdC1sQpC50jjj/0HiSVeQ+M1AId9kJSDP1f32UvwrNmDAIrm0PW7fPCOhmk3nOa9+0K4yDHbg4xvmJh9EMsZyXYtcJf9Ar8gFnI5BQNfdhLKME7yqkNFL1SbGRpKyRErlA/hdpfZr5/1GjOFlC1xbTRWN/3QNiOaqhNIukVuE1MAlx0ae0+dSS/d7H36wN5HihMmlGzC5SPUfumLtW+lO8JIS0VXzF1ZrpRcpVsvgpE82dsLCpuoJq+vS9Xe3HedKuxFHRCmXJTBZXUXJWB3iufVzSL0GjwZtZygb2MPfM/VfP7ZJHLz4yxjJ6EvYxu334sI32ba8vHACDW/HhymcJRmaXjZ4b8TY4++Xi9M4qN584/6EFjvhC9dsnmbVXn/Wu6bPHcBFO1WmJi1UUz8LoOMvUtk425lNVeokbYvrwT3UaYqX7NbnLtSTxxng3/qfCwJR+t1xWbFCLOw94PXk7HiVu6p549Mq6IX4N1SvK2PjPPz5fqS/OHBPKY24qD20KCOn6dEOD0R58QqO++HOLVM1CoqhGthw2maCTF7f+zWQ/nHhB3pH7o7Q3FbmQfonikvncHynwy/eiXG4PiaUkNCLLg7Y6lhUiDXp3iP98poOjpUjN+S5Q6k5T4bDWvNSCBrxyOBuXNzBVnNATMxUCBaq7IvMOfErm7gP65cYwoV8fwKdRWRzKS9qqMdBK30WP2PiIVrVCC7D2DLq6Muvo/XviEB6qTbmQxqFn8H9CCupR0v9BTJDek8IREHAscImkU2ufMOxX8XXp6OaWvombRhgao3L3YADELLoR4tu/53BM8t800+BwjG/LSseH8ujemDw8U3e444utYj1x6d/LRVnzkLy50VaWjDd5xKzqEIx5/oJLmj0C0y9GDFP3rJo00pWH07WI2OaY9oaVy2pkKiHkurWVdeNgald fouWB4RU L5DxcEDJkT4rB/F6ljZ1cfF/cdszcCEsktbm6g7lSLivnUsxniVJfedRYa5vVuIOfBzZNrLQQaLjQPJ45XIJBUor9V30TJcCCOuX0BkwaL1zvM/SzAi6TfDNtFouogfMv3oQQUbvKZdo9x+DtxnRID/SlBn1RcUYiFY3oZ9fnPbV4bRLKJAdfuzZSQvQ8JAOoYiQZTI86ttG26Ag9M9lUX9o3puibYXIjDVeOz1IZuuYasoNNBJcqohI0ddnyk2UGdB9eEHEOvnnjS3f1D79khvdTHj4/3AbJBgaSZEIE5CNCL6YxKKTCgpUmswwpSRUQaJit X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: KMSAN relies on memblock returning all available pages to it (see kmsan_memblock_free_pages()). It partitions these pages into 3 categories: pages available to the buddy allocator, shadow pages and origin pages. This partitioning is static. If new pages appear after kmsan_init_runtime(), it is considered an error. DEFERRED_STRUCT_PAGE_INIT causes this, so mark it as incompatible with KMSAN. Reviewed-by: Alexander Potapenko Signed-off-by: Ilya Leoshkevich --- mm/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/mm/Kconfig b/mm/Kconfig index b4cb45255a54..9791fce5d0a7 100644 --- a/mm/Kconfig +++ b/mm/Kconfig @@ -946,6 +946,7 @@ config DEFERRED_STRUCT_PAGE_INIT depends on SPARSEMEM depends on !NEED_PER_CPU_KM depends on 64BIT + depends on !KMSAN select PADATA help Ordinarily all struct pages are initialised during early boot in a From patchwork Wed Jun 19 15:43:39 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Leoshkevich X-Patchwork-Id: 13704138 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 DA75BC27C53 for ; Wed, 19 Jun 2024 15:46:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D4A556B02EB; Wed, 19 Jun 2024 11:46:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CDCA88D007A; Wed, 19 Jun 2024 11:46:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AD66B6B02F9; Wed, 19 Jun 2024 11:46:01 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 819C96B02F1 for ; Wed, 19 Jun 2024 11:46:01 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 382BE12129C for ; Wed, 19 Jun 2024 15:46:01 +0000 (UTC) X-FDA: 82248064122.25.2D7FDA0 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by imf11.hostedemail.com (Postfix) with ESMTP id DD89A40020 for ; Wed, 19 Jun 2024 15:45:58 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=rxzKVds7; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf11.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.156.1 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=1718811950; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Scz6uta8wJUcmkDwOaiOL8UogdsQpVaK9UJlhoWG7HU=; b=c8rw1+FsA+EVxwtLqhA70k1u8vA6aNZy7ZElQ291wOlvSlaTrWdKbKR5++gS7rSThFUs8+ yv+zvZaDr3OfWfMX0gqV2WyPZkbkdWIuT87lglkRa8KJqumSC2NvotF0mdzefBAc77XgUW puY4SxWV8k2AyFx3g0FEBd7ImMQUk/M= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718811950; a=rsa-sha256; cv=none; b=24DfZP8/irP0LNQP8oHgZbotOdMM2lOP4RlaYhfrCYvByJ4hWTjTrV1hBuv1GLDNrUghYg 4JzjvfTV7C24Hyq7CeA+u5BLIKzKorf59Yo8Csvobw7ax4zEXrpNc1D1Y8YM8nepNd31qh UNgOmcDjWqHXlkaiLqm9utxdU98PDDU= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=rxzKVds7; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf11.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=iii@linux.ibm.com Received: from pps.filterd (m0360083.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 45JEtwGJ013034; Wed, 19 Jun 2024 15:45:43 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from :to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=pp1; bh=Scz6uta8wJUcm kDwOaiOL8UogdsQpVaK9UJlhoWG7HU=; b=rxzKVds74UqHTpAHTV6TTJ3971W+d 6XbtI3rMQi0dBwotTZ9HREuUr+hhXQw8tfApEhojn+M7EAM1UXe1EVsRwZLgwjKM SCJEfg/pqptc8FT5qvoAfBLg1shijLWAiGceHfz5Rx0a5XkTi4dGaccqM7NeIQp+ C3WuRkNiy2GCXJXtiEPn8rm3xHeoEUjH0n612+lFc6L6tNagr0/a+s4WHxOSBaex s2nWazmpnXX0rwpK71ACM0qXPxs9g8/bW2gaz5gl/1XV44zSqk5ClvunpexbrbIf FV9lgmTQwviWQCSG1QGvTvMBzYViWlto99FoJtE+GqjDUwaWY5jP7aCfg== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yux3fgupe-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:43 +0000 (GMT) Received: from m0360083.ppops.net (m0360083.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 45JFhBe4032622; Wed, 19 Jun 2024 15:45:42 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 3yux3fgupa-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:42 +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 45JFhSXM023897; Wed, 19 Jun 2024 15:45:41 GMT Received: from smtprelay07.fra02v.mail.ibm.com ([9.218.2.229]) by ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3ysp9qdypk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:41 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay07.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 45JFjZku47907278 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jun 2024 15:45:37 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 41BAA20063; Wed, 19 Jun 2024 15:45:35 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id E4D912005A; Wed, 19 Jun 2024 15:45:34 +0000 (GMT) Received: from black.boeblingen.de.ibm.com (unknown [9.155.200.166]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 19 Jun 2024 15:45:34 +0000 (GMT) From: Ilya Leoshkevich To: Alexander Gordeev , Alexander Potapenko , Andrew Morton , Christoph Lameter , David Rientjes , Heiko Carstens , Joonsoo Kim , Marco Elver , Masami Hiramatsu , Pekka Enberg , Steven Rostedt , Vasily Gorbik , Vlastimil Babka Cc: 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 , Ilya Leoshkevich Subject: [PATCH v5 04/37] kmsan: Increase the maximum store size to 4096 Date: Wed, 19 Jun 2024 17:43:39 +0200 Message-ID: <20240619154530.163232-5-iii@linux.ibm.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240619154530.163232-1-iii@linux.ibm.com> References: <20240619154530.163232-1-iii@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: yqBnn__VPUChFXLmx57TWXMbRlB3RKnh X-Proofpoint-GUID: wAGMmQY3YfNo3xdFT986fs_57LHV7tLj 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-19_02,2024-06-19_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 bulkscore=0 clxscore=1015 phishscore=0 mlxlogscore=742 spamscore=0 mlxscore=0 malwarescore=0 suspectscore=0 adultscore=0 impostorscore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405170001 definitions=main-2406190115 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: DD89A40020 X-Stat-Signature: 6maa31wm7zmcsf8gdxnfsqt899p39xgo X-Rspam-User: X-HE-Tag: 1718811958-695563 X-HE-Meta: U2FsdGVkX18E8qumxyp7zkI6iov9+S/pV9PZsdBIqfEFOAGOqiLPbfnqec131PYHKUFEXl1vYmehutTXPnoev5lmMlwj5qML62DWDUHJZ77G6IuEErq7MbG/rY+aEdOxKfvR4dLQtY6HiH2aSs1zYWhcZOVouoznOy7JRGSfE5KGaadQdOI928aND8hw7nZRDEXJ3DZEXf/OTA74OoNqT1/PXu1EqNtL3VwJbYqU2D1pg878j5MRRkpfyAM8FRblz/W5e1MEWipG5Jw2zL+/HmX5RJTMb9mcInev5uKqWINkqsJ+WQ9OXNEnnr7E9QpJ99wdIjLrXKrATdHwJv5ce5qWMVGXFxtsHt3opfh/MtR4fToXLXo374CwBQS0ULdRgA5c8ySkowI0iMATSyvtCCDxkwnugzDvCWUlX0GlfHfbfMcbHfNhM5ILegyVAe8oAk4OfHeYQXoOt2/jt3Dy1OmiA6sGjQ8siwTGW7u+ixuNdj/+kkoPTqa4kp3nIRfS2GwrtnW7tMUm9dNU/3Zhxi0IsqRhz1MwB2604/LGO7+QSA+gFOEHh7NxbWmCUO5hfSL+UFU5HFIp4KRc1QqYsgAcGEbwA0XJ9FMUieBfeRPWCsRUMVmFy3yVHpNewMbqz36W5b1s45L1OqPnPpDINIKVvOs3vJ5Jsxe6MAvX0bDDYhkdcXhR3Uc4caDTbkvGvVwHCvBa9507P+Eustf2ez6jeuoo6O3uMNXNd9Kha42An60dS6j11bO5k+7WpPiR/VcSTexmormcJ3rhLI3KOJiy79uBvAjZEbN/l/aD5mthjlOOEn8VVzIZo5K/lkF56lvlZIRp6lASA4QyJSyaMrf2k6uj/QamkNEoB2bZUsplnwfwuuYiN9rXukcjggQNjuuJKQpl8x1kYIuQqkQciRrBuHuxp68/rO/pD172EalXT9jX7+5cnw6Lm+aSkT6gIhvg2I8GT9Vpvl+JXbI 0OkzEy3K yqTH7rFqDsrstOmpH91IAKCEenl/NxLeps0ak5hWI+u784qdUBDl+ovMSKD5pb3zymAYWEugVOdjIj7azMywD29XgF9zPd1u/L0POyEOkSuw3bFg/V+USuVQ0xiPeUTPDoDchNRageFOAAfZS4nheitJyrH6Q/MD3XZMqyaEWCzBfrz6XmthfcRJw+aaPnUaNA5DVr3O11K1xhnCBUN2pIs2695HO10sRcDSGbVOEUrJjWRGWRzoIptxAGWSef8sYmb48JkCWzNMnKVuWXrhhw/Ckjw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000010, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: The inline assembly block in s390's chsc() stores that much. Reviewed-by: Alexander Potapenko Signed-off-by: Ilya Leoshkevich --- mm/kmsan/instrumentation.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/mm/kmsan/instrumentation.c b/mm/kmsan/instrumentation.c index cc3907a9c33a..470b0b4afcc4 100644 --- a/mm/kmsan/instrumentation.c +++ b/mm/kmsan/instrumentation.c @@ -110,11 +110,10 @@ void __msan_instrument_asm_store(void *addr, uintptr_t size) ua_flags = user_access_save(); /* - * Most of the accesses are below 32 bytes. The two exceptions so far - * are clwb() (64 bytes) and FPU state (512 bytes). - * It's unlikely that the assembly will touch more than 512 bytes. + * Most of the accesses are below 32 bytes. The exceptions so far are + * clwb() (64 bytes), FPU state (512 bytes) and chsc() (4096 bytes). */ - if (size > 512) { + if (size > 4096) { WARN_ONCE(1, "assembly store size too big: %ld\n", size); size = 8; } From patchwork Wed Jun 19 15:43:42 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Leoshkevich X-Patchwork-Id: 13704128 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 25F41C27C53 for ; Wed, 19 Jun 2024 15:46:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 66D5B6B00A0; Wed, 19 Jun 2024 11:45:55 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5D84B6B02CE; Wed, 19 Jun 2024 11:45:55 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3ABDD6B02C7; Wed, 19 Jun 2024 11:45:55 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 0D9126B02CA for ; Wed, 19 Jun 2024 11:45:55 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 9B3171207BA for ; Wed, 19 Jun 2024 15:45:54 +0000 (UTC) X-FDA: 82248063828.07.33F8F3F Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by imf06.hostedemail.com (Postfix) with ESMTP id 500B118001A for ; Wed, 19 Jun 2024 15:45:52 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=flExNqPw; spf=pass (imf06.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=1718811946; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=3hDUyT9rvjh/uqttZeOy24s2Df+NNUjOmmqDaE5+6Vk=; b=RfprX/KD//klNoXcqWlqBfk2UqE+zBO4qpB1NO5MSM2Du0IJzbOk3Je03aJZJJyWDgul9q SEfqcrQAR4UmU1onavv1FK+wDP0t7doasTKqgb6jThttlwA51A92w8AGjoQ/eIcU7lZeEe gJiQtsJUam9eWhdVYQWMKdqv9Mw6mHU= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=flExNqPw; spf=pass (imf06.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-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718811946; a=rsa-sha256; cv=none; b=AA4GScatVE/YXPXV6AOBEEVKB+z93ZJBty+wM3/r4ZML4zrP2qlWB2Diw22H6RsXxZAI0y UNY+ZJ69cM7kZbaFE9fkqt2FMOC1+tTQGImExznsSJy0lqknABwDS9qc433foFwODFCMTL 6iiFAQRcszE6KmjE9IfGupBeWqZfEA8= Received: from pps.filterd (m0353723.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 45JCx2dF011611; Wed, 19 Jun 2024 15:45:44 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from :to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=pp1; bh=3hDUyT9rvjh/u qttZeOy24s2Df+NNUjOmmqDaE5+6Vk=; b=flExNqPw+dIvwGWjJKEHRur/7P4Su z9MU05xbzurOxIUaHf+K4NRfzlo88K6oqRxBeuL56GF23rMh8xrIbrKkHptnNyrH nk3Tycf5seLnnmQI5SO0k4bnv31MQP/SEFT0tL5fTVjNxkgyTH2DZeyZNs13lZjw NxbNMvWNcdfogNUKQGf1ykhl8dXUMGkfp03A9gL0K1oRxC1vEkrTZvdfgfO6X102 ChB673HrtPnko86+w9tTMfEyuXwUEfaWJue45m0bBNKRx8sHXKhXIeE01kPCM3oF mppRajnfG7yi6q8sLuneetLrAU0v520x5+uzeQOkPJhWg7ss0eNHZsGEg== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yuyt98h3h-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:43 +0000 (GMT) Received: from m0353723.ppops.net (m0353723.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 45JFjhZs015348; Wed, 19 Jun 2024 15:45:43 GMT Received: from ppma23.wdc07v.mail.ibm.com (5d.69.3da9.ip4.static.sl-reverse.com [169.61.105.93]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yuyt98h3e-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:43 +0000 (GMT) Received: from pps.filterd (ppma23.wdc07v.mail.ibm.com [127.0.0.1]) by ppma23.wdc07v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 45JE5h8L011031; Wed, 19 Jun 2024 15:45:42 GMT Received: from smtprelay03.fra02v.mail.ibm.com ([9.218.2.224]) by ppma23.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3yspsndtmf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:42 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay03.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 45JFja7s55116264 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jun 2024 15:45:38 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 4946620067; Wed, 19 Jun 2024 15:45:36 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id EE9EE20065; Wed, 19 Jun 2024 15:45:35 +0000 (GMT) Received: from black.boeblingen.de.ibm.com (unknown [9.155.200.166]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 19 Jun 2024 15:45:35 +0000 (GMT) From: Ilya Leoshkevich To: Alexander Gordeev , Alexander Potapenko , Andrew Morton , Christoph Lameter , David Rientjes , Heiko Carstens , Joonsoo Kim , Marco Elver , Masami Hiramatsu , Pekka Enberg , Steven Rostedt , Vasily Gorbik , Vlastimil Babka Cc: 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 , Ilya Leoshkevich Subject: [PATCH v5 07/37] kmsan: Remove a useless assignment from kmsan_vmap_pages_range_noflush() Date: Wed, 19 Jun 2024 17:43:42 +0200 Message-ID: <20240619154530.163232-8-iii@linux.ibm.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240619154530.163232-1-iii@linux.ibm.com> References: <20240619154530.163232-1-iii@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: JgxqkCBh6gonQsPsLTHK1eNwNcILiZpf X-Proofpoint-GUID: bJpX-eo45VEognRyQ2bVdqBxxfq5QhVK 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-19_02,2024-06-19_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 phishscore=0 malwarescore=0 adultscore=0 clxscore=1015 priorityscore=1501 impostorscore=0 lowpriorityscore=0 bulkscore=0 spamscore=0 suspectscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405170001 definitions=main-2406190115 X-Stat-Signature: ysb6m9ggmfu81tzcrcuc8ssmcjxbibpj X-Rspam-User: X-Rspamd-Queue-Id: 500B118001A X-Rspamd-Server: rspam02 X-HE-Tag: 1718811952-943389 X-HE-Meta: U2FsdGVkX1/wBQOaPMA7DWERK0Taz3OT55cfaL1cl/lu2L8fmAUZCe+YrprI2+3xlOmAb6KjnYywUt0mI08s6Feq+5KVw6sKAWQEPDe9Y8z7pKvOluHEcwl30H2STH+LIBLfhHfFSoX3HbVU+xrabzMFd7/Z5YVpyiPArhKgbEvoTZqKX1TexZWQ7nWILKsiGxQF2W/po5+jSEIPMz7foC/BYNjLBC7VofYxWJVtbOgKIJRSPXmYVcrgf/Uk30EZ6LV4J9k7dgTpvdkt4H2DQXUUOUj9UbIMi7e+vvZBePCr8srfapdLnsPHfqLbOIQoEt6a8onXN6pSbwxV7JcPSq4WiP7WNnGQxW34xtFnxV4qAZFNNKXGj9kHxkKnFwMuM4Q4m5AepEGqeF3bVK2UetY1XOLL0KtA6ADQsqrs4vMuON7okyATayjD3LMzY72Gw5Ax0udwUbPcBH3t7ilbpU+xy0e82MnJZijvw/0I6muyXCmI0u6Vf6R3R4D3kIGcIz4IGeNpd2wiGT5sMExe202Cl9HMihrsc8Ycvw06IGqeGSGzvtQHDlhiw+3A2+0l6UkJ+N25lMPdPlKQ2Qn4UdgGSN6RRqh58COtnJOj2hDHOyQBSsj9dinptYzCSAOu/72XHLPxzwCuB4z8BZ+ZGafrbH0BMKwr6Sy0BhVWjVQoagfFc3JTPq0j4Oy+DTlJtvNAz+5dvB7K7xMH9HnwpMaEcrlCoITrl9R4ZZfUKunnvTI90giiWWFyTssowEZrv6V+ntsmICv6QQBmhaOlH/rgPEXn3YcQDIc8ngAch2h3XMT3HH9g+6OFuRqQ9ciLYJyMJ6J2baVlC+GtzB15BKDCnDYyPR5Bz92zABHGfqEQJoTozuo94Q3PXcl9XKntfYcJ6LTL5bx9CJQskj5EfJDn1gnGdvj03wC/v6HBhIhi+1c6cKYKqPYCUoF+B0LwOKctMk9v+ejWBPbptfB uKzghdjX Dzihest7ov0eW0Qc8vxVw8swTHFMl3/k0hJ9X5XFo+p9i/Tq90qFewaTPQQEjKFBAVljwyEmC4akGrzLThliNsyEzwVf1HCI1yI4XDy8jH/otJAfKkOdlvQYKv9xGBCWNSOUaBz5IyuA/OqzMpoYjwhRro9hkcVyI6naFdk2t8qyIfcDCgxkmGwUegOurJCk0XCsCShveo5X8vRvmJv38KPcuDWy2kYY0ay98YIOQTFaeWsychGrtXNAEnhuMZmj0VVsFs0bhDIgDy/l+b6yBphXJ8NmYepEUhWneZA8iDe4XaVCqu/cjhTrS6c/T6kvglRlt X-Bogosity: Ham, tests=bogofilter, spamicity=0.000003, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: The value assigned to prot is immediately overwritten on the next line with PAGE_KERNEL. The right hand side of the assignment has no side-effects. Fixes: b073d7f8aee4 ("mm: kmsan: maintain KMSAN metadata for page operations") Suggested-by: Alexander Gordeev Reviewed-by: Alexander Potapenko Signed-off-by: Ilya Leoshkevich --- mm/kmsan/shadow.c | 1 - 1 file changed, 1 deletion(-) diff --git a/mm/kmsan/shadow.c b/mm/kmsan/shadow.c index b9d05aff313e..2d57408c78ae 100644 --- a/mm/kmsan/shadow.c +++ b/mm/kmsan/shadow.c @@ -243,7 +243,6 @@ int kmsan_vmap_pages_range_noflush(unsigned long start, unsigned long end, s_pages[i] = shadow_page_for(pages[i]); o_pages[i] = origin_page_for(pages[i]); } - prot = __pgprot(pgprot_val(prot) | _PAGE_NX); prot = PAGE_KERNEL; origin_start = vmalloc_meta((void *)start, KMSAN_META_ORIGIN); From patchwork Wed Jun 19 15:43:43 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Leoshkevich X-Patchwork-Id: 13704127 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 CF7A2C27C53 for ; Wed, 19 Jun 2024 15:45:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3AF9C6B02CA; Wed, 19 Jun 2024 11:45:55 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 339136B02C9; Wed, 19 Jun 2024 11:45:55 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 13C536B02CE; Wed, 19 Jun 2024 11:45:54 -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 C1E686B00A0 for ; Wed, 19 Jun 2024 11:45:54 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 7824E41420 for ; Wed, 19 Jun 2024 15:45:54 +0000 (UTC) X-FDA: 82248063828.21.F711290 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by imf15.hostedemail.com (Postfix) with ESMTP id 409A4A0027 for ; Wed, 19 Jun 2024 15:45:51 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b="T9/QNStg"; spf=pass (imf15.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=1718811943; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=YaTjcojmIIYPSV3AqgAoZ8tGeMyuD+KvoajbKIBgv5I=; b=AfUfVNIwst9Qv+pjtWzF8NvaFtVnHfmDF0OMUyf5MdXxDVWbhL9LfCWroLNIJSvNXFNwwS 34nWFSlxrUDIgvIRtSNEplmnuamFter1g2vPxoTWFx+1t+MJyp71CMTmjrL2lJtkWsczXT hl5GfyuBqC0pj6ozKpzkOcXioikAgrk= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718811943; a=rsa-sha256; cv=none; b=52ogzCmYOkpL39RXqlUJ+nA28KLVmwG9/D5LaO0GpKTmXi7DsqYEYCFmHD3v8Xtv3jSWPS D1bAPRe8+hGYAgoKsLnF1+LhSrJWWJpncJda+VvpSSAyyPsACnaGl7JBf1r4AAABWzAezz FItJCUyCh+l3tIGELrzgDmUFoE9ro0Q= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b="T9/QNStg"; spf=pass (imf15.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 (m0353722.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 45JFLaLh001491; Wed, 19 Jun 2024 15:45:44 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from :to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=pp1; bh=YaTjcojmIIYPS V3AqgAoZ8tGeMyuD+KvoajbKIBgv5I=; b=T9/QNStgW8G2pJVdlb3bzzySMompR hyQN9UEXeZQe/AYSPac1Ai6HTOIwH7ynsGX+r3JEs6hdYylZudAxT8wIWvCtbZRp AkJdltXLp7aRSZr90/DRubw9sLovqGegbo/f/nH2eIhaNxR8F4ob4K7VY3XIaGYH Xi4Vf88XFKNPY6cnLrw1invg8QQytlpxncRlUCR3280eE+squhYRumJGAlt2DcYV DkuNva1vXWbSRzwuyrlaCvSbmlDnWxqM7NkQ6x1S/HtbsTL42yqkv9D2wiNApX8C WPC6PCIhaMDysyNpks30dPCcjfWDK7T2r+H3Ki6EGnZj/srEQlpXxXLqg== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv14ug77a-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:43 +0000 (GMT) Received: from m0353722.ppops.net (m0353722.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 45JFjhNK006742; Wed, 19 Jun 2024 15:45:43 GMT Received: from ppma13.dal12v.mail.ibm.com (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv14ug775-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:43 +0000 (GMT) Received: from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1]) by ppma13.dal12v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 45JEN1Zj009422; Wed, 19 Jun 2024 15:45:42 GMT Received: from smtprelay03.fra02v.mail.ibm.com ([9.218.2.224]) by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 3ysqgmwmm6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:42 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay03.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 45JFja4u53870878 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jun 2024 15:45:38 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 9FB982006C; Wed, 19 Jun 2024 15:45:36 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 4EF012006A; Wed, 19 Jun 2024 15:45:36 +0000 (GMT) Received: from black.boeblingen.de.ibm.com (unknown [9.155.200.166]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 19 Jun 2024 15:45:36 +0000 (GMT) From: Ilya Leoshkevich To: Alexander Gordeev , Alexander Potapenko , Andrew Morton , Christoph Lameter , David Rientjes , Heiko Carstens , Joonsoo Kim , Marco Elver , Masami Hiramatsu , Pekka Enberg , Steven Rostedt , Vasily Gorbik , Vlastimil Babka Cc: 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 , Ilya Leoshkevich Subject: [PATCH v5 08/37] kmsan: Remove an x86-specific #include from kmsan.h Date: Wed, 19 Jun 2024 17:43:43 +0200 Message-ID: <20240619154530.163232-9-iii@linux.ibm.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240619154530.163232-1-iii@linux.ibm.com> References: <20240619154530.163232-1-iii@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: 3EHcAU16HywOuVUpF9m86EEUX2NDcAqX X-Proofpoint-ORIG-GUID: q8eP9SI0b7m5NXggC0ByeUb5R-fj8JuI 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-19_02,2024-06-19_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 bulkscore=0 phishscore=0 impostorscore=0 mlxlogscore=999 suspectscore=0 lowpriorityscore=0 malwarescore=0 mlxscore=0 clxscore=1015 adultscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405170001 definitions=main-2406190115 X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 409A4A0027 X-Stat-Signature: aa9dddhgubiarwqpkcayudtymn9uytyp X-HE-Tag: 1718811951-588070 X-HE-Meta: U2FsdGVkX194OwCRqZxFpOOhtwfMrJbfUzfm+P1VDUd922mmfjSNf41jp0F6UFT7pu/o7mFLPUAIki/NQ9CDTs2EoGbiDZ0haoolCuH2setIDbRHUCkQjFtJHI9ySfLbLqj7LAtoLHaqCm9JgcaPj0BcrtXlwgimSpJ2nHSwOEyWpBqExqXSYD/TBGBYtifVfemsDPSr5ZIbeSIq5Jc4KRWLdDZm+PMIiPsiai8y8JNO/lShbaU70CFQ3NTuG81yrtzAinWXJhqrSu5JLHcdWI39UNFcwXRG2E0RO2ctZjC7FSa1tppi7wgBM0ATlR5sddrWCwaxKEhKWeguxh9oyHWaVpqP5f3Znt2o2rMwLvby2FIycsHQH8Founw07FYfDFzVcrUTqgT2ZC8cT8OZxj/D8hayXDbDQTXg5d/xBKzEPtYpszLTaIDeb1Nayxxe+BhwpYCm4DClpnBBGGD1LCIYl0hzOTcD8kSdQNQ/y7OkCQjzhwPnOX5Vtld+EOI053JZ2sc+e3wKHnFXLLxaiEjHjDR0niYbCisn0H/aXbren/djyjK4pUtmc3MTTZmcr0tFuUUFhEQ8XNwk0h2TpTPwTzLJEC2+GEd/cZAzls/U+0vsALdkpscvGtmdv+heTkWvXxBAIxBJB+KeUQS0fIZlD0W6LPzGQdrR5Hq+rC4HwLQDQacHt8A+y7iE9ZCnP2Da/Iw7jxHmNxE16JEwo3aV6xKnrLtYhQIUkTnWqCgZlz8TUVnaIOnM7FrPbc+9ud7eNTDIJCmOhQgXd63FpZQSwvc4qhZ0mMtFPPOqr+hNIVYZYsFaoQBOuC+f0K1iQr+EZaA81bevA5oysNviNsKAP840rKzqJts4GOLdMaOOIGhPGNxVhtizgdEZL/YX8Xp11ZyS/RmVA0lf1CFlQA2h0W0J3yrp8vXdJbdZlx9epFr8VSJpJ9DWR9MdW/DuKZsOcDiRjTgtiyvV4mL 6Jbf7G60 ZPGD+aFx6rZXzWc9gd+RNe+TaAKEfdBNcmgvGI5NJ88R8MxS1++wFVla/+KZO0Za1rmi3VCDQoX+eXVeRT2r3MLPFwv3MF9Keo4rfa/zJoc/ShOm6YtZDfvhBgcAV/9UlNtlJJyXdMia9xCNtt4uUxWjVYSZwCLD+UD4UWSja68Mz1+nj9S79flT6XiSi7LrJLtGqnUZgMDNDGU+cNZjR74qe+HeL8zIjHTs2VFgiET4j9Z22Fbzymd5wJMrtfxiS/TSN+w63rjAlgxiy5eYd41PvQNqfzbv/iVY3K5M1DX2bSOexgHZ2xT1TCgVqNCbgzn20YbGsO7fVfpSfWhMKtZqKxMcfEDYWkU4FfyKrRPEVaZw= 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: Replace the x86-specific asm/pgtable_64_types.h #include with the linux/pgtable.h one, which all architectures have. While at it, sort the headers alphabetically for the sake of consistency with other KMSAN code. Fixes: f80be4571b19 ("kmsan: add KMSAN runtime core") Suggested-by: Heiko Carstens Reviewed-by: Alexander Potapenko Signed-off-by: Ilya Leoshkevich --- mm/kmsan/kmsan.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mm/kmsan/kmsan.h b/mm/kmsan/kmsan.h index a14744205435..adf443bcffe8 100644 --- a/mm/kmsan/kmsan.h +++ b/mm/kmsan/kmsan.h @@ -10,14 +10,14 @@ #ifndef __MM_KMSAN_KMSAN_H #define __MM_KMSAN_KMSAN_H -#include #include +#include +#include +#include +#include #include #include #include -#include -#include -#include #define KMSAN_ALLOCA_MAGIC_ORIGIN 0xabcd0100 #define KMSAN_CHAIN_MAGIC_ORIGIN 0xabcd0200 From patchwork Wed Jun 19 15:43:45 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Leoshkevich X-Patchwork-Id: 13704234 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 EC395C27C53 for ; Wed, 19 Jun 2024 16:30:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 702886B0321; Wed, 19 Jun 2024 12:30:11 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6B1326B0322; Wed, 19 Jun 2024 12:30:11 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 507276B0323; Wed, 19 Jun 2024 12:30:11 -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 2E88C6B0321 for ; Wed, 19 Jun 2024 12:30:11 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id C26C314107D for ; Wed, 19 Jun 2024 16:30:10 +0000 (UTC) X-FDA: 82248175380.18.96AB10D Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by imf17.hostedemail.com (Postfix) with ESMTP id 7A63E4001C for ; Wed, 19 Jun 2024 16:30:08 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b="r/ZDXUf6"; spf=pass (imf17.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=1718814601; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=ah4xfVCHNViASZu9OS8C5bCxAH6NMTO/t1qMSUm0DA8=; b=ngzJ1UtCROpoz0jIHbn8RFbJMiLfLcDDShVssFk6OqE7mGwKZssmFXmdVhYeExi7u9PgSv mxEWctXmLCzTOtMXpp2tK+XyTg8fkyM7gIHq8x3S2nQ6leASazO3qqKGHFbzJM7TUPozmN 4zTWezybTEpXDSNtjz+dxT6R6wYUlTY= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718814601; a=rsa-sha256; cv=none; b=BgMmMjt0+/I3IK9NJUQfs2AXJVuEX0ApIunILShGr9/cLo6sSCLpTf3Snd4JUrYn2Pq5nd xlCt5D6kFpKNPLJM39TO6HOwD9bM4tWtkjXtfH40dJ6pE0lBg60rqN46cgG4HRku14z5eh MgiJuhzzqWvpeDnnLhZFGoA5wQkOA+s= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b="r/ZDXUf6"; spf=pass (imf17.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 45JETPqC000732; Wed, 19 Jun 2024 15:45:45 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from :to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=pp1; bh=ah4xfVCHNViAS Zu9OS8C5bCxAH6NMTO/t1qMSUm0DA8=; b=r/ZDXUf6kNgEyXGiU4QBIlTJRAP2B qjmxMUcnG+bu1yZa1gsD0Wnf3tsxZ90aRkYPlIKrAU2sqhl5u+7ePITVO8Hukgs0 NH0GqcLd2JMA9L1K7wSSH2j5YNbdBaipyE7ZPYHjwiO+6dohNBsImYLLxQxRu1fF N4t7d2LJhW/taQ118wFF4jtOVMXpmsTKMCtpBN3ROAqvws3tyrToF4GddeVZd7Xv O0Bl2MJIgCbaPgevMM+CY2prtxld6WeagQfXlzqcnUwoKsFBkkX3ggdnUHA/CclB RFoSNEgzc5AdKxqtQ8pYrqrjcMLGYsb0v7fuutAd04iXQFgjSUONlEsDQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv14tg8bt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:45 +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 45JFjie4027313; Wed, 19 Jun 2024 15:45:44 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 3yv14tg8bh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:44 +0000 (GMT) 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 45JFDe1R019670; Wed, 19 Jun 2024 15:45:43 GMT Received: from smtprelay04.fra02v.mail.ibm.com ([9.218.2.228]) by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3ysnp1e4w7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:43 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay04.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 45JFjbuF15663542 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jun 2024 15:45:39 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 52CF620040; Wed, 19 Jun 2024 15:45:37 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 0482F2006E; Wed, 19 Jun 2024 15:45:37 +0000 (GMT) Received: from black.boeblingen.de.ibm.com (unknown [9.155.200.166]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 19 Jun 2024 15:45:36 +0000 (GMT) From: Ilya Leoshkevich To: Alexander Gordeev , Alexander Potapenko , Andrew Morton , Christoph Lameter , David Rientjes , Heiko Carstens , Joonsoo Kim , Marco Elver , Masami Hiramatsu , Pekka Enberg , Steven Rostedt , Vasily Gorbik , Vlastimil Babka Cc: 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 , Ilya Leoshkevich Subject: [PATCH v5 10/37] kmsan: Export panic_on_kmsan Date: Wed, 19 Jun 2024 17:43:45 +0200 Message-ID: <20240619154530.163232-11-iii@linux.ibm.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240619154530.163232-1-iii@linux.ibm.com> References: <20240619154530.163232-1-iii@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: RiUUTktqT1yLNQLtzUUbCFUd6AFkCIeA X-Proofpoint-ORIG-GUID: 7_qealJrcwwEHN-o48FoPO7TmZIHaGqk 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-19_02,2024-06-19_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 lowpriorityscore=0 malwarescore=0 suspectscore=0 mlxscore=0 clxscore=1015 spamscore=0 mlxlogscore=999 impostorscore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405170001 definitions=main-2406190115 X-Rspamd-Queue-Id: 7A63E4001C X-Stat-Signature: jkkacyohwsiyxkky5wb8i6k7gcio5875 X-Rspamd-Server: rspam09 X-Rspam-User: X-HE-Tag: 1718814608-236628 X-HE-Meta: U2FsdGVkX18GE3RA8BCrEqj3MdBFBQ1VQxd8RfjwvxbDQLsBr9zZo+BhYxDvLlAXhSPChu6cr0ZpgtQnBCWYlebMAO10O4JhwPbkSI1+0moShHcdEBOyvz67Rf8kud1q11b8Sxal5dNNIgsZV1VqW9JIpNT4iTDGRXIO29ewMwIlzobVa6X2zbWXjKjbMcG5vZB3iwBxMaL0LvCMfUonmq6EeResnu5HOk9BaZJPB3vTKNfRJe2iTrA8x8vJ210Dw1yqgNdo0D8J8RAR7cnYctBP+lhKl/PRQ+Syw8hnOZKGobaNgVHo7AgumO92bwBiNqhTRlBqDf2zp3DfQ9I3wakJIkM6sJOd9cQCWv3Os7UqCeYli7oY9XPCktfSjEf6+QG4JjO+CiITFpoNyerSz6f0tBpzbxEY77Svf/6+QTYlTDJPB9xBLEvO7RDAN4c67XanWRrlW6S7gx0I6fdMlFIzaOJv8yfntMg/TSbFoQfz2OyK3Q7gFNpqu4iNodICU/QRO6JCE9mVY3KSendfOGwxyDJgifkVmp6albPOQ4TO1FCZZbyspr8gko6ziBNdLy4qFkVzGHJM1Di+lImpkJyChV1YCZiUJQq+12YJujHAl8R4tymT09qVRURFrxTm3XGHUw6MOOwjIiPtme9gnYLgyi1Q3x7FGL8WmdE9s5/OgM/WL1QdXZuEtgZEsUFJfpvXiXLuZQYi9Geqc7DcarN/ySDDfgdv6tvkZXb4nSVfGIC2rrx+AK+mRyIKpmRSYlNjehXi4oGMFPtHg/K+vH2ngX14iCp2qKpdjkOqnyQgEg/2JtpTmOIGZs38HEbxZNdZnL8zxB78ilIog7aDsFBEhm4GiFxrCemfAvdUa9QpkAu731yqBdgLsrXkXl8TMXhILsy3D0CVWQQh82wC2g39uww/QBRsOWI1/uFWQyXmX7ed2rHVhPMKyLirGvgOVY0fBwIKCNIymF9nNhO BBlyAatD bAuu4LyLIVdImrIYqfiF0mRznoIJyiJJwkb68mGn/Z9Dn2huqUinoO+Rg605n+JhNWqxvW1ek+VBGWQjAnMAuwkGJwri0Sv+s7GfmIhPMLui9RgxW+FvZgE9Gk5O4vLk3ry3z1sdqZ15oDBb6jEApt50iTPI4vF4QFsBPrqJFwfs9JsnCd4lNAfn9aYazgHeMfzzXIb6SXHhu6ILs1wN7kv2p9WRNhV3duJhEdWa+s0xR2+bqF0iyzQ05v0oMmqmNWVYHPUcVyA7ldqXCG2JqwCRajiIua2/jWOjuIVPlYQ/vwlMJK1+1YfbA0akmr6sFR7Xg X-Bogosity: Ham, tests=bogofilter, spamicity=0.000736, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: When building the kmsan test as a module, modpost fails with the following error message: ERROR: modpost: "panic_on_kmsan" [mm/kmsan/kmsan_test.ko] undefined! Export panic_on_kmsan in order to improve the KMSAN usability for modules. Reviewed-by: Alexander Potapenko Signed-off-by: Ilya Leoshkevich --- mm/kmsan/report.c | 1 + 1 file changed, 1 insertion(+) diff --git a/mm/kmsan/report.c b/mm/kmsan/report.c index 02736ec757f2..c79d3b0d2d0d 100644 --- a/mm/kmsan/report.c +++ b/mm/kmsan/report.c @@ -20,6 +20,7 @@ static DEFINE_RAW_SPINLOCK(kmsan_report_lock); /* Protected by kmsan_report_lock */ static char report_local_descr[DESCR_SIZE]; int panic_on_kmsan __read_mostly; +EXPORT_SYMBOL_GPL(panic_on_kmsan); #ifdef MODULE_PARAM_PREFIX #undef MODULE_PARAM_PREFIX From patchwork Wed Jun 19 15:43:46 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Leoshkevich X-Patchwork-Id: 13704126 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 4B0D9C2BA15 for ; Wed, 19 Jun 2024 15:45:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E33956B00A1; Wed, 19 Jun 2024 11:45:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DE3776B02C9; Wed, 19 Jun 2024 11:45:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BE74F6B02C7; Wed, 19 Jun 2024 11:45:54 -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 94EA66B00A0 for ; Wed, 19 Jun 2024 11:45:54 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 180DB1A07D7 for ; Wed, 19 Jun 2024 15:45:54 +0000 (UTC) X-FDA: 82248063828.03.7B2BB38 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by imf02.hostedemail.com (Postfix) with ESMTP id D75008000A for ; Wed, 19 Jun 2024 15:45:51 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=MM7V8Kud; spf=pass (imf02.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-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718811947; a=rsa-sha256; cv=none; b=BBGkaYicwleeNPaCoqVaHHqJlvdPYeom2j5HHzjIlQNLLZk+nBYplkKFQ4dx5sJhmwZRZw sOR7RVMzFCgBBQddBYzESrIqSanXWXIWEpqzeAEOG+CZ24qUJQfEou0r8dDFJyxI98mXAU IOC5Hl3OaP7A3EWw8Fhy4XdWSwV2c6M= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=MM7V8Kud; spf=pass (imf02.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=1718811947; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=VXS/CROs6yE7UNWuiQuFKJi6Qw5yeAHe/FeukS5ug+8=; b=iYBkXtFISOesTfRN2W+YCDLXvNnkCqabXlwptFfMy/2T2HnAouL1Wv2XgQXFkCHtI2tIWF RXlHPaoJdD7etJYs9brdLDVAbHLcJOOjgFu0CJ+VJeaDf9rzH6bc56vUCDdeZgVJUpfORP qF32c88Y2vzhsNlB6Eynrb2EFzJkKVk= 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 45JETKsZ000677; Wed, 19 Jun 2024 15:45:45 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from :to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=pp1; bh=VXS/CROs6yE7U NWuiQuFKJi6Qw5yeAHe/FeukS5ug+8=; b=MM7V8KudXTL02R4wGd0IoGTYtbgGC NV/w0YQggSOMBdnmMh0BBwlUNCQPx9FVo1JmbSa8Sh612PZZhG2fSPXp1L2RuOqX gnjYEFDQQgl8u3ZpL3H98XbYdY7IcchfbtU0lcy7Jb3C6GADz9qNXa6q9fjWo1LC 1jkndlXWGR+hmZ6USo2W8ix6EOgXtreJ2A4P4JNmrlaNGY2gpGiAyAue6HMulLCI zRw5FEQ5sIBBHLj2JgqtcCczZ/QCofk1Tcuzb32nZVdL+vyooutlMbE7eWiLVcCd GYn0c6+WeJJkR+GvMKgrBcPEhLYR3EbkZZDnTagxb8SFDakNhI6yYPFvg== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv14tg8bq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:45 +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 45JFjiXA027307; Wed, 19 Jun 2024 15:45:44 GMT Received: from ppma13.dal12v.mail.ibm.com (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv14tg8bg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:44 +0000 (GMT) Received: from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1]) by ppma13.dal12v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 45JEdTxx009433; Wed, 19 Jun 2024 15:45:43 GMT Received: from smtprelay04.fra02v.mail.ibm.com ([9.218.2.228]) by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 3ysqgmwmmk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:43 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay04.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 45JFjbaP14025152 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jun 2024 15:45:39 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id B37F02004B; Wed, 19 Jun 2024 15:45:37 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 5919F20049; Wed, 19 Jun 2024 15:45:37 +0000 (GMT) Received: from black.boeblingen.de.ibm.com (unknown [9.155.200.166]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 19 Jun 2024 15:45:37 +0000 (GMT) From: Ilya Leoshkevich To: Alexander Gordeev , Alexander Potapenko , Andrew Morton , Christoph Lameter , David Rientjes , Heiko Carstens , Joonsoo Kim , Marco Elver , Masami Hiramatsu , Pekka Enberg , Steven Rostedt , Vasily Gorbik , Vlastimil Babka Cc: 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 , Ilya Leoshkevich Subject: [PATCH v5 11/37] kmsan: Allow disabling KMSAN checks for the current task Date: Wed, 19 Jun 2024 17:43:46 +0200 Message-ID: <20240619154530.163232-12-iii@linux.ibm.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240619154530.163232-1-iii@linux.ibm.com> References: <20240619154530.163232-1-iii@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: RrhlJjxZQYf9pK6OPK865PIXzJkUUgUU X-Proofpoint-ORIG-GUID: rnvyXIBHOyj0RfBbiCienZKnto1dMAcv 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-19_02,2024-06-19_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 lowpriorityscore=0 malwarescore=0 suspectscore=0 mlxscore=0 clxscore=1015 spamscore=0 mlxlogscore=999 impostorscore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405170001 definitions=main-2406190115 X-Stat-Signature: wi8wtnyxk8hr8bajy5q1nk4fmxjpfzpg X-Rspamd-Queue-Id: D75008000A X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1718811951-614578 X-HE-Meta: U2FsdGVkX19njUatx+pcs9eQtTq/YErP7Oi9y7d8G+Ket248QpHPADtqfhQxjvmYnTilOgLYCj/iIAqGmyy8zfGqoqcmCc6zy125V/q2kN0d+h1BFVUXYTk7epwROWgYfA+NFe7yj1IzZdLGmJNXAqjOhrmi57v4NJAXvtHKFXF6kGrlNuEyVwB7YRPqwWQbcs2zi/Jii/hWgj/AxX6TzHQ/VMe4JFbH5omObHtmHm19sKARaWVMajIUuKDnJzoj7rUn8lPeS0VKom1TG9zP8Jn5Yk8/lWJJMoRDM7/JOcGBLMRjR4wPBRpnxrioAK8TgYPhAewowc/+LUS7lD/sro/Q33yLA8LpNorYudB95GDAJYeK/zYEXZKF179JJR3+AT1ZLZcOc29ZxfiJiRf/U/cKZDYEPUNh3CjZcBragf58d4UJtf0V36+yDmy7gN1giT1MIsFzkG1LEscq2XoEEoVqr4v/uFe+CUxUbPn1jO+fQVP+6SxYL+WVSptKzstaetkCVSQyJ7OMb9NwznPbfmFe4iu8x5KuXGXFRdbdlVzK77mm6i0dlUASsLxjnxdLDrHXApkZBBlV15AOrsRhElaYNIHLpB5nUBIYRBRXLYqPIe2jbcTuonl3kbMI1pDpE9mx04/QvViwy+QccLyji7b5Re7h9HVUKwFxhLYr0L/fmZVJ+tssrxPIt4QQyMyGqcntlEc1zH3qbLc9AK6TCRSZMkdp40rkySEbKfTel61WDvtfpX6q5L2SLwluWdNpoxcNecI7sA70yc7sitEW95sLWieSwLZy8uXFxFDxhq7UnQHjUkleBTN1L2qU1SwVJTMA6GavkDJlnDfZB98J7ikg0y0gFB6Y5Zli6AWoJr2JdjnCs0bnRKWJC+ZXsUUNxo+zNCqOFa3HEec2XVj2PQex5RnOTjxxUkH6eVXd8VRupkwlLNvS6XB7kB+kJL5/NifzGoXtMt6kbl49bHe YRjzq7gU p4gS3i/GL6p8Bi0NVeeS8Yc7hNw4UeZpfK8dKI0WmRNqTBqVjiXCNQtSX2AGinxa7qNjUfGcJ682cPHp1+bsavWG5t5CEXs6Kt3Z7oSM/0AmTqGqgxlJBPBvPkM5XUWDcKsgJq9J6Td0dz5JrlHUlctqQZ85KRyNYJ175HS5qB7FWV6/NDktKwxCoGN39tua59t8Nhy/tH9H/QPwc7DwErDz6WhcDQTMmO+pzxTSwrH7pXYUGflLgiGe1AqJwJ+De/7hIvnZZWTmyztymY6z3y9pT3B+LncQiBv89G+RAkQo/rBGwdWwNNPfAY52FhkfE2U0DXzL3ZwE8M3dY4XvEVh3bXtRy1/a6Udkv27duW9vgxVw= 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: Like for KASAN, it's useful to temporarily disable KMSAN checks around, e.g., redzone accesses. Introduce kmsan_disable_current() and kmsan_enable_current(), which are similar to their KASAN counterparts. Make them reentrant in order to handle memory allocations in interrupt context. Repurpose the allow_reporting field for this. Reviewed-by: Alexander Potapenko Signed-off-by: Ilya Leoshkevich --- Documentation/dev-tools/kmsan.rst | 11 +++++++++-- include/linux/kmsan.h | 24 ++++++++++++++++++++++++ include/linux/kmsan_types.h | 2 +- mm/kmsan/core.c | 1 - mm/kmsan/hooks.c | 18 +++++++++++++++--- mm/kmsan/report.c | 7 ++++--- tools/objtool/check.c | 2 ++ 7 files changed, 55 insertions(+), 10 deletions(-) diff --git a/Documentation/dev-tools/kmsan.rst b/Documentation/dev-tools/kmsan.rst index 323eedad53cd..6a48d96c5c85 100644 --- a/Documentation/dev-tools/kmsan.rst +++ b/Documentation/dev-tools/kmsan.rst @@ -110,6 +110,13 @@ in the Makefile. Think of this as applying ``__no_sanitize_memory`` to every function in the file or directory. Most users won't need KMSAN_SANITIZE, unless their code gets broken by KMSAN (e.g. runs at early boot time). +KMSAN checks can also be temporarily disabled for the current task using +``kmsan_disable_current()`` and ``kmsan_enable_current()`` calls. Each +``kmsan_enable_current()`` call must be preceded by a +``kmsan_disable_current()`` call; these call pairs may be nested. One needs to +be careful with these calls, keeping the regions short and preferring other +ways to disable instrumentation, where possible. + Support ======= @@ -338,11 +345,11 @@ Per-task KMSAN state ~~~~~~~~~~~~~~~~~~~~ Every task_struct has an associated KMSAN task state that holds the KMSAN -context (see above) and a per-task flag disallowing KMSAN reports:: +context (see above) and a per-task counter disallowing KMSAN reports:: struct kmsan_context { ... - bool allow_reporting; + unsigned int depth; struct kmsan_context_state cstate; ... } diff --git a/include/linux/kmsan.h b/include/linux/kmsan.h index fe6c2212bdb1..23de1b3d6aee 100644 --- a/include/linux/kmsan.h +++ b/include/linux/kmsan.h @@ -239,6 +239,22 @@ void kmsan_unpoison_entry_regs(const struct pt_regs *regs); */ void *kmsan_get_metadata(void *addr, bool is_origin); +/* + * kmsan_enable_current(): Enable KMSAN for the current task. + * + * Each kmsan_enable_current() current call must be preceded by a + * kmsan_disable_current() call. These call pairs may be nested. + */ +void kmsan_enable_current(void); + +/* + * kmsan_disable_current(): Disable KMSAN for the current task. + * + * Each kmsan_disable_current() current call must be followed by a + * kmsan_enable_current() call. These call pairs may be nested. + */ +void kmsan_disable_current(void); + #else static inline void kmsan_init_shadow(void) @@ -338,6 +354,14 @@ static inline void kmsan_unpoison_entry_regs(const struct pt_regs *regs) { } +static inline void kmsan_enable_current(void) +{ +} + +static inline void kmsan_disable_current(void) +{ +} + #endif #endif /* _LINUX_KMSAN_H */ diff --git a/include/linux/kmsan_types.h b/include/linux/kmsan_types.h index 929287981afe..dfc59918b3c0 100644 --- a/include/linux/kmsan_types.h +++ b/include/linux/kmsan_types.h @@ -31,7 +31,7 @@ struct kmsan_context_state { struct kmsan_ctx { struct kmsan_context_state cstate; int kmsan_in_runtime; - bool allow_reporting; + unsigned int depth; }; #endif /* _LINUX_KMSAN_TYPES_H */ diff --git a/mm/kmsan/core.c b/mm/kmsan/core.c index 95f859e38c53..81b22220711a 100644 --- a/mm/kmsan/core.c +++ b/mm/kmsan/core.c @@ -43,7 +43,6 @@ void kmsan_internal_task_create(struct task_struct *task) struct thread_info *info = current_thread_info(); __memset(ctx, 0, sizeof(*ctx)); - ctx->allow_reporting = true; kmsan_internal_unpoison_memory(info, sizeof(*info), false); } diff --git a/mm/kmsan/hooks.c b/mm/kmsan/hooks.c index b408714f9ba3..267d0afa2e8b 100644 --- a/mm/kmsan/hooks.c +++ b/mm/kmsan/hooks.c @@ -39,12 +39,10 @@ void kmsan_task_create(struct task_struct *task) void kmsan_task_exit(struct task_struct *task) { - struct kmsan_ctx *ctx = &task->kmsan_ctx; - if (!kmsan_enabled || kmsan_in_runtime()) return; - ctx->allow_reporting = false; + kmsan_disable_current(); } void kmsan_slab_alloc(struct kmem_cache *s, void *object, gfp_t flags) @@ -424,3 +422,17 @@ void kmsan_check_memory(const void *addr, size_t size) REASON_ANY); } EXPORT_SYMBOL(kmsan_check_memory); + +void kmsan_enable_current(void) +{ + KMSAN_WARN_ON(current->kmsan_ctx.depth == 0); + current->kmsan_ctx.depth--; +} +EXPORT_SYMBOL(kmsan_enable_current); + +void kmsan_disable_current(void) +{ + current->kmsan_ctx.depth++; + KMSAN_WARN_ON(current->kmsan_ctx.depth == 0); +} +EXPORT_SYMBOL(kmsan_disable_current); diff --git a/mm/kmsan/report.c b/mm/kmsan/report.c index c79d3b0d2d0d..92e73ec61435 100644 --- a/mm/kmsan/report.c +++ b/mm/kmsan/report.c @@ -8,6 +8,7 @@ */ #include +#include #include #include #include @@ -158,12 +159,12 @@ void kmsan_report(depot_stack_handle_t origin, void *address, int size, if (!kmsan_enabled) return; - if (!current->kmsan_ctx.allow_reporting) + if (current->kmsan_ctx.depth) return; if (!origin) return; - current->kmsan_ctx.allow_reporting = false; + kmsan_disable_current(); ua_flags = user_access_save(); raw_spin_lock(&kmsan_report_lock); pr_err("=====================================================\n"); @@ -216,5 +217,5 @@ void kmsan_report(depot_stack_handle_t origin, void *address, int size, if (panic_on_kmsan) panic("kmsan.panic set ...\n"); user_access_restore(ua_flags); - current->kmsan_ctx.allow_reporting = true; + kmsan_enable_current(); } diff --git a/tools/objtool/check.c b/tools/objtool/check.c index 0a33d9195b7a..01237d167223 100644 --- a/tools/objtool/check.c +++ b/tools/objtool/check.c @@ -1202,6 +1202,8 @@ static const char *uaccess_safe_builtin[] = { "__sanitizer_cov_trace_switch", /* KMSAN */ "kmsan_copy_to_user", + "kmsan_disable_current", + "kmsan_enable_current", "kmsan_report", "kmsan_unpoison_entry_regs", "kmsan_unpoison_memory", From patchwork Wed Jun 19 15:43:49 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Leoshkevich X-Patchwork-Id: 13704203 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 ECDB5C27C53 for ; Wed, 19 Jun 2024 15:46:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 29CB08D0081; Wed, 19 Jun 2024 11:46:04 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 225776B02FA; Wed, 19 Jun 2024 11:46:04 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id ECF848D0081; Wed, 19 Jun 2024 11:46:03 -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 C18E76B02F9 for ; Wed, 19 Jun 2024 11:46:03 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 7C3E31C1892 for ; Wed, 19 Jun 2024 15:46:03 +0000 (UTC) X-FDA: 82248064206.05.A9D0886 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by imf17.hostedemail.com (Postfix) with ESMTP id 2203E40008 for ; Wed, 19 Jun 2024 15:46:00 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=hrkS6RNO; spf=pass (imf17.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=iii@linux.ibm.com; dmarc=pass (policy=none) header.from=ibm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718811956; a=rsa-sha256; cv=none; b=6N8fFvWo83Ur+x1hh/rjJNA7qWvZCPTNG+SmzDWwwzkIJYSrjXM0X7O6c+QmPwvSGy4/kJ mQ8hw+VN5pUWW/ZSkZ+d/0Td0g/J3ngOdE9OmyXLOhtk4tym1dfmOCyd4QXQsTcqcZUWoU rOgjazOaKMJQtKLe4TkwDA8Nocnkmfk= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=hrkS6RNO; spf=pass (imf17.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.156.1 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=1718811956; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=fhyNLk4BgDYNJAsfSc8ftWCxz9OlL/4RiKPE6HJFalY=; b=xDGCHX06cZ9Gok60LyqrHBiyyDHfv8SZKAHB7gHgMpmuQcLX9LxCjDw7DSqfEMee4NHJ02 AkusZB/HjQtlPqTNKO9p9eeIaG6ZM87d+sLjG3IH5RYOrK7+CD25wG/7JD6abNwLaW9a7R ScLOL4XcCygeMgJxmxN1sgAFGVe01Yk= Received: from pps.filterd (m0353726.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 45JEwgQL023598; Wed, 19 Jun 2024 15:45:47 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from :to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=pp1; bh=fhyNLk4BgDYNJ AsfSc8ftWCxz9OlL/4RiKPE6HJFalY=; b=hrkS6RNOPG56OtmskkPkw7yVXYwAT acEMbfC0Soeijihdr5if0GECZ1ST+bS1M1VbsdGDwp510etV1GqX2sIUPiu4fUP4 uboNtL0nRkk9EL8HDoBX2arUaWmCv4e42yeCyA79rrTDwil26m9aJk3utHuE+mq2 VfGqGJQnKBICgmluoafa6R29nP5Q4JzXMai4gnDiMH0fUVjigEIHJ34Y4Wplrt8W jLsdyt/HdLDJGat8R4Okl8r4NoiQp+ax480Y4WYEhiNTpcFsz+H/5Eb9dHaXN81H tsJpvqAWHFxQ/5l/CjOdMuR+Nnu0qqkPiZSIINSpD1pDnYfpF5X26KBPg== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv1jfr5bj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:47 +0000 (GMT) Received: from m0353726.ppops.net (m0353726.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 45JFjkwE005769; Wed, 19 Jun 2024 15:45:46 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 3yv1jfr5bd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:46 +0000 (GMT) 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 45JFN5s7019545; Wed, 19 Jun 2024 15:45:44 GMT Received: from smtprelay05.fra02v.mail.ibm.com ([9.218.2.225]) by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3ysnp1e4wf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:44 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay05.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 45JFjcse47513874 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jun 2024 15:45:40 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id BD04E20063; Wed, 19 Jun 2024 15:45:38 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 6E7592005A; Wed, 19 Jun 2024 15:45:38 +0000 (GMT) Received: from black.boeblingen.de.ibm.com (unknown [9.155.200.166]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 19 Jun 2024 15:45:38 +0000 (GMT) From: Ilya Leoshkevich To: Alexander Gordeev , Alexander Potapenko , Andrew Morton , Christoph Lameter , David Rientjes , Heiko Carstens , Joonsoo Kim , Marco Elver , Masami Hiramatsu , Pekka Enberg , Steven Rostedt , Vasily Gorbik , Vlastimil Babka Cc: 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 , Ilya Leoshkevich Subject: [PATCH v5 14/37] kmsan: Use ALIGN_DOWN() in kmsan_get_metadata() Date: Wed, 19 Jun 2024 17:43:49 +0200 Message-ID: <20240619154530.163232-15-iii@linux.ibm.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240619154530.163232-1-iii@linux.ibm.com> References: <20240619154530.163232-1-iii@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: gIZT5DYHh1rbbpQa0FFDm_E1i5yVi9Yw X-Proofpoint-ORIG-GUID: OHhlw3JqsWTVZx2EL0dqKaWV5MgXhMBa 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-19_02,2024-06-19_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 mlxscore=0 lowpriorityscore=0 phishscore=0 clxscore=1015 bulkscore=0 malwarescore=0 mlxlogscore=999 suspectscore=0 priorityscore=1501 spamscore=0 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405170001 definitions=main-2406190115 X-Stat-Signature: 45c4agwug55pd9k6wcehq6nk5y3npsu1 X-Rspamd-Queue-Id: 2203E40008 X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1718811960-545277 X-HE-Meta: U2FsdGVkX18Yc7bKUZvHhHm8wcBaA2kxd8K8QP9EGn4EXBLfO4EkTyxU+vuEWbOz9jO+KLeAd2gC2KRe7FRB3Xr089LQzZj03sJ0qAn93F6bykcuxDuPxWkefM6QOWx3XBSqUWn1wnoGziF11J1CfsvfUCPF42TWtPY9zoOBaFue3TLOqCarHfw9ZJqBdfHqYjFcXzrBArAEAQvZQH8nSnyzF5GhjFXgnoHJihUj+t6Jg7jUmE7Iz0WtZCJ74CZR+3rhrnEv1QW8M6Rpn2ivBfjgc4feg2Ir1FEbg3xJQ9cyLgmr6+0d2o7hmCRiY0DN2mq+d7zQxD4N9LXj1sYeXzSuVXvLm/Ez5eQsPHSgZpR4V6nNf1rWL1g+j3eAyQg2ch4XRZCdBQuTDLq76EXF0MR2WdgngPDtfDBPS7BPf1adiv3dMAk4MObPbxs+f9Hn7AsOgl6k6u+kzBnAzokx/oMhVzeDoTkLA5TvDUaalOH4ZmFJGCiU0YJjWVrPd/JaTyXIzFXGCNCJXryWsJkzqqvqyU8ho0Nflk6Igu6/YKqqHmR43awFFD7rZT/w7hKOmxRRcR3shGtM0f79GYj/9Dk1pu9nFgJxNEhZ/9DDJPmtN4CGDpjS91nIhWnzSNlvGbS+pyFNCv4YvF2u7eRt69A0wJRmsGsXPKLbkirUpr8NAXvUkUnNAC35owmpuR1VVB8FNjsJRnQrH/IchrYg81XF/vhWMEY3uKqXRy/Gtu2HvBImOkGKzckoZ6PruR3i6p37KQT60kXh+Znl7cIW/J0HnSC0YoWUbvbq8nV21Yi87R92vCGHPT6yJ+TcLKhMo5xHXahX5Wd6uNbU91Dcg+Z+kjzweMM20pTPwAJzVmAzLowVlyfSSOJjFqba3/brDaFFCyc4VAIG3BzU/THoYmFWNACdR/FqAo/9lQ/0/gLATUe7R+DAecJ3ArBTwPd7Bm9GMqZZD9a6BKo50EM GTHvmeVa mWmBlcAFpLpqtOaSFJHOeQXyaDtj11joqzgXSC/W2bv4bRSsRVwe3rzX3mZiCVNmIJt5dICd2GnFQB/gjfPpLY0VXGY1m34T9uoGRifXl9ex0R3Pv8cqG2o3O2qPFyATAGdEoqGX4EGOII3anpIVwkTJ+yz9rTiBpIgmIQDZBsdPAQH/qUakLW4iyII0AwnAz6S1/82oY+TagVV7ZD3bG7Bc1ennJ9y6ulAXSHWiTTX53+8tHwOBw13y0/8BmFySES9xRuZGO3+5ySALXFENOThnYcvIkNZ8z69sbtdpVhwAK+acToDNM9x75xnv9cd2B2DQm X-Bogosity: Ham, tests=bogofilter, spamicity=0.000113, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Improve the readability by replacing the custom aligning logic with ALIGN_DOWN(). Unlike other places where a similar sequence is used, there is no size parameter that needs to be adjusted, so the standard macro fits. Reviewed-by: Alexander Potapenko Signed-off-by: Ilya Leoshkevich --- mm/kmsan/shadow.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/mm/kmsan/shadow.c b/mm/kmsan/shadow.c index 2d57408c78ae..9c58f081d84f 100644 --- a/mm/kmsan/shadow.c +++ b/mm/kmsan/shadow.c @@ -123,14 +123,12 @@ struct shadow_origin_ptr kmsan_get_shadow_origin_ptr(void *address, u64 size, */ void *kmsan_get_metadata(void *address, bool is_origin) { - u64 addr = (u64)address, pad, off; + u64 addr = (u64)address, off; struct page *page; void *ret; - if (is_origin && !IS_ALIGNED(addr, KMSAN_ORIGIN_SIZE)) { - pad = addr % KMSAN_ORIGIN_SIZE; - addr -= pad; - } + if (is_origin) + addr = ALIGN_DOWN(addr, KMSAN_ORIGIN_SIZE); address = (void *)addr; if (kmsan_internal_is_vmalloc_addr(address) || kmsan_internal_is_module_addr(address)) From patchwork Wed Jun 19 15:43:51 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Leoshkevich X-Patchwork-Id: 13704233 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 258DAC27C53 for ; Wed, 19 Jun 2024 16:26:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A0DA98D0082; Wed, 19 Jun 2024 12:26:37 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9BC958D0066; Wed, 19 Jun 2024 12:26:37 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 835FC8D0082; Wed, 19 Jun 2024 12:26:37 -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 63B3C8D0066 for ; Wed, 19 Jun 2024 12:26:37 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id E5430A13E0 for ; Wed, 19 Jun 2024 16:26:36 +0000 (UTC) X-FDA: 82248166392.14.B955F53 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by imf04.hostedemail.com (Postfix) with ESMTP id AD4A04000F for ; Wed, 19 Jun 2024 16:26:34 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=oaI1BWLm; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf04.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=1718814385; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=MbSV/0QgndyxPpucafkqjoUk93XB7CWZmEyrMAmxEI4=; b=ZIo/5/MV/Wv/OkvdlicQuT8mwtiT/dcw4M43WI1O1b5uS7KwcFW3QxUGzuid0r4N9GCPzy 9zCLa+9HXMHmJahlDGKKG7zBE6cSrTnhLCH/dmUt2L7ByfKyBOIspIwVkrcQGllsa6qgZu 8rLocQx4nLJSsN8DXunjsLadX1FA1yg= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718814385; a=rsa-sha256; cv=none; b=I+UZ0+lN1H0Bqmn8WPXuxOfjUWfLK8EIdIRHD3YGrFGhx73ZjSqcu7yUIO5CcHLtt44rcj 7NaBCAnmrufW4WnsV7QllCWNxbLTlOKE8U2cknFn67+oBf7/hIbskjiaVKamsDpIih9T+v y2XSqm33/u7V7bQRxio8C8nR2Lidjkg= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=oaI1BWLm; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf04.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=iii@linux.ibm.com Received: from pps.filterd (m0353723.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 45JCwmVF011453; Wed, 19 Jun 2024 15:45:47 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from :to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=pp1; bh=MbSV/0QgndyxP pucafkqjoUk93XB7CWZmEyrMAmxEI4=; b=oaI1BWLm0ml9p6BNsoNLQN8Y0RG6j RRGxx2ZL516sQoAicr68GnNOFCbCsnckbNy40YhEe28tjVv01DGqDEhS2a/I3AlM VHLJpqdpvKDzR5mGWWpE3HUMqjbGx0uOMjzdSiE1S8FxrJKpwe+PTqsaUgMtHReQ 9iS2GGn1Sp+mjXlXgPzLc4sbuOFukf4kfmcuwgCUFcmHp7y8e9w4TcIydGW6CNwV zNPbYaNUeHcYn17f7oqYQh6BTR9SZynx2PsYQTo12dkiJsDeP/v/89islMU6A3Bh OalkGLab/QzD7at8/HN3afzzpShW5HAsTwpJW4KGDScuUn6FfFKgKwIqw== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yuyt98h3v-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:47 +0000 (GMT) Received: from m0353723.ppops.net (m0353723.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 45JFjkpC015380; Wed, 19 Jun 2024 15:45:46 GMT Received: from ppma23.wdc07v.mail.ibm.com (5d.69.3da9.ip4.static.sl-reverse.com [169.61.105.93]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yuyt98h3s-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:46 +0000 (GMT) Received: from pps.filterd (ppma23.wdc07v.mail.ibm.com [127.0.0.1]) by ppma23.wdc07v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 45JEEYfH011022; Wed, 19 Jun 2024 15:45:45 GMT Received: from smtprelay06.fra02v.mail.ibm.com ([9.218.2.230]) by ppma23.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3yspsndtn1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:45 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay06.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 45JFjdqf33620576 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jun 2024 15:45:41 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 721292004E; Wed, 19 Jun 2024 15:45:39 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 2345A20067; Wed, 19 Jun 2024 15:45:39 +0000 (GMT) Received: from black.boeblingen.de.ibm.com (unknown [9.155.200.166]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 19 Jun 2024 15:45:39 +0000 (GMT) From: Ilya Leoshkevich To: Alexander Gordeev , Alexander Potapenko , Andrew Morton , Christoph Lameter , David Rientjes , Heiko Carstens , Joonsoo Kim , Marco Elver , Masami Hiramatsu , Pekka Enberg , Steven Rostedt , Vasily Gorbik , Vlastimil Babka Cc: 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 , Ilya Leoshkevich Subject: [PATCH v5 16/37] mm: slub: Let KMSAN access metadata Date: Wed, 19 Jun 2024 17:43:51 +0200 Message-ID: <20240619154530.163232-17-iii@linux.ibm.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240619154530.163232-1-iii@linux.ibm.com> References: <20240619154530.163232-1-iii@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: X1A64wlGihlD-vkt6OPN4QbqSNyzZDYi X-Proofpoint-GUID: QwrJ4a0sDZe-t-98SqnNYovNNBktH9kb 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-19_02,2024-06-19_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 phishscore=0 malwarescore=0 adultscore=0 clxscore=1015 priorityscore=1501 impostorscore=0 lowpriorityscore=0 bulkscore=0 spamscore=0 suspectscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405170001 definitions=main-2406190115 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: AD4A04000F X-Stat-Signature: dh774weur71ox378yu34esiam1izyudw X-Rspam-User: X-HE-Tag: 1718814394-522309 X-HE-Meta: U2FsdGVkX18LFsf0gHSDblpBeU7xSpFAm+7A88qCGymJUP6mPgM+SdGwz86Wt6Ouf3mCjjHbReInBMY+GvrMRKNYtiqZ1mcwTbM69tNuUO70xQr5fSEB0wACGxk3bkrB7VUZA2cq8GsL5EjEYKli//6bdPdLUx/EigLLOGyFk9e/9BCOccFaCDcFVaekAEtdLsuytWxdBDdfPjJc8Qu6pjw1v1BdopPQPt3ssEWMNgao1q7QaJtJII+FowppatlLbbVdfXbeCtZ8iA612g9xp3fTvij4cabG+9AfA5DthSPK+aJo2pKs317Z3RW71W3I93ZyxBN4qhbegTZ0V1NocxYwN6404srz6g6MyMVJnjK2t6yG49JNjlbZSzZ6i4eMYKT2ygQjTK1IC/Dzf9pFHUjuGwTG4VYaY7eAGsoZRnkEBimz2fnkAz/fiYHA/V3UD2NKzD4Y7pDH9q3JR3QCRHBCesLKwn2V6RvmITo4DZl9YlCKsubZ/0mvOVMl0t4lBJQvGcCEs6rnifFH5Q4HfnGedis2OTGglEXxkONMoTW48s8kNcwE6R91IlJB9kXLjcImsi9FsxVcAdJtiP/0/QSv4Q2ey/z2MMrs7hSQVyMGoUT2Be0tiPdwSSPi1LYc5JBmDiD8d33CQhZNDQkHigA6XxhWhVNn2GCLTf3gvrD8pgpgz261TWR12NUuASIJ6tq1+Wc8x7kIXtLYUDfYRnJo62KqYQeBXezJZ4vE/Drz18Z4n4zXmeLemM4+xtY38AdTUrb0a/W/wb4KYxSOHA1jgVSkzwsNdKn/yfhoaOHRlrtMTIgdGieLcWTl2MUUpjK5e9jcVtN9nkCav3AqSklNtSD3jEqK5riRf2ZZLiENf+E3y05Ulm/aCw9fmS0FwZfOg582ZVdE3Qluk5jU2udmXD9DOuZ6jQOsFJRsrsz/2jbWcwwCwXnZf6uogf2eF2nzOfxfCq7QiTSzi0A QTgQlCQz sdlxNfOLW4obdGkRZfKGWRdn85uTTnsBh3kE4j3hrIfyL23Wek2LwZrzSGqrw5L1aCF4uxvPRCnFNDFrEtzIwzTFXCE2Ay1D1CWN3qQtZ2jOr2H9WrBOKICnd91/TmA8e4fKr51l7p8fuColovJxomaBAH3D+gxmuuEIUIEhsJYqKZMaq7RUeFE8VdXaKW4/Q3e/u8AxrwBoWfJE6Mz0pvz/wRtyN8D2TkwsCTlDhUlrs4q8rYdhHG6A77JpLJ7s8sVMV1TxbNQkhbvZWK0nhnGzLOQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000006, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Building the kernel with CONFIG_SLUB_DEBUG and CONFIG_KMSAN causes KMSAN to complain about touching redzones in kfree(). Fix by extending the existing KASAN-related metadata_access_enable() and metadata_access_disable() functions to KMSAN. Acked-by: Vlastimil Babka Reviewed-by: Alexander Potapenko Signed-off-by: Ilya Leoshkevich --- mm/slub.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mm/slub.c b/mm/slub.c index 1134091abac5..b050e528112c 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -829,10 +829,12 @@ static int disable_higher_order_debug; static inline void metadata_access_enable(void) { kasan_disable_current(); + kmsan_disable_current(); } static inline void metadata_access_disable(void) { + kmsan_enable_current(); kasan_enable_current(); } From patchwork Wed Jun 19 15:43:52 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Leoshkevich X-Patchwork-Id: 13704129 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 1977AC27C53 for ; Wed, 19 Jun 2024 15:46:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2EA9D6B02C9; Wed, 19 Jun 2024 11:45:58 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 299976B02CE; Wed, 19 Jun 2024 11:45:58 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 09E8D6B02D0; Wed, 19 Jun 2024 11:45:57 -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 D2A386B02C9 for ; Wed, 19 Jun 2024 11:45:57 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 7A31CA4065 for ; Wed, 19 Jun 2024 15:45:57 +0000 (UTC) X-FDA: 82248063954.18.3DD07A5 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by imf07.hostedemail.com (Postfix) with ESMTP id 1A30F40018 for ; Wed, 19 Jun 2024 15:45:54 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=SynliYum; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf07.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=iii@linux.ibm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718811948; a=rsa-sha256; cv=none; b=MYXHn2aXEt+Kn01RRz/26x1PlsykRVVdt0YI5qxkD8t9pDAZdyM556Vevu5Mz9gcRuZNhq 2voMGZA7MN28CJpKTVMNbsqk++ii3Hy+52dRpAKamXjqymDFqs/mYXAC4iktEJXoIuteYk L52bmaZFTsa06F4sMhy1BLqgqc9LZu0= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=SynliYum; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf07.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.156.1 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=1718811948; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=sjJ2GTGv7V5yiCtYJlQAhchvuDeCI6GGTrnLDfTIbQA=; b=JETNfU1wkkea4p+sEWRS3kpooTVaj+nb1dLcbQOC+DSrIilHfoNL5AzlACjM/56BeVBSHP HZENxsuOg6GliBJn2yihYXoqWHfWCYosHkPz2FevZI1xIzBmraHKmgDU8kFeVpXTnylIIe mSmPYSM8H2zzR5WwhpCpZUo14/gA8YQ= Received: from pps.filterd (m0353729.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 45JFSRAB028320; Wed, 19 Jun 2024 15:45:47 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from :to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=pp1; bh=sjJ2GTGv7V5yi CtYJlQAhchvuDeCI6GGTrnLDfTIbQA=; b=SynliYumLzy2hFtNphtbUAwTEO5T9 uvf9I9BZ1YXbwpGKZBrAA6v9A2f0aUZoU/OshJAqxfDyPX5CtH52TxZTG7kJ3QQQ rl3aVnIk57SlALUR6eHmgYN+VUDBl0M+jDnbY46Jyot9jE/4aV+0kvbX1zwpVlwt 5RM/1l6NcEKcZkuZ9sU7gHSoxVpA7V8YXq1A5hm6LLJ+ZKsr00BEHsAXcObRf9Ir WjlPR39oEh6jChZEOhhpvpOunCKGHpRidMqqjD46Tml11nA31veDgDiYNYT0eUyI Kp/PIxicr8wsKl1+qGUW8vty7eE+EgkYT6DH18WH9L1fqoxrMLrUekRow== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv20g81kd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:47 +0000 (GMT) Received: from m0353729.ppops.net (m0353729.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 45JFina0020883; Wed, 19 Jun 2024 15:45:46 GMT Received: from ppma13.dal12v.mail.ibm.com (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv20g81k7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:46 +0000 (GMT) Received: from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1]) by ppma13.dal12v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 45JEsEuA009411; Wed, 19 Jun 2024 15:45:45 GMT Received: from smtprelay06.fra02v.mail.ibm.com ([9.218.2.230]) by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 3ysqgmwmmx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:45 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay06.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 45JFjdck35258910 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jun 2024 15:45:41 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id C685620040; Wed, 19 Jun 2024 15:45:39 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 77BEE20065; Wed, 19 Jun 2024 15:45:39 +0000 (GMT) Received: from black.boeblingen.de.ibm.com (unknown [9.155.200.166]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 19 Jun 2024 15:45:39 +0000 (GMT) From: Ilya Leoshkevich To: Alexander Gordeev , Alexander Potapenko , Andrew Morton , Christoph Lameter , David Rientjes , Heiko Carstens , Joonsoo Kim , Marco Elver , Masami Hiramatsu , Pekka Enberg , Steven Rostedt , Vasily Gorbik , Vlastimil Babka Cc: 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 , Ilya Leoshkevich Subject: [PATCH v5 17/37] mm: slub: Disable KMSAN when checking the padding bytes Date: Wed, 19 Jun 2024 17:43:52 +0200 Message-ID: <20240619154530.163232-18-iii@linux.ibm.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240619154530.163232-1-iii@linux.ibm.com> References: <20240619154530.163232-1-iii@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: CpSafJOwnnqLI12HaB96v_EEXsdBrBUE X-Proofpoint-ORIG-GUID: 94rzP1_ZD6iOjx-buxAnf6OZgFWnBex1 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-19_02,2024-06-19_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 bulkscore=0 suspectscore=0 malwarescore=0 spamscore=0 impostorscore=0 phishscore=0 clxscore=1015 mlxlogscore=999 priorityscore=1501 adultscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405170001 definitions=main-2406190115 X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 1A30F40018 X-Stat-Signature: whozgm4m1a4ag95jod3rhj6fqxfy191d X-Rspam-User: X-HE-Tag: 1718811954-784363 X-HE-Meta: U2FsdGVkX1/Ho2XlSEPqGCwETSlkWoXwaSgY2ZaqVxB78RO+J/hSCWwU1gqYOK7KcgJfEAXECsKt6iIsymsrmYPE15dsDUkD6XyURk7AOk6lV7tnahc3JaF2B8iXPr9Ldh2eVcex5lheJ1jkRuIHu3cyoqbR9/xhffGLrDMkrNoUqQ2Ij4GPjcPCEedGyqTNVUNmPUxlvm69CcZBsexOVY122UpjqPy5TjanGKiDmwloL5AcnqQK7P71BLCjVBZ/tLfQLGStr8qk147z99XuiZlXRMIEPsXCNlzOLvxz3nnH6akx6s7atEsRHjqhGyRAUuTD1vly2et3GkjIXhtIaDvpD7A2TFS+mMEfabwbKtLws1bs/Az1EwDvkSK7QkOw6GwWJhAO+/g2lnumDo1HnBi6kLDZlxQYQtNFJ2lgYRgWKoZqDFkj5ZjiW3fY7M/PNh+nOH5Z8zVeXBHuVx8DqH5vbtu/9lFV6hq4zDAQgw8gVtv6Rc2mmXDU8eyvsilYpOZRiExkqhxpO5w6K/jks2xCZ1jlpbUsTKsd2yprGQbRfMtQNV3DywTn0DqjQ6ym2LZvpEUf0fao6WlJU1KGItIWz+tvWYxjpv5dg7cKqbC8xbltgaTxPsPD3YVLjJL3yRWj0v/1JYt0wZw95sv9yp0xbNbLE368MyVdlEjXa+3oHS1kbEHYmFFAdHtbZDCZ1eJDbvNQZ6+YTf80U16Y83svpdiRLSvtAHKs4sGxPtFYgcHgkelEHctQpZX9urB6R5aP0+UXf5KlzLIt9O0ndU/86hI/n6ffrhxSJecda8Hw8ubkO0vRLKGH2rDX2zH2CkbF72Lyh527mZoqep8uE8f/ggbCwmb84yQmBPshOD9DYmUy06U24MHgTA44sXstCnhi8yEQ+23OKpRzgfSEDimE8bpusbxU+LvWzmGQj41KJF6wfnW958XitoylZrnyYvp2uDJiGY9yQ7qWmwI 0uhDLwhH 91SjnX0kb+/deZQ3DO0n0vujfEyJUXlIg1x0KNHVCkjN1Wq6/ZEb9xk3OAwNqiy+8K7RYql7gSEs6klYeCybAgLfi0OHJCyZv2c3kCJmuoFuq0j/VC1EKtTX+3mwKXXj/F6AE63sRDUoljBHcTmI5C57Hcp0i1lP7DtAAdkrMbY/lUqxhh93h3P+IBWJawWz+chRYvp4eXspVEwTbJIIGQrqyBoG6R5I6HqOsNMR5xvb80wJu4yzjcZ+t+pYbGz5IeBw4fwNksbd5MFj1UdjKO3mQ6ZGSf3QHcftIuGhFEcDy2ZFi+5PXtZk+zlV8m90paMU0IQi3TlG4XypMbqpUY3Tczg== 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: Even though the KMSAN warnings generated by memchr_inv() are suppressed by metadata_access_enable(), its return value may still be poisoned. The reason is that the last iteration of memchr_inv() returns `*start != value ? start : NULL`, where *start is poisoned. Because of this, somewhat counterintuitively, the shadow value computed by visitSelectInst() is equal to `(uintptr_t)start`. One possibility to fix this, since the intention behind guarding memchr_inv() behind metadata_access_enable() is to touch poisoned metadata without triggering KMSAN, is to unpoison its return value. However, this approach is too fragile. So simply disable the KMSAN checks in the respective functions. Signed-off-by: Ilya Leoshkevich Reviewed-by: Alexander Potapenko --- mm/slub.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/mm/slub.c b/mm/slub.c index b050e528112c..fcd68fcea4ab 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -1176,9 +1176,16 @@ static void restore_bytes(struct kmem_cache *s, char *message, u8 data, memset(from, data, to - from); } -static int check_bytes_and_report(struct kmem_cache *s, struct slab *slab, - u8 *object, char *what, - u8 *start, unsigned int value, unsigned int bytes) +#ifdef CONFIG_KMSAN +#define pad_check_attributes noinline __no_kmsan_checks +#else +#define pad_check_attributes +#endif + +static pad_check_attributes int +check_bytes_and_report(struct kmem_cache *s, struct slab *slab, + u8 *object, char *what, + u8 *start, unsigned int value, unsigned int bytes) { u8 *fault; u8 *end; @@ -1270,7 +1277,8 @@ static int check_pad_bytes(struct kmem_cache *s, struct slab *slab, u8 *p) } /* Check the pad bytes at the end of a slab page */ -static void slab_pad_check(struct kmem_cache *s, struct slab *slab) +static pad_check_attributes void +slab_pad_check(struct kmem_cache *s, struct slab *slab) { u8 *start; u8 *fault; From patchwork Wed Jun 19 15:43:53 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Leoshkevich X-Patchwork-Id: 13704133 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 490A6C27C53 for ; Wed, 19 Jun 2024 15:46:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B73D06B02D8; Wed, 19 Jun 2024 11:45:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AAFEC6B02DA; Wed, 19 Jun 2024 11:45:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 88C066B02DE; Wed, 19 Jun 2024 11:45:59 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 596F96B02D8 for ; Wed, 19 Jun 2024 11:45:59 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id D23AD81315 for ; Wed, 19 Jun 2024 15:45:58 +0000 (UTC) X-FDA: 82248063996.02.1F4A214 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by imf27.hostedemail.com (Postfix) with ESMTP id 836A340025 for ; Wed, 19 Jun 2024 15:45:56 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=H2rwcfpx; spf=pass (imf27.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=iii@linux.ibm.com; dmarc=pass (policy=none) header.from=ibm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718811952; a=rsa-sha256; cv=none; b=7y4sm39MU0tjFzSIHk+qPq0ULc3L6NhTfdAtXY1gJ9mTtF8u82SudQrFxac0HQunvjVmM2 LLjdO4Vkfu51jh4x+zbtRhV52gqiw9/KEoCWOSwuPW56xGRcQorDSFomD0Nopno6n+LPnQ g4087DT5fd4taPeW8pRITp9ttDZOBME= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=H2rwcfpx; spf=pass (imf27.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.156.1 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=1718811952; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=o5OLh1G5igJ7wfCkEas83RRSlonR9xfZGMUuvDY/DE0=; b=B6ux6Duer+6hRb7jFBwKOfRCQ8w/RoXPktHRYzSdn47rpFdc/eIaCqeyxpvBFdzD1iHplc zBBqeWFBht3j4svGm1IZwLp8x2OM/2kNoJVulrowjIQk2Z5SPvvx0Eh5NdNNLSdKd4qP5R L6pWgPEtS+BICODK5CiRiL3wtOkOgvQ= Received: from pps.filterd (m0353726.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 45JF032v027848; Wed, 19 Jun 2024 15:45:48 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from :to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=pp1; bh=o5OLh1G5igJ7w fCkEas83RRSlonR9xfZGMUuvDY/DE0=; b=H2rwcfpxAjXz8AKG0XHn5V9sdNpG/ 16BQyY3fL/cc50vYDqVZdKMEBTo2UmzzahsvlY8JAiKCbNqJv4S/DReZnbLb3am4 K/Nh3TJp3JdvVZ2/CMV4M10lWBMXe4RhCOSv6e1ud/8bZlQ68F6Lrheg2axOIEDa QoQbyKGdI4fV1AX5TQSAyOFleJYhJnUM8bCHaiQ/rUgUTVKYnX0YAo0Mws32sEGB NtCL1f6XpmStp3EFCMPt10Z4UfRtUGHORhntuEJtbW0bYJ6Y0nASHnz8AFoIBYn/ SjX36E6mqng9FafMvWvCgJy9n51Q3cBWl6h8emiXr35PRl0T4R0ReVrOA== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv1jfr5bp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:48 +0000 (GMT) Received: from m0353726.ppops.net (m0353726.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 45JFjlSu005782; Wed, 19 Jun 2024 15:45:47 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 3yv1jfr5bf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:47 +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 45JFhSXR023897; Wed, 19 Jun 2024 15:45:46 GMT Received: from smtprelay02.fra02v.mail.ibm.com ([9.218.2.226]) by ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3ysp9qdyqb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:46 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay02.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 45JFjeu751904966 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jun 2024 15:45:42 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 2661D2004B; Wed, 19 Jun 2024 15:45:40 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id CC37320067; Wed, 19 Jun 2024 15:45:39 +0000 (GMT) Received: from black.boeblingen.de.ibm.com (unknown [9.155.200.166]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 19 Jun 2024 15:45:39 +0000 (GMT) From: Ilya Leoshkevich To: Alexander Gordeev , Alexander Potapenko , Andrew Morton , Christoph Lameter , David Rientjes , Heiko Carstens , Joonsoo Kim , Marco Elver , Masami Hiramatsu , Pekka Enberg , Steven Rostedt , Vasily Gorbik , Vlastimil Babka Cc: 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 , Ilya Leoshkevich Subject: [PATCH v5 18/37] mm: kfence: Disable KMSAN when checking the canary Date: Wed, 19 Jun 2024 17:43:53 +0200 Message-ID: <20240619154530.163232-19-iii@linux.ibm.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240619154530.163232-1-iii@linux.ibm.com> References: <20240619154530.163232-1-iii@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: avgexdB5NelKVCyWQvNp9eWkYSYTUZuK X-Proofpoint-ORIG-GUID: TdCHS1L2YRGuiuvHwsDX16Cd7IpCg-Qt 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-19_02,2024-06-19_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 mlxscore=0 lowpriorityscore=0 phishscore=0 clxscore=1015 bulkscore=0 malwarescore=0 mlxlogscore=999 suspectscore=0 priorityscore=1501 spamscore=0 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405170001 definitions=main-2406190115 X-Stat-Signature: y9wa4p3sg6bwysqejaokg7b49b68wef8 X-Rspamd-Queue-Id: 836A340025 X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1718811956-602694 X-HE-Meta: U2FsdGVkX19pFhHAvBihvs1N0QiLrFq8OlSDPfDC0SOyKpaACmpBzPtoI+QijBnybC9PzbTtaIxiee4Y3J+bYjJBqcSlw0I+t1nJNke7E8kDdBzOyn3Ws3QCvtzyBRqcuWLCpI+znMp4qsrUARUL0Qx94wDafXRtH7YZEvfYkktq53k/i6Ukd16Ji0272F6TV+KUrF8/C2mrsXRmEZ15KPDEr1Tp8pT/ivj3jA3WNrSMSsN500QXWg79lIBTpW2nSFQ/HYhbfqFmmIrti0FWOn6C1A0AYdKx0QxcC7oWuSWiXdgGPOg0qbGJH+lwLV+u070/g945kkF8NNtngTiKepO29mMpFvPdVA+m7F9afbzwi8i4VGCGmxu9ybcSnZx7JbjeFcV3v8CqWcmMOro8yNFSPrLaAmW/ZC0JE85dUDQnmn86M9zrv4VcdH8ImvMPtbQFat5BRWvW9TmBD+GH7Nm+efQ7kP49t3HI5XZY6lR5REljveSdO/v7/FZdRBOldN4RQYLLmtXgQyPiKeKflPTvHBnRRKbAd/MBBf9KBTIsZQJJyKAo042lo2UT31h/oSu6PY5mhZkBMP1gita+rIcyi3wamAcP38P1IlXeegfvb50YTalbNHrMwviwIdLzJBS8yepI1cd9Fcn3RWunxH1EWPs+G4aFr7diiuom5a6gmD6PufYv5Vy9BgWVkfLBxfz2eACOGyIOY84ojmCWaljRw884WqT6tBYdjzi7fWcqLJ0DvP0c7UuHihPxz9dyszVNUNeeO8i5hWQkPqiMjLj3QtOjgkAikQqRBi2/y9R3/OPULPNeAGvc4P1SOxbPsfOgnW6jkxvKjaLprSKK/VR2zm2Sy8YO7C6br3qwl/4CQzMVsFELLqnsZvrmnTH4TwwkSquyfZvd7zaVFq4vhw5UYlabL633SLiKHKsHdAnB5h6pBqHg5Azblwy+/viym1eArpCcj/rANMo4AEg /Z482ifw nzeeWTfddjSMvN9WP7ugzW8PHrx3z0bG6XmYaWG0wQeeVCxcLF0PS+Z8/2d8HBr7oQvlRnIpP2/ceQtKvmNkEWh8KuUYwgIS5jAMAP/fU99Kq9Xya8yL7VNKijqP3kCEqHUJmoVhxfW+x3+ig6lEtPmoQrQ7fMrd95u2/GkzdUgmqnS9W1HLiZcoz+74DNbowvpxOsL89ows5QcSgToOZa9ht5jrsF2+eFdYgFdXomCkZnN6aK+nWmz/vD7Tx2KG0WzSmrFUyyW9VK5lxP1mVdEr2Xg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000025, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: KMSAN warns about check_canary() accessing the canary. The reason is that, even though set_canary() is properly instrumented and sets shadow, slub explicitly poisons the canary's address range afterwards. Unpoisoning the canary is not the right thing to do: only check_canary() is supposed to ever touch it. Instead, disable KMSAN checks around canary read accesses. Reviewed-by: Alexander Potapenko Tested-by: Alexander Potapenko Signed-off-by: Ilya Leoshkevich --- mm/kfence/core.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/mm/kfence/core.c b/mm/kfence/core.c index 964b8482275b..83f8e78827c0 100644 --- a/mm/kfence/core.c +++ b/mm/kfence/core.c @@ -305,8 +305,14 @@ metadata_update_state(struct kfence_metadata *meta, enum kfence_object_state nex WRITE_ONCE(meta->state, next); } +#ifdef CONFIG_KMSAN +#define check_canary_attributes noinline __no_kmsan_checks +#else +#define check_canary_attributes inline +#endif + /* Check canary byte at @addr. */ -static inline bool check_canary_byte(u8 *addr) +static check_canary_attributes bool check_canary_byte(u8 *addr) { struct kfence_metadata *meta; unsigned long flags; @@ -341,7 +347,8 @@ static inline void set_canary(const struct kfence_metadata *meta) *((u64 *)addr) = KFENCE_CANARY_PATTERN_U64; } -static inline void check_canary(const struct kfence_metadata *meta) +static check_canary_attributes void +check_canary(const struct kfence_metadata *meta) { const unsigned long pageaddr = ALIGN_DOWN(meta->addr, PAGE_SIZE); unsigned long addr = pageaddr; From patchwork Wed Jun 19 15:43:54 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Leoshkevich X-Patchwork-Id: 13704224 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 BF415C27C53 for ; Wed, 19 Jun 2024 16:19:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6D3466B0182; Wed, 19 Jun 2024 12:19:15 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 570D76B03A5; Wed, 19 Jun 2024 12:19:15 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 28CAE6B03A6; Wed, 19 Jun 2024 12:19:15 -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 054866B03A4 for ; Wed, 19 Jun 2024 12:19:14 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id A086F1C086B for ; Wed, 19 Jun 2024 16:19:14 +0000 (UTC) X-FDA: 82248147828.14.F3F85AD Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by imf08.hostedemail.com (Postfix) with ESMTP id 4686C160024 for ; Wed, 19 Jun 2024 16:19:12 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=UdmUX2rS; spf=pass (imf08.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.156.1 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=1718813944; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=pcK1rMwKAY+PK8Ytyz/2vRX/RRHh9XTkiYTIv46ktrM=; b=6VbhKW4/JlLlDUdh+z2VD+4xUKXf06nTck1w/gjoiArFXQGzoWn46rSPTwfqZhYwNOERmY 8Yl2jUHHKpCfRTBLckG6SUBixfr4qgDKEnTwoiZAI4vfvhFRKUS5D4t6ubS27T3BJFGayj VOOeKjXBjGyOCavfEwgV0E022RIppQ0= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718813944; a=rsa-sha256; cv=none; b=46+kp7LFJoXvizpYnJ9iGglc8nbNzv+QuMxYocLQN5oOtFG9DEYw6+S78zhsWOe5VBIPYG 6ofQ8f+qJ5vDKYXhvm6dFd3YAgtJ04ohOKoeaHgFDlfI06JWumiDk3qkjcDLhGv6HT6/Cx DSGhgll15FGRbYKoAAS8QB4O33PPTW8= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=UdmUX2rS; spf=pass (imf08.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=iii@linux.ibm.com; dmarc=pass (policy=none) header.from=ibm.com Received: from pps.filterd (m0353729.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 45JFSHmo028054; Wed, 19 Jun 2024 15:45:48 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from :to:cc:subject:date:message-id:in-reply-to:references :content-transfer-encoding:mime-version; s=pp1; bh=pcK1rMwKAY+PK 8Ytyz/2vRX/RRHh9XTkiYTIv46ktrM=; b=UdmUX2rSpKmHMqb23d3wqtyA4QhXm tzewLx/jNvZc4YOljvmcEKgMsDjI746+/DBYF2f+7qQ5dnSKydMAN+omjAUzBkoT B+UUTonE/Ay+8NaWALbBUbJLgjxVSwaQ5yr5Y11761JyDlPeoEg0AaFFDphzKFfK FcDJvO9N1Bc91Zk7SNcJ3kuCgPgkzLmqNGUfTjrvVNuVAuhbGo3KDnYd05x0F4Gi SoV4+Z/R2TyNm9N/aofoRRBVfW1fw5/Z7MsLAQ7rUSYWt0IBO7Y85/eKl/zGLvJo nmxkSWTwZBwRrckRvDuRVknN/BnATEgPwyhtuDZj3g1RyAHlaOK2eGMcA== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv20g81kg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:47 +0000 (GMT) Received: from m0353729.ppops.net (m0353729.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 45JFjl9B023058; Wed, 19 Jun 2024 15:45:47 GMT Received: from ppma12.dal12v.mail.ibm.com (dc.9e.1632.ip4.static.sl-reverse.com [50.22.158.220]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv20g81k9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:46 +0000 (GMT) Received: from pps.filterd (ppma12.dal12v.mail.ibm.com [127.0.0.1]) by ppma12.dal12v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 45JF4DXW006227; Wed, 19 Jun 2024 15:45:46 GMT Received: from smtprelay02.fra02v.mail.ibm.com ([9.218.2.226]) by ppma12.dal12v.mail.ibm.com (PPS) with ESMTPS id 3ysn9ux8mt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:45 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay02.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 45JFjeaP54788530 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jun 2024 15:45:42 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 7B54C2004D; Wed, 19 Jun 2024 15:45:40 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 2C0B320065; Wed, 19 Jun 2024 15:45:40 +0000 (GMT) Received: from black.boeblingen.de.ibm.com (unknown [9.155.200.166]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 19 Jun 2024 15:45:40 +0000 (GMT) From: Ilya Leoshkevich To: Alexander Gordeev , Alexander Potapenko , Andrew Morton , Christoph Lameter , David Rientjes , Heiko Carstens , Joonsoo Kim , Marco Elver , Masami Hiramatsu , Pekka Enberg , Steven Rostedt , Vasily Gorbik , Vlastimil Babka Cc: 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 , Ilya Leoshkevich Subject: [PATCH v5 19/37] lib/zlib: Unpoison DFLTCC output buffers Date: Wed, 19 Jun 2024 17:43:54 +0200 Message-ID: <20240619154530.163232-20-iii@linux.ibm.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240619154530.163232-1-iii@linux.ibm.com> References: <20240619154530.163232-1-iii@linux.ibm.com> X-TM-AS-GCONF: 00 X-Proofpoint-GUID: fNSA7rxQcjUO_BxsfnhTGdmZOWmRr0mq X-Proofpoint-ORIG-GUID: 7QNT392Ow3-clchJoP3ZfMKSmByGf6eo X-Proofpoint-UnRewURL: 0 URL was un-rewritten MIME-Version: 1.0 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-19_02,2024-06-19_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 bulkscore=0 suspectscore=0 malwarescore=0 spamscore=0 impostorscore=0 phishscore=0 clxscore=1015 mlxlogscore=999 priorityscore=1501 adultscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405170001 definitions=main-2406190115 X-Stat-Signature: war7gu1r896554j5kwafizn8s4upus57 X-Rspamd-Queue-Id: 4686C160024 X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1718813952-547406 X-HE-Meta: U2FsdGVkX1+MMlRWkFVjMeIECIxh/5BTUmOOYf1n+wxtvE6DFZr7s+UDs91yS0LH2PPw4u52Ip85xuADM4tjWZa4NvgXwpxc7h4vev/JM3V4tuubhGbQxZnWEj4H+G2I1nuiYNpztT9drbZXEB0/PLYlldwCuOE3wF5+QT2abhrhysmUX1FKLQAdpieB3qQDnJFOoud0JTa3SCDJeIVo5HeKK/GD9TvcmewZG/7RTPhn6hMvWN82lCZG8EK3GjucPk9b0/NJpujYBzbshjhNg1BSUtAklz3qmhI0SxeA67cDTFccXtk6OHOSdMqizi3rCbPy23Q4B91kb4vVBfyJ7l+mG9LJQiZZB2o5voYP/tbLANhJyORGqYr7u+gxQX+Yl5Yeu/KCqtJ5Dcg36Oe05rZEopXBlrVGTDQ85zSAemv4MXEM7mWwoaIDLHd4MWGysykUwKS6j1NPdEU8Twg1Aih0L4AqUhogGdZAX6bhGwuSELzycPDGjTz9NqNbqwsMLKWzNphXymPHgOxIF92lo0jd+WnOYmcrt746PxP2HEC40qNV2R0Vehz/kG17VsIqqNC/hG/4KFn1VaCnL4l1TIvxEoMdIk1RUntJc8G+rvL6eVcUXOFmy51RHt8x17c0ZW26TOWXtfU+pfiSLU6dRTh51QCwgbNCi6DCMnLGrMoV5LZt4R3BdnlvNfBuI//wpzpfZEx5LRbxkeeS/HIXkt25KhaW7KGicwUm0Ns9mB+JsXFrT+pp0zmxuWGs8Wjms0rWs+Bzsyj7PMUONOOedXahphtFwyjhAnMUS5FUhA3FhHsfESjbm8OVRgK7BbQtA/iyoCi79NXhWdlDHOC8dQv+HukvU+3P5Q1TcRY4htbUEE7VomUc7hU0lU8p0njgYdPo4pAjZXFgIp4KWw9C7l0XrsKlAYT7mlKvk/hH7ad2DEiYNXHAMWH4YdjpRwzgFuVzZeX/gLa84t33M6S HXGucLO3 UuNyRNocTxm15GS0dEd6lcU++cr9hxB5umAXfifdj1V6/u+MpnsKgfDfZojSPCDLwWFpotgziMdc73oUyLI4sgxR3C7Hp6YWdi7ThPg0GS4naZPTBxIsyP3tg2qkLXy08KpEXfv/3FB3Bi5l/eSopFOq6kkrr1ODowi+w8UF9fwq99rELxhwhspqMfzUp1Hk2fjKD5Y7+uxW4fBow1lNsUfXflua4xFeOr6Fe7lfPZk3/ESblzknb0xtDz8FbDPuicFp7WiVv2L5ijA4OgYELIDQDwKXMU7fImcxXa6hwoisq7z6GlRVm6xt6Rze7w9RYQrDDEAw/mX3YndLn6sQIC/KNhNOrbVsomAzBbI6voUbalOBsnS1YFXKENC4tsHMdmDzP 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: The constraints of the DFLTCC inline assembly are not precise: they do not communicate the size of the output buffers to the compiler, so it cannot automatically instrument it. Add the manual kmsan_unpoison_memory() calls for the output buffers. The logic is the same as in [1]. [1] https://github.com/zlib-ng/zlib-ng/commit/1f5ddcc009ac3511e99fc88736a9e1a6381168c5 Reported-by: Alexander Gordeev Reviewed-by: Alexander Potapenko Signed-off-by: Ilya Leoshkevich --- lib/zlib_dfltcc/dfltcc.h | 1 + lib/zlib_dfltcc/dfltcc_util.h | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/lib/zlib_dfltcc/dfltcc.h b/lib/zlib_dfltcc/dfltcc.h index b96232bdd44d..0f2a16d7a48a 100644 --- a/lib/zlib_dfltcc/dfltcc.h +++ b/lib/zlib_dfltcc/dfltcc.h @@ -80,6 +80,7 @@ struct dfltcc_param_v0 { uint8_t csb[1152]; }; +static_assert(offsetof(struct dfltcc_param_v0, csb) == 384); static_assert(sizeof(struct dfltcc_param_v0) == 1536); #define CVT_CRC32 0 diff --git a/lib/zlib_dfltcc/dfltcc_util.h b/lib/zlib_dfltcc/dfltcc_util.h index 4a46b5009f0d..10509270d822 100644 --- a/lib/zlib_dfltcc/dfltcc_util.h +++ b/lib/zlib_dfltcc/dfltcc_util.h @@ -2,6 +2,8 @@ #ifndef DFLTCC_UTIL_H #define DFLTCC_UTIL_H +#include "dfltcc.h" +#include #include /* @@ -20,6 +22,7 @@ typedef enum { #define DFLTCC_CMPR 2 #define DFLTCC_XPND 4 #define HBT_CIRCULAR (1 << 7) +#define DFLTCC_FN_MASK ((1 << 7) - 1) #define HB_BITS 15 #define HB_SIZE (1 << HB_BITS) @@ -34,6 +37,7 @@ static inline dfltcc_cc dfltcc( ) { Byte *t2 = op1 ? *op1 : NULL; + unsigned char *orig_t2 = t2; size_t t3 = len1 ? *len1 : 0; const Byte *t4 = op2 ? *op2 : NULL; size_t t5 = len2 ? *len2 : 0; @@ -59,6 +63,30 @@ static inline dfltcc_cc dfltcc( : "cc", "memory"); t2 = r2; t3 = r3; t4 = r4; t5 = r5; + /* + * Unpoison the parameter block and the output buffer. + * This is a no-op in non-KMSAN builds. + */ + switch (fn & DFLTCC_FN_MASK) { + case DFLTCC_QAF: + kmsan_unpoison_memory(param, sizeof(struct dfltcc_qaf_param)); + break; + case DFLTCC_GDHT: + kmsan_unpoison_memory(param, offsetof(struct dfltcc_param_v0, csb)); + break; + case DFLTCC_CMPR: + kmsan_unpoison_memory(param, sizeof(struct dfltcc_param_v0)); + kmsan_unpoison_memory( + orig_t2, + t2 - orig_t2 + + (((struct dfltcc_param_v0 *)param)->sbb == 0 ? 0 : 1)); + break; + case DFLTCC_XPND: + kmsan_unpoison_memory(param, sizeof(struct dfltcc_param_v0)); + kmsan_unpoison_memory(orig_t2, t2 - orig_t2); + break; + } + if (op1) *op1 = t2; if (len1) From patchwork Wed Jun 19 15:43:55 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Leoshkevich X-Patchwork-Id: 13704131 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 85AECC27C53 for ; Wed, 19 Jun 2024 15:46:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B9BF96B02CE; Wed, 19 Jun 2024 11:45:58 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B000F6B02CF; Wed, 19 Jun 2024 11:45:58 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8DB076B02D7; Wed, 19 Jun 2024 11:45:58 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 58BF16B02CF for ; Wed, 19 Jun 2024 11:45:58 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 03C341A07D7 for ; Wed, 19 Jun 2024 15:45:58 +0000 (UTC) X-FDA: 82248063996.22.8F1EAE9 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by imf12.hostedemail.com (Postfix) with ESMTP id B5A0140020 for ; Wed, 19 Jun 2024 15:45:55 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=mNNtOrw3; spf=pass (imf12.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.156.1 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=1718811952; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=eOJVqKOJuZasA86pPY8j/wtn7XC9Zj2RO1nXjWn3Mgo=; b=XtFOA1kZRGO0Q5TaubOvj78Adwwb3jakly4PkQdHufoPvt67RNA6eamO5zWl11rlpuLKQk UWA591q3VmpVYWxE46Quiep71a1nC8CJiRyIFSGnQ4C8F7zKKMVOtOFi7hghr/IQkLGr1+ FLu0jsnk+q1BNZxH9Swp6KqE89sDbxM= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=mNNtOrw3; spf=pass (imf12.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=iii@linux.ibm.com; dmarc=pass (policy=none) header.from=ibm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718811952; a=rsa-sha256; cv=none; b=Bvf3ajG/7ZtjXIZKlqkR/LZOlytWxBI0yfSJ//vtBdKok1CutfalmSb7x1hlVrZ7SwdTuH 4eUCvqTPxGw7qKxo1/YqgTVBhMd7mqq0JcnaKsBXRfpcpjOUp/GIVzESO/AO//V9swr2v2 3JfF2CXYOZxYZnPfzVklgYaErD0ReT0= Received: from pps.filterd (m0356517.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 45JFQuTe018094; Wed, 19 Jun 2024 15:45:48 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from :to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=pp1; bh=eOJVqKOJuZasA 86pPY8j/wtn7XC9Zj2RO1nXjWn3Mgo=; b=mNNtOrw3A8QMki60SWVnRf/+LtcN/ VmQ3kHRWBg4LceGBIHpme8YPyuDLra6JnxSbhTYurZn6BNuseDbRCkl9cDnOnXWl EuK18jCbIeL3YSUl2s2tgdeQEn34oYqG+vfYGWB/YxtNLm9OQJ0cP8J5N36QM2jP RXQB6VHBMAImFNq69VqNvPIw0QGdTD1IqReZ32/zaoXwS1Bg8RADMTMmDkDmchEN aF2glH5NrYCjRqAoHRTSWY2/SCovz6PJTPZRPjAkbpuuW+yYQ3giNl4KsI4zSYL+ vvgNfrgf27LdPdzkf1NxUZ1cun4+Xfo496R/jMPV5t5CQ9pK9KJnW+gRQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv1jg8540-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:48 +0000 (GMT) Received: from m0356517.ppops.net (m0356517.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 45JFjlVE016329; Wed, 19 Jun 2024 15:45:47 GMT Received: from ppma13.dal12v.mail.ibm.com (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv1jg853v-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:47 +0000 (GMT) Received: from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1]) by ppma13.dal12v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 45JEdT04009433; Wed, 19 Jun 2024 15:45:46 GMT Received: from smtprelay02.fra02v.mail.ibm.com ([9.218.2.226]) by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 3ysqgmwmn0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:46 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay02.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 45JFje5c46596572 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jun 2024 15:45:43 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id CF52D20049; Wed, 19 Jun 2024 15:45:40 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 80CC920067; Wed, 19 Jun 2024 15:45:40 +0000 (GMT) Received: from black.boeblingen.de.ibm.com (unknown [9.155.200.166]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 19 Jun 2024 15:45:40 +0000 (GMT) From: Ilya Leoshkevich To: Alexander Gordeev , Alexander Potapenko , Andrew Morton , Christoph Lameter , David Rientjes , Heiko Carstens , Joonsoo Kim , Marco Elver , Masami Hiramatsu , Pekka Enberg , Steven Rostedt , Vasily Gorbik , Vlastimil Babka Cc: 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 , Ilya Leoshkevich Subject: [PATCH v5 20/37] kmsan: Accept ranges starting with 0 on s390 Date: Wed, 19 Jun 2024 17:43:55 +0200 Message-ID: <20240619154530.163232-21-iii@linux.ibm.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240619154530.163232-1-iii@linux.ibm.com> References: <20240619154530.163232-1-iii@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: t-6NhsbZHDQnXiNF0uBfPW5-9PdLjO1W X-Proofpoint-ORIG-GUID: Kj9sxnPHfaNJvrcvSASovW9PrvrbuQr1 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-19_02,2024-06-19_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=990 adultscore=0 suspectscore=0 spamscore=0 phishscore=0 bulkscore=0 mlxscore=0 impostorscore=0 priorityscore=1501 clxscore=1015 malwarescore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405170001 definitions=main-2406190115 X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: B5A0140020 X-Stat-Signature: j3xx7g4ccduhy65bjptwhehdaa7erp31 X-HE-Tag: 1718811955-349027 X-HE-Meta: U2FsdGVkX18JIbLCkPvRFSzZlZV2TOe2j1f9GDMPUA9BPbZ7woeRkpmDwZl6CCV9HzdHZwsc3c3zhOYL45G2unyxJdOE8ShSEd2rzxynPfTPxXwRtUfRX8xTitqMRg7nAXNE0XEKbRHb1Acn97WNH1HS2vOIM4MRIfalu054ZtuQdcc9slsx5CG9BguvVBLXCs2UpfdFbBs5gfoKvyl4l7PZ2GjVFWjzJzxW5NlU5Ht3K7lVSJu5wbSeXbOOARUOQIiYSad/sX0RMA9cDcAeX1GWnejaTEYaKNtPfpTkoLXfDlJxZBhKh3tH5gyxj8FOBna8uVvMXbmMo2k4HUzCP/Yj19Udv7hb5X0Owpa/exAkhFY987Dg8FFdD0IA+M3s0BRY2W/BeG4toy+vJH7OeFP2PO/33Ppq4uXf55rZRHXSkh9tEQtS1bUhcvHHT96fLBNMyPMtoJFi78GAlNL8QY6cLi8NI4bNRG0tVh/XGynrZ/iKpKSlXuzDv2s+ItsphcurMFfk/yIPzxvnzns7pYfJhT7GsP5eVFh832VsVhby+a2ugVhqp/92LSoc4FaEnC2i1R06U82sHWxryqPFIich9Y2AUNLNEo3fpzfFj04oRnZUgkDGNxAvsTPNYTPyPX+62V+mEDTLb6rD25pRftYDkOlbCdn4TrjymQ5PI8eKt3AQb+q2nFjyi/u/wWDQ2bQFkXMi3hfiGZCgCXejcLMLLk7uZEfvOEY1DctoKBV6/Z/7TVH4cR1+348WXpIe7Pfv7nyHbbYXLjGNoa9yUajqGCpPjRdeX4aruMYVkFG8rcK7Tgw30lthVQNfSiXXHMAle6H3um2ieBtjEx6hxcaMGzTTciBhJexXujWzC15aKz5o/NDwUCY44WQSIp3iPg9UVcPFlgbVh02x5BazMGFtHPDo4uvhJEWa+/ubl4J5SrnQ1O9DeuO+PCYsweEMCZJOUBzlIPLa7MyP48y 4pdBN8gJ VdOqCGL1TVinRS/y3z/TKe/ks5SVQt7HY+NmRarstcwMWgBKvPrwHQZwXSST0BBREwlvW7PqYTG/QH5WDWLUpdSRepu08pzttmzVXcr8Aq7oFoMVdIUCts7Z422DRHZsb4ei2H2N5izUVYcXpe0WQlLfhVQ2+m1l3mtWyztUHh5Pc+UGzpzR5SUKN36tU1+gO5rj2ZN+S+Jf0bmYp6/r0y/fGi4wekIfRC9HIjR+VkBandtWXIVtGrVhdIq394CrKxMBGq3XNsLEMCLv0oJjNV5KTE7nr4SIhH6tySVavYADuqWt0MpzQJhsIHWtsGnnTOVmd6I1qL7ELZHc4OtC04P7EkGXNxgvBvIBQCV8CXmq3bp8= 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 s390 the virtual address 0 is valid (current CPU's lowcore is mapped there), therefore KMSAN should not complain about it. Disable the respective check on s390. There doesn't seem to be a Kconfig option to describe this situation, so explicitly check for s390. Reviewed-by: Alexander Potapenko Signed-off-by: Ilya Leoshkevich --- mm/kmsan/init.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mm/kmsan/init.c b/mm/kmsan/init.c index 9de76ac7062c..3f8b1bbb9060 100644 --- a/mm/kmsan/init.c +++ b/mm/kmsan/init.c @@ -33,7 +33,10 @@ static void __init kmsan_record_future_shadow_range(void *start, void *end) bool merged = false; KMSAN_WARN_ON(future_index == NUM_FUTURE_RANGES); - KMSAN_WARN_ON((nstart >= nend) || !nstart || !nend); + KMSAN_WARN_ON((nstart >= nend) || + /* Virtual address 0 is valid on s390. */ + (!IS_ENABLED(CONFIG_S390) && !nstart) || + !nend); nstart = ALIGN_DOWN(nstart, PAGE_SIZE); nend = ALIGN(nend, PAGE_SIZE); From patchwork Wed Jun 19 15:43:56 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Leoshkevich X-Patchwork-Id: 13704137 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 CA51DC27C53 for ; Wed, 19 Jun 2024 15:46:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 117FD6B02E5; Wed, 19 Jun 2024 11:46:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 00C7F6B02F1; Wed, 19 Jun 2024 11:46:00 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B2D808D007A; Wed, 19 Jun 2024 11:46:00 -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 814186B02EB for ; Wed, 19 Jun 2024 11:46:00 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 3C44881295 for ; Wed, 19 Jun 2024 15:46:00 +0000 (UTC) X-FDA: 82248064080.02.716944B Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by imf22.hostedemail.com (Postfix) with ESMTP id 00755C001E for ; Wed, 19 Jun 2024 15:45:57 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=NmnO1vO9; spf=pass (imf22.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=1718811949; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=OrFUkNCKCdyNkojULrcA9z04Ys3K5qGxpLIcxQ1wcAk=; b=0BqWb0lGkHQuoTJQN8yhvUuVqhZb59wolDTXj0pSsoK+bfkzyI1+1pVOZj4GtMMhs/MnD4 a0rGWzh/hM1Bir+2u0xbbVvlgHQ6HZJCfk5OI0+rftx/WLQKToYZTAjYX/Tsji8QTZ4Bqw l4hhqKPVsMX7Epqggw6I+/KDH3ocyho= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718811949; a=rsa-sha256; cv=none; b=HPgvyG4DgYmntEUma1vjAYoBctmSLppHf3vurs/uQbYVQeyFYvsOEyihCHxjo5Qk7mV2v9 AmGUXKBgNlCB4H5Cxk1couOuMCkfhRraO56Uiql/Ps1nKrEcNqjUgGqKZaFXr8D+dTy02L UINH0DiAmV+IwZotgeFrIgjTZt1Eilw= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=NmnO1vO9; spf=pass (imf22.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 45JETABQ000635; Wed, 19 Jun 2024 15:45:48 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from :to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=pp1; bh=OrFUkNCKCdyNk ojULrcA9z04Ys3K5qGxpLIcxQ1wcAk=; b=NmnO1vO9I2+ygGQLfzaYpDVTDBP/I S4pxk48QzGq03PcUF5YJdy/vbRIi5wggW9WQaMEzEUQzBJnZ3OVPatI0YGtMW44D cypmzEmJBiILtKqEuN5UTYnur98OBKlIVgOp/KyhutuV+12M2luxP5gq3lZfP9dJ IyNQTTDgXjQVvp6gMaV1I1hC+mwoJBz15Dfx3DRKlW4wyiJ+56o59tNIz3phlcEp DqJfFFJO8EwVgMXjcXf4M9ryvYbjh2cb/RgnIK+QernnG2TQEzxE+wuTHPw3npfA tOx/nzSQ26H/2MJywp5vGjz/fXuvqDGXqkgBxj51rudnn/kqUHwVZU3HQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv14tg8c3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:48 +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 45JFjlhJ027631; Wed, 19 Jun 2024 15:45:48 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 3yv14tg8c0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:47 +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 45JE5i62023914; Wed, 19 Jun 2024 15:45:47 GMT Received: from smtprelay01.fra02v.mail.ibm.com ([9.218.2.227]) by ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3ysp9qdyqg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:46 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay01.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 45JFjf9V49807778 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jun 2024 15:45:43 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 2EEA72004F; Wed, 19 Jun 2024 15:45:41 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id D53EF20065; Wed, 19 Jun 2024 15:45:40 +0000 (GMT) Received: from black.boeblingen.de.ibm.com (unknown [9.155.200.166]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 19 Jun 2024 15:45:40 +0000 (GMT) From: Ilya Leoshkevich To: Alexander Gordeev , Alexander Potapenko , Andrew Morton , Christoph Lameter , David Rientjes , Heiko Carstens , Joonsoo Kim , Marco Elver , Masami Hiramatsu , Pekka Enberg , Steven Rostedt , Vasily Gorbik , Vlastimil Babka Cc: 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 , Ilya Leoshkevich Subject: [PATCH v5 21/37] s390/boot: Turn off KMSAN Date: Wed, 19 Jun 2024 17:43:56 +0200 Message-ID: <20240619154530.163232-22-iii@linux.ibm.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240619154530.163232-1-iii@linux.ibm.com> References: <20240619154530.163232-1-iii@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: AMLjrFLACtM2O_4hV_AucX17suvuVy4t X-Proofpoint-ORIG-GUID: hv4IkaMQTSysB8s_ElQqQbhr1xAUjpaM 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-19_02,2024-06-19_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 lowpriorityscore=0 malwarescore=0 suspectscore=0 mlxscore=0 clxscore=1015 spamscore=0 mlxlogscore=751 impostorscore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405170001 definitions=main-2406190115 X-Stat-Signature: p6wj4cbomg175qmjyxfx9akijjbnyotz X-Rspamd-Queue-Id: 00755C001E X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1718811957-737327 X-HE-Meta: U2FsdGVkX1/3QFfcHLql8rx3qyZN9MT9Zb5nXj2MJ5Kpr1QT/lfgA7Uem2Wf85VwA/tpwe7azmjAptQdIHQU9igegltlW3VQ+5+fLvlipSAQmlX5a6GMwEBwH8OZAq2cRU7CoETxSfW4DJ9xkOyG33WQAvMDHHzgzVQMq6GGZXXLRwsJxKCdCgeZPKovUUVJRy2JKxoGmpjM0FnO+wdVF7Ikm1nMCRvswY8JeTFsfSBiG+yQMlBkzzP/wxpiAXd4jJxlXwy4L4M4SckVwTOfUX3wSmqzVHd6qGiPD0ISmZ3DSxq2PFmc6x0hF3D1WG9xx9kg3y1lYQmHy+nmJvjWxOPoOIJstug7Ga5qOeq7uFvewPBl4oeJqegHp+9AYkMh50+cgjxgAFK0a4zOQj/RFJG1uNph1Pu64pszYxztJKKJ3bzN44+si+AJJuxu31RGt2ZSW/PNiZ5YtojLxWDviluGkdcFpWui4US0r43FA6DAiT2g7rNpOr35N38xXluc+U8aSdeqOY4ffZ/ADSwEFa7ncv3bCxVuDprZzIbUjeO78jrDofq7ULULFQNUxps+DWOHlorzGYTOH6B4OvS/gCt3s5AqJIyHiVshtVYrTlmSQBosj3DrscZwMNcaOMOkTWO9PRgfZfEJlnGgABMWkqb6RGA6s+bv1A2VdDTj4ruWl5TSJttLMMwS81WNweKIt6a765fTT0IajASvYtO8i0VIpkc5RertdF1xwZJ4EF7Io92Xfa4WWHNecYr6jYc6EFQ23wUGbTgJyYs1vF0zXlQqSW+zTHmFOwBTIuroFKFWUU6XcsPthpjxh1X1XESt0LZ9jrcb/LPo4frHvuTS0bMKRqY97YxZVhhjRIIiYZSDYI829JuY3AzAR0WMqJGRgxseFrDb0Q1hj/H4T+bGiwYnuQK/mfvDJvYKLipyVNVO59xisHt0ZyhUe5J794HtshAEeDKz2pGAwPBbIbg 7G5Ai7CM V+NXltiTk97CAg8q6q8H5vKVTLWWn2K2B17auVi6LpOeEErNpiDK6u3uJoCp30vOUXSwW7RllVQ2jVOPQvn6n9LEiVyw+ah6JMuwfnWt4J555fiF+Z/D16YZjZR39OjO2NawSof6RU5gkZ3/V17z4SuBEeGOjpSrgsLoF1FOr/vt6fJWvWEXCS/JW6APFayOjgkwrCsuEpNnkB5Krh9C0fuHz/6vqsUXWc3WlQJ3cZph7xe+tXCDBFQm6dOtu6/LQuNN4BPXRTHZyywqedWxQndPwNw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.003660, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: All other sanitizers are disabled for boot as well. While at it, add a comment explaining why we need this. Reviewed-by: Alexander Gordeev Reviewed-by: Alexander Potapenko Signed-off-by: Ilya Leoshkevich --- arch/s390/boot/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/s390/boot/Makefile b/arch/s390/boot/Makefile index 070c9b2e905f..526ed20b9d31 100644 --- a/arch/s390/boot/Makefile +++ b/arch/s390/boot/Makefile @@ -3,11 +3,13 @@ # Makefile for the linux s390-specific parts of the memory manager. # +# Tooling runtimes are unavailable and cannot be linked for early boot code KCOV_INSTRUMENT := n GCOV_PROFILE := n UBSAN_SANITIZE := n KASAN_SANITIZE := n KCSAN_SANITIZE := n +KMSAN_SANITIZE := n KBUILD_AFLAGS := $(KBUILD_AFLAGS_DECOMPRESSOR) KBUILD_CFLAGS := $(KBUILD_CFLAGS_DECOMPRESSOR) From patchwork Wed Jun 19 15:43:57 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Leoshkevich X-Patchwork-Id: 13704132 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 92DFBC27C53 for ; Wed, 19 Jun 2024 15:46:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4C3AE6B02CF; Wed, 19 Jun 2024 11:45:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 41FBB6B02D7; Wed, 19 Jun 2024 11:45:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 24B3B6B02D8; Wed, 19 Jun 2024 11:45:59 -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 058076B02CF for ; Wed, 19 Jun 2024 11:45:58 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id AFD5A41425 for ; Wed, 19 Jun 2024 15:45:58 +0000 (UTC) X-FDA: 82248063996.22.2227999 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by imf14.hostedemail.com (Postfix) with ESMTP id 4EFEF10001F for ; Wed, 19 Jun 2024 15:45:56 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=tmoStW2+; spf=pass (imf14.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=1718811950; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=EM2Q29X1oynbiWdgAiIUaE04pJnjihVfcXc099lsq1w=; b=Ea9T5T7RKOH5vfFY8M9qK+7nNiaNN8IPbXSgNKS4biq2rv1CdYWblXrtOvcvolti9Bisa/ K/OzOQXcB+UrN6DxeWWuw/mh3W9H8zdecz+Ee4r5V0xhz5Sy4XvC3wP6CC9pARFK+ZqZCU ypU/iWkrl8r+9p5HDZHSdbKwsrYAP+4= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=tmoStW2+; spf=pass (imf14.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-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718811950; a=rsa-sha256; cv=none; b=D6b2Js1ZNPcHeRPJ2NzHXvTctfmBQzjwWjswVau1yt+ZNefkOoHEk72p0ajGFyrHuKdlDa S7QKmVsKGaesgiIWfW3J5S3Yy40SrThPP91enJAcoeSuoJU9xepqkoI/7MfbRRqz5Nqj4y fcmni36ki4jcwpfVLjQfs2hJIIselrk= Received: from pps.filterd (m0356516.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 45JFTDaF014358; Wed, 19 Jun 2024 15:45:49 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from :to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=pp1; bh=EM2Q29X1oynbi WdgAiIUaE04pJnjihVfcXc099lsq1w=; b=tmoStW2+D5+3fCrZur0K31wE+JLdD He+kd9vjUgMVn3dBBD+UCaw4wH51pLRE/I8Uyh5SLoKeW+E3u338jn34U0v0AgVS nLIEt7D+pC58y/1SB4HL94+Wzw13O07EHIGvMvOjtzujjrVy0DNOf1K2cBe17wEk DhH1JSUPRicf7KxxBJayoMSvq4sv/lQMJfuXzYAknfxkQScBvdGRD8Oe9U+287xV uyCEwHcOvgDrFGKzmWwWOmAlNOiur35+E2sk1V0G1rfnoudk7ExGHa8kG+9d4wTk 4RX4fTeJ5iDlPtdw33+3XPUN09I1h3slDNjQtc21fW6KPFtxswO07i56w== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv20hr1f1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:48 +0000 (GMT) Received: from m0356516.ppops.net (m0356516.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 45JFfAZ2000738; Wed, 19 Jun 2024 15:45:48 GMT Received: from ppma12.dal12v.mail.ibm.com (dc.9e.1632.ip4.static.sl-reverse.com [50.22.158.220]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv20hr1ex-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:48 +0000 (GMT) Received: from pps.filterd (ppma12.dal12v.mail.ibm.com [127.0.0.1]) by ppma12.dal12v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 45JF2MxA006136; Wed, 19 Jun 2024 15:45:47 GMT Received: from smtprelay01.fra02v.mail.ibm.com ([9.218.2.227]) by ppma12.dal12v.mail.ibm.com (PPS) with ESMTPS id 3ysn9ux8my-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:47 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay01.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 45JFjfRf52101430 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jun 2024 15:45:43 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 8323E2005A; Wed, 19 Jun 2024 15:45:41 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 34F812006A; Wed, 19 Jun 2024 15:45:41 +0000 (GMT) Received: from black.boeblingen.de.ibm.com (unknown [9.155.200.166]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 19 Jun 2024 15:45:41 +0000 (GMT) From: Ilya Leoshkevich To: Alexander Gordeev , Alexander Potapenko , Andrew Morton , Christoph Lameter , David Rientjes , Heiko Carstens , Joonsoo Kim , Marco Elver , Masami Hiramatsu , Pekka Enberg , Steven Rostedt , Vasily Gorbik , Vlastimil Babka Cc: 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 , Ilya Leoshkevich Subject: [PATCH v5 22/37] s390: Use a larger stack for KMSAN Date: Wed, 19 Jun 2024 17:43:57 +0200 Message-ID: <20240619154530.163232-23-iii@linux.ibm.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240619154530.163232-1-iii@linux.ibm.com> References: <20240619154530.163232-1-iii@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: 1L_rd4V-q3KJB_LuDa6HoaqIhgVGw1oi X-Proofpoint-GUID: 7q7Ag0EXzQKdAbKqsJ0CObvDzHLKczZ_ 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-19_02,2024-06-19_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 mlxscore=0 phishscore=0 clxscore=1015 bulkscore=0 suspectscore=0 priorityscore=1501 adultscore=0 lowpriorityscore=0 impostorscore=0 malwarescore=0 mlxlogscore=869 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405170001 definitions=main-2406190115 X-Stat-Signature: su9sit6icwzwnggb3bbj8basdb8x5kek X-Rspam-User: X-Rspamd-Queue-Id: 4EFEF10001F X-Rspamd-Server: rspam02 X-HE-Tag: 1718811956-511475 X-HE-Meta: U2FsdGVkX1/dyEKJkFee3soOZYKI1xNWH5XSy/5Kbaznper1hyL9fad31i1ffAV97AzR3bVy4a0nzadJRhBndOi8fce786liXYrNQLYogrS33rZuyZEY+nvWOEWwenU5J17cRum7ucZHomuNb51d9HdnuRvMhOyQy+z29XCuap064xtfUN8iGDkHK7R8OZ+Qg2hwkPdxiF2fvWfFsAiaghM3bIAwSksorq99nmRu/tLTfbt28lJCqk+XB16zt1f2ScCYNgZB6skOi9vDgmg3eyd67pemjJZ6yW0rsAFSo2TC+pXrmbXx6hyo96uoYNWjQZGRJW+ATzkt5nC8+UVpTOz4J9tVf/8RZUvifBRpdK2JxSuZ6Q21j73YRyhMgwyoNxJK59P9waCA0W9MjOKbicR3t5PgEe6jIKV/GGP4NkUsHiYTvgCexRq1OrlbXi6NUjkC9KE7qj8AbN8Yu6WjizS0JAm6+exxEElRGYU1mbjhxDlQp5uuaJNOwhOIihmBLZXsM+PtswRSIFuDg7/dD/A9jUNdsrRaQpqGOTqYlX/YQrGdCrDYJmUu+wZPDeaqc/oJepYR9Hy4cP+VsJijtFas/PA6dCwshf4q0GmuHgfpA+/rz/Ch7FO+Att1qV1vx5V0O6za2bA1cMRoodJQGRX65joaGpDljvrmxDozJue7Yugfw9DbV0A7NvLiJplHmFs9cu/vYajSK+6oqhws6/SFEvWRmLpaD2o4l16q7Er9Ieq08xcUjFcjqF/Abg+D5QHPBR6N+XiKm+2XL0x1hzZCRhgcAuRx7MW9X1jhiXlgURCp+xtjIbvf0ThlXrWxhLI4pvZueZm7rZJV9387UrChNlGvs39AoLAIpR54vQe8xfuNBOHVr29Ns7nhmJ19//Q2kyZrsA0Y6YiHPcR8l4EIluBapvG67ADnezbLVZOIcVJWV1qb6lK6qhdUd+GqiQ48u0H4phPe9CP3M9R EMIgFvwe g+8RCbTxOxfF2eObgxmmOSHkP2efaBcqMgbvFvzIpp+9xTqjRphzMkGEVc6+6d29mm1F83X3DsfvsP3FXoekb2mP1TQTmJed1pR1ia5DXRnA+nfhatGJiIlzIjeBgq6I4rIwqofNf488QRwj6e41ZgDQNAoviyikizS6bFJj6D/vsf23Qsw56LgvWcQwig+RNZNj0nDVJHLuS8efFstsLcu40u1dAG9XFJI4/taNT/G/u0OnVzU2vxmyTKQiNdGMCVezw6QTrU7mA64er5/f4HjWqC84/AeC5NmMfnRHvftHk6uwMsAvU8EcwMsNJ8gZ2Z/Bm9JmrbKLa6CkbrWcLDQzuZo82Ni5DCv5/yZDa+sm9Lzg= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000002, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Adjust the stack size for the KMSAN-enabled kernel like it was done for the KASAN-enabled one in commit 7fef92ccadd7 ("s390/kasan: double the stack size"). Both tools have similar requirements. Reviewed-by: Alexander Gordeev Reviewed-by: Alexander Potapenko Signed-off-by: Ilya Leoshkevich --- arch/s390/Makefile | 2 +- arch/s390/include/asm/thread_info.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/s390/Makefile b/arch/s390/Makefile index f2b21c7a70ef..7fd57398221e 100644 --- a/arch/s390/Makefile +++ b/arch/s390/Makefile @@ -36,7 +36,7 @@ KBUILD_CFLAGS_DECOMPRESSOR += $(if $(CONFIG_DEBUG_INFO_DWARF4), $(call cc-option KBUILD_CFLAGS_DECOMPRESSOR += $(if $(CONFIG_CC_NO_ARRAY_BOUNDS),-Wno-array-bounds) UTS_MACHINE := s390x -STACK_SIZE := $(if $(CONFIG_KASAN),65536,16384) +STACK_SIZE := $(if $(CONFIG_KASAN),65536,$(if $(CONFIG_KMSAN),65536,16384)) CHECKFLAGS += -D__s390__ -D__s390x__ export LD_BFD diff --git a/arch/s390/include/asm/thread_info.h b/arch/s390/include/asm/thread_info.h index a674c7d25da5..d02a709717b8 100644 --- a/arch/s390/include/asm/thread_info.h +++ b/arch/s390/include/asm/thread_info.h @@ -16,7 +16,7 @@ /* * General size of kernel stacks */ -#ifdef CONFIG_KASAN +#if defined(CONFIG_KASAN) || defined(CONFIG_KMSAN) #define THREAD_SIZE_ORDER 4 #else #define THREAD_SIZE_ORDER 2 From patchwork Wed Jun 19 15:43:58 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Leoshkevich X-Patchwork-Id: 13704136 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 06D20C27C53 for ; Wed, 19 Jun 2024 15:46:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D1FC46B02E6; Wed, 19 Jun 2024 11:46:00 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C13666B02E5; Wed, 19 Jun 2024 11:46:00 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 979DA6B02F6; Wed, 19 Jun 2024 11:46:00 -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 5CD946B02E5 for ; Wed, 19 Jun 2024 11:46:00 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 09C0F811B8 for ; Wed, 19 Jun 2024 15:46:00 +0000 (UTC) X-FDA: 82248064080.21.1846E58 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by imf10.hostedemail.com (Postfix) with ESMTP id AAB64C0015 for ; Wed, 19 Jun 2024 15:45:57 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=I+jieaxF; spf=pass (imf10.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=iii@linux.ibm.com; dmarc=pass (policy=none) header.from=ibm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718811953; a=rsa-sha256; cv=none; b=gwG2Oia4pKUGEPEKtKEfwU3aNg0BGsjefgfVxEfFCsx4dPII5xuwUyV7stwNTIZUu8JTf2 5f1cWYfvPSoBG9ZipQMZB6Tknn839EuGlxZSBJ63bLW5cpUm/8CecKrxnG9ga18wwqdIm4 MkkJC5UB9Yzx8RqrS96XM/FAHpPJh7k= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=I+jieaxF; spf=pass (imf10.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.156.1 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=1718811953; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=erZvlatfvJVe/hx7BkMgZ/7G1oP598/R1HnuL1JF6tI=; b=CWowCwd6EA0mj6pSw9yi3Z1ieXPOPvXTSfSdjxKGzzVlycVzyGlpNU2igPG+QfIBXPafSu 4AbdL9Q/BTUuob24TadtWpb8TuM9T9zDLCukPGg6OpOdCC1GYb01V7w9ckhh2ZbKClFNNS Tgp/qaB67m6as3M8VMWizdv9JSgvZzc= Received: from pps.filterd (m0353726.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 45JEwlSk023623; Wed, 19 Jun 2024 15:45:50 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from :to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=pp1; bh=erZvlatfvJVe/ hx7BkMgZ/7G1oP598/R1HnuL1JF6tI=; b=I+jieaxFMkgTgdJTGVhtQWzdBbFhq +MgV8bbwb0GO4cjPU056kN4UmjNmVP/xJY69+CziW+rp+eqPPsnZQKFznBqn6fHT b7507V/YE7jBn2THVd7psuTiWVd8z3TkgypCwDORDrt2L6rQjCTHj1IwMQhRo6Q2 5xtl/ZTW1serM1pZvyfmvZrGVxLX1K9jmaQ9BM/IifDrbeRQODoPEjG3lXytfajA fpq718ZOrUuBjCZ948gWPyViszLJQylNh4bNEOZm/rN/1TL69AXqkwb1Hen2/WPX 8CWcBvybPEZ7QEmXoLNTKbRciiGQ5f0yArxLg5taa0USHwBFedmXUqI0A== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv1jfr5bw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:49 +0000 (GMT) Received: from m0353726.ppops.net (m0353726.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 45JFjnLw005799; Wed, 19 Jun 2024 15:45:49 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 3yv1jfr5bq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:49 +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 45JE5i63023914; Wed, 19 Jun 2024 15:45:47 GMT Received: from smtprelay01.fra02v.mail.ibm.com ([9.218.2.227]) by ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3ysp9qdyqj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:47 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay01.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 45JFjfWA45154602 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jun 2024 15:45:44 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id D7DC52004E; Wed, 19 Jun 2024 15:45:41 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 88D4E20065; Wed, 19 Jun 2024 15:45:41 +0000 (GMT) Received: from black.boeblingen.de.ibm.com (unknown [9.155.200.166]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 19 Jun 2024 15:45:41 +0000 (GMT) From: Ilya Leoshkevich To: Alexander Gordeev , Alexander Potapenko , Andrew Morton , Christoph Lameter , David Rientjes , Heiko Carstens , Joonsoo Kim , Marco Elver , Masami Hiramatsu , Pekka Enberg , Steven Rostedt , Vasily Gorbik , Vlastimil Babka Cc: 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 , Ilya Leoshkevich Subject: [PATCH v5 23/37] s390/boot: Add the KMSAN runtime stub Date: Wed, 19 Jun 2024 17:43:58 +0200 Message-ID: <20240619154530.163232-24-iii@linux.ibm.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240619154530.163232-1-iii@linux.ibm.com> References: <20240619154530.163232-1-iii@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: YgmfPE7dzJnFHVsUSCo78DlzIaRJ2Pom X-Proofpoint-ORIG-GUID: PRP7Ai0315YPaTCuzE1hfbsrj0IEqX63 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-19_02,2024-06-19_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 mlxscore=0 lowpriorityscore=0 phishscore=0 clxscore=1015 bulkscore=0 malwarescore=0 mlxlogscore=999 suspectscore=0 priorityscore=1501 spamscore=0 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405170001 definitions=main-2406190115 X-Stat-Signature: rk6j161yz6t6jhf1fmite4zoacyxkty7 X-Rspamd-Queue-Id: AAB64C0015 X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1718811957-269849 X-HE-Meta: U2FsdGVkX1+uspm7YBheTBD2l12NSp5G1Uyz6ZpNcH55mN2CsH02fC4NE4Rs/hape2FVzVj0YUNKNXj1BO6x1+HUQarGXkOTb8AVChg5zdjhfsJ54BiTBSBOM2IbdcfnjHNijJByQGcA8MYEU0I1+Ax/Ht6Ur1Q3Aw5jCcdJkgZTlYk1IhOnjWfTzw6joNu8MI7TcXLq1BsDHCxsqW7xusUJWohfwLtCqD9Q3KeTclPf0CeODgtxCr8N12Qdwz9EV/oa2Z1II/yRSbhnYmxh5RVWyUORll58WkZcjovswOSz3GMb2rBHQARXxDCHTjvFUv5LFT2QIddczVJWH1UAT5hICcUlQgDd+0PHxYBdqYg7qTAn6pI4zMtBAdnUkOPPCQbbep8TLin1lIyyN6gg/l4AJrruMpf4J4OugyzcRD/gQeQANUqgNrpa82TC19Qf93VWYNX+3clK6rdkjXTlMiYKG4yMxs4NxDLrivDz8pgCSnlzkYzimDUuPS8KHhlwTgOQNC5zgVh43blhJYmMDugR6MfeygOi4/s32vfTtT38Ig5qN6O1Qi2gG4qeGVKXct8FEO2S6V1uu9mH9XxoWw4O3SAh1/OT76Bi0x/CCiv5djZ09w0Dn6r0Z0VtS/7x2gzg7w2sR7B+iKc//NNFs0tdUz24L+/cMuuzH4tEBDyxCeM5VOJvECH3N3bJZWgbJj3EivWMzaip+hRMjeZh9xzfkjJHtZt+g/FZZgjhjWVFz2mKVwnhBgn9axrnLEcwm4/jBVcsdD3cLgF+9HBBcYXUuYQhN5ldQ7J3k3MTiJOgtWIimIAqrLEAKNIn4+KoY2vRzPuAE2cULgL/OXIY18afcDUcyHOqlFymWaOaB2/vpZCrIOPL8X4BYFFPI1jqu3WNIcNeymWh6w/OxrJ17d9D2TdYUjEpgziUa1DEY5Q0GNKL6oHhjhpVoObFXcHsrSs+b5MFA4LC7Cid78X YU2076GY 0Ahmf9QRY0aIWzQs9qU1+tZ7Uk7DfzrcKtbCjMGVfk75lO2RwTuiPhn8rpDT6rMVTyHCbJopEGsgRml1CkNxaUbAFhZnhu1EtWdIzozFqHHuFRpa1FbuEnYvL7C8KK/xG2yxXLVC4i7rZLrHJk89yjkUZMUMRi1lXv1XupPqz9Xn1d7WuzJvrxwviwLQJPhU9Ij95Klys3GUjYX1CfFjZkTZYgefpEr93RmnJNgxQcvV6F9jxgi4nCq47pg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000011, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: It should be possible to have inline functions in the s390 header files, which call kmsan_unpoison_memory(). The problem is that these header files might be included by the decompressor, which does not contain KMSAN runtime, causing linker errors. Not compiling these calls if __SANITIZE_MEMORY__ is not defined - either by changing kmsan-checks.h or at the call sites - may cause unintended side effects, since calling these functions from an uninstrumented code that is linked into the kernel is valid use case. One might want to explicitly distinguish between the kernel and the decompressor. Checking for a decompressor-specific #define is quite heavy-handed, and will have to be done at all call sites. A more generic approach is to provide a dummy kmsan_unpoison_memory() definition. This produces some runtime overhead, but only when building with CONFIG_KMSAN. The benefit is that it does not disturb the existing KMSAN build logic and call sites don't need to be changed. Reviewed-by: Alexander Potapenko Signed-off-by: Ilya Leoshkevich --- arch/s390/boot/Makefile | 1 + arch/s390/boot/kmsan.c | 6 ++++++ 2 files changed, 7 insertions(+) create mode 100644 arch/s390/boot/kmsan.c diff --git a/arch/s390/boot/Makefile b/arch/s390/boot/Makefile index 526ed20b9d31..e7658997452b 100644 --- a/arch/s390/boot/Makefile +++ b/arch/s390/boot/Makefile @@ -44,6 +44,7 @@ obj-$(findstring y, $(CONFIG_PROTECTED_VIRTUALIZATION_GUEST) $(CONFIG_PGSTE)) += obj-$(CONFIG_RANDOMIZE_BASE) += kaslr.o obj-y += $(if $(CONFIG_KERNEL_UNCOMPRESSED),,decompressor.o) info.o obj-$(CONFIG_KERNEL_ZSTD) += clz_ctz.o +obj-$(CONFIG_KMSAN) += kmsan.o obj-all := $(obj-y) piggy.o syms.o targets := bzImage section_cmp.boot.data section_cmp.boot.preserved.data $(obj-y) diff --git a/arch/s390/boot/kmsan.c b/arch/s390/boot/kmsan.c new file mode 100644 index 000000000000..e7b3ac48143e --- /dev/null +++ b/arch/s390/boot/kmsan.c @@ -0,0 +1,6 @@ +// SPDX-License-Identifier: GPL-2.0 +#include + +void kmsan_unpoison_memory(const void *address, size_t size) +{ +} From patchwork Wed Jun 19 15:43:59 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Leoshkevich X-Patchwork-Id: 13704134 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 806DDC27C53 for ; Wed, 19 Jun 2024 15:46:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DC93E6B02D7; Wed, 19 Jun 2024 11:45:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D4DD76B02E0; Wed, 19 Jun 2024 11:45:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 951AA6B02D7; Wed, 19 Jun 2024 11:45:59 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 6CC346B02DA for ; Wed, 19 Jun 2024 11:45:59 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 1B53BC1425 for ; Wed, 19 Jun 2024 15:45:59 +0000 (UTC) X-FDA: 82248064038.08.C453FA0 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by imf23.hostedemail.com (Postfix) with ESMTP id D78C5140017 for ; Wed, 19 Jun 2024 15:45:56 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=iUuVlM6Y; 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=1718811953; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=WE3ASvt90HWWKhjLUTLn3R+jUtOfzIMMtdYDGL1//DQ=; b=gTyiG4tmz7MCZSdW3PhZ4qLLSCXV0Y5gfLhXukg2WvMTRlMPsMMC1CktfrPzBwCy8qLjb+ vqUa/ohd4S43j4tUhZOG1dbYlcMtStMNyCZdbaZeRLozLpKUCDxo1f960s0mnUXvxwzHJO b5uF9a22JWjf1dMYSM8OntjRv1IDfOI= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=iUuVlM6Y; 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-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718811953; a=rsa-sha256; cv=none; b=jnFMBfrW+9lfx1fPNK7ZRGos9XzZ652fvs+z4P6xVsA4V259gpJvqhITsNozMZHTJt7WL7 Iz3vasnOFsoHJ2oR1j3CwLt2Fl2twXAlzO1frXXEchojEIXTxAlJnjFqQBy0uJJoOzxAUk WBMEVYtDGgxUCTo97I0vNoLlPy+VfNo= Received: from pps.filterd (m0356516.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 45JFSkbb014145; Wed, 19 Jun 2024 15:45:50 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from :to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=pp1; bh=WE3ASvt90HWWK hjLUTLn3R+jUtOfzIMMtdYDGL1//DQ=; b=iUuVlM6YSnZvo4nuzCGPoq66//UbJ SC0glhvGNVzi1I4N3+4Ln9zy8WC/CBMYwfHjMSHTaM9VLIiJyuC7pszwnRUW4ogF jw9BAF3E6hmDQoPki1iIY5fVx/gdyPrWt08BAqr0aw1KOCsk3PS6EXLu3M9mehg3 J5IF4y5M7ohEpxWGDbp4fn4ja0BCNfokllLctJjvXERE/UfBb6REAVCl6dma/K3d 19L8kCI2pnP7+zo9IF7rGhLiVCXWMxKpxqXuHVUhi0Aiomz6IuU3CEM4E8d3TTwh X6XUMVk5h0Wb8QTxm9f2pnKlR8cDottFsh2E5tbgU8REISE3mSAy+uZGA== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv20hr1f6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:49 +0000 (GMT) Received: from m0356516.ppops.net (m0356516.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 45JFjn1h009037; Wed, 19 Jun 2024 15:45:49 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 3yv20hr1f3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:49 +0000 (GMT) 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 45JFEHbP019519; Wed, 19 Jun 2024 15:45:48 GMT Received: from smtprelay07.fra02v.mail.ibm.com ([9.218.2.229]) by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3ysnp1e4wv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:48 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay07.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 45JFjgwd40239564 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jun 2024 15:45:44 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 3831420065; Wed, 19 Jun 2024 15:45:42 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id DDCB32006A; Wed, 19 Jun 2024 15:45:41 +0000 (GMT) Received: from black.boeblingen.de.ibm.com (unknown [9.155.200.166]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 19 Jun 2024 15:45:41 +0000 (GMT) From: Ilya Leoshkevich To: Alexander Gordeev , Alexander Potapenko , Andrew Morton , Christoph Lameter , David Rientjes , Heiko Carstens , Joonsoo Kim , Marco Elver , Masami Hiramatsu , Pekka Enberg , Steven Rostedt , Vasily Gorbik , Vlastimil Babka Cc: 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 , Ilya Leoshkevich Subject: [PATCH v5 24/37] s390/checksum: Add a KMSAN check Date: Wed, 19 Jun 2024 17:43:59 +0200 Message-ID: <20240619154530.163232-25-iii@linux.ibm.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240619154530.163232-1-iii@linux.ibm.com> References: <20240619154530.163232-1-iii@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: Hn2GME85KkjnRdLhqN5eGP0SUkWM6kFG X-Proofpoint-GUID: Gj-cVYCQ0uqm18nKozEI737ERcJzjF2d 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-19_02,2024-06-19_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 mlxscore=0 phishscore=0 clxscore=1015 bulkscore=0 suspectscore=0 priorityscore=1501 adultscore=0 lowpriorityscore=0 impostorscore=0 malwarescore=0 mlxlogscore=937 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405170001 definitions=main-2406190115 X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: D78C5140017 X-Stat-Signature: a66sx6jk5pymsr7tah8zzo9goio3k54i X-HE-Tag: 1718811956-359977 X-HE-Meta: U2FsdGVkX18v9UViVW0vVqI3uAOaYFnOlp1rSpjmXkOlS1ZdAvo4d6ztBTEe+McAnMS8GCz4/T3lS8FacpdXVLWpJanbfPlClwTskMo5MNhbgohDwvhPLsHcQoCW62mX8tdZK6CCLaPdIq4ZRhZDSJKgkpMI6NhF0akbJkLlqJBNQQnSdsHi7sO0Yvr1KDBUMUDs0nU1lzPn+ihTxvNsQh4068qYnv+1+28wYduEvmaiQ4EQLH+x68bmxDQhvBLTDqDCow0lM4U8vhTuOyn1EzrxgY++j9A+dBbr2q/FqoiNeP/GdoTurd7IdXLO1BcFBI0jyL/qv9Doak1UxAjmlApakkE8AsWLT0tVqmL7czMtu/Hbm52CV7iz3vmdDZM7GkVJWBM5NWGDICk++lhDiCv4AQ1XgFtEr8TnPb596GpNJX+5fwL0Orl8WY6xpSt76Zv6GxWxpLbntnU+IX1p4HcbvCRELLek/cMkmS/DJxfNks6+cSgv8SagPJKqSqq+OEpA3gqdYpjCp/7q3ns6A/UfbQt3CUgSKYAi20EA7D+CAf+S5Bz4nCAWrPtJBuVFTx8aORp/fB/pA/m3poeI+o8zKfeU7iuswwGGht32gqZr+TU6/zJ1I1KOsyRY+wnEl31w7TXCkJt1vvnVSbbPRZnWJgpr1k55ZDUexPpTUhjUqiziz5ImR1KXRsGSDde/cwhJ+sB2zTnXy9F92Jf0ix16uI9o+7MzCMOedtcQRSJeo6FnmfFpB+wtaSzKvUe4Pq6Wp/o/A5im0QdHtcqZ7YJ2h9nFugOQFQmttPjPqUyA7sZziou0vJEjxDY5YAsquSo58k9vlQo4xw6q4cib9GcX4CKpK/C96o8r+aUoRmJ10d9Xrg85pZoRFdW6my5z+zi4AlDO4L7dFbwivuHUSC0hBaHPyOoYQ0NRdXinE/fwk4pONlziSKQnHBqe9tpLCC3ZRa9zxHve6mx1wP4 7pcCQDYp TDrUT8Y7tHFlWeSLJrzUWQniUxYzQ08TFoBXiYVxe1TpO0/r59+D/KEH2ks0E5yUpDcrYAc5eQuHWwM9PEOGFH2gSQTgWF/06pYCmhPwChTA9/siyJzjxs6ki9mLsNn2vUq15T6XbdYMsmK1/ts1NpKksbWb7rmBxU+yNaAVT1cmPF0RxGvd0q94MGvt1joB4DJljmE4RY+/g1BF2vjWxu7+xfkHMotho1tU/vu0LGSGy/5VMbrmaVF43xXzmlCSEGDqMftQgqKyHu5A2vjRRMRqgnA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000050, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Add a KMSAN check to the CKSM inline assembly, similar to how it was done for ASAN in commit e42ac7789df6 ("s390/checksum: always use cksm instruction"). Acked-by: Alexander Gordeev Reviewed-by: Alexander Potapenko Signed-off-by: Ilya Leoshkevich --- arch/s390/include/asm/checksum.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/s390/include/asm/checksum.h b/arch/s390/include/asm/checksum.h index b89159591ca0..46f5c9660616 100644 --- a/arch/s390/include/asm/checksum.h +++ b/arch/s390/include/asm/checksum.h @@ -13,6 +13,7 @@ #define _S390_CHECKSUM_H #include +#include #include static inline __wsum cksm(const void *buff, int len, __wsum sum) @@ -23,6 +24,7 @@ static inline __wsum cksm(const void *buff, int len, __wsum sum) }; instrument_read(buff, len); + kmsan_check_memory(buff, len); asm volatile("\n" "0: cksm %[sum],%[rp]\n" " jo 0b\n" From patchwork Wed Jun 19 15:44:00 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Leoshkevich X-Patchwork-Id: 13704135 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 B9C5FC27C53 for ; Wed, 19 Jun 2024 15:46:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9CFFD6B00A2; Wed, 19 Jun 2024 11:46:00 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3B81A6B02E6; Wed, 19 Jun 2024 11:46:00 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0526D6B02E4; Wed, 19 Jun 2024 11:45:59 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id B9D4C6B02DE for ; Wed, 19 Jun 2024 11:45:59 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 6C8CEC1428 for ; Wed, 19 Jun 2024 15:45:59 +0000 (UTC) X-FDA: 82248064038.16.8DA60CA Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by imf16.hostedemail.com (Postfix) with ESMTP id 3982B18000C for ; Wed, 19 Jun 2024 15:45:57 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=SsKZn0cK; spf=pass (imf16.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-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718811952; a=rsa-sha256; cv=none; b=LOoXaWPmJ1vjvFIeuoCpGJxzdnpVKGyeRXCtSzHvoGrYTND20zdDCcqM2kGMmpz4hV12a7 AiJNOiHqapZw3hTphoFjxM7TURTXt/r2fp/vUmk45XArhdQRy2eIdiAd75/Ympt8OshWMw DPhtx4VQDjLefuD/b0nQC7+1OTEpotc= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=SsKZn0cK; spf=pass (imf16.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=1718811952; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=K/viBy/PeNICITSZpD3tBAO/npQA3ucnq3Zo5JONrlk=; b=svhSlz44CE/Q1dcUno+H6unnREMTRpt1JOp730pyrKQgergZJXay8jndTeziN30tuyJA4t rB0RyMezFhkOeTSyQxpm5OUmNTCK4D7ZUzNhRftF423o/0CFgEYKmqIXJV5Z0C5MAV2Yxd k0L/SLUahDOHb48CvYmg+6RNDl9I8I8= Received: from pps.filterd (m0360072.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 45JBtn0b013583; Wed, 19 Jun 2024 15:45:50 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from :to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=pp1; bh=K/viBy/PeNICI TSZpD3tBAO/npQA3ucnq3Zo5JONrlk=; b=SsKZn0cKLgdIX3sPQiOmvLkjObQmZ PnefpCpEP4K17+hbawNfB+uz7G1zrOWA3KgrsxMIW95EzSoJdM1ouPPK1xj/N368 gMW0uKDSLChKDOk9VLW3whBDzBSJfIDtttQZyQpZddZUWe/dLKmdgO0KDcEQXDVC Y2scRcAOWdi7Dd0rL8fkCvGhFkTCFoQd/PX2SVHSAbV6DNTefZliSH02qszgy6wl jSll7KOjuYUC6/0U0gU0DVIwBTstXllBX8sAljJkyo1I+h1i+rdNAkS/ikkuNcRU m+hEcQFhhVmyzls5xiEj3BekLxEHE61gEa4fay86AXqmvjaj6KZ0YcYPg== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yux7j0tcg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:49 +0000 (GMT) Received: from m0360072.ppops.net (m0360072.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 45JFjnY1028879; Wed, 19 Jun 2024 15:45:49 GMT Received: from ppma23.wdc07v.mail.ibm.com (5d.69.3da9.ip4.static.sl-reverse.com [169.61.105.93]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yux7j0tcb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:49 +0000 (GMT) Received: from pps.filterd (ppma23.wdc07v.mail.ibm.com [127.0.0.1]) by ppma23.wdc07v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 45JEK19d011052; Wed, 19 Jun 2024 15:45:48 GMT Received: from smtprelay07.fra02v.mail.ibm.com ([9.218.2.229]) by ppma23.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3yspsndtnk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:48 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay07.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 45JFjgNr33948062 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jun 2024 15:45:44 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 8C6D92004B; Wed, 19 Jun 2024 15:45:42 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 3DE1D2006C; Wed, 19 Jun 2024 15:45:42 +0000 (GMT) Received: from black.boeblingen.de.ibm.com (unknown [9.155.200.166]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 19 Jun 2024 15:45:42 +0000 (GMT) From: Ilya Leoshkevich To: Alexander Gordeev , Alexander Potapenko , Andrew Morton , Christoph Lameter , David Rientjes , Heiko Carstens , Joonsoo Kim , Marco Elver , Masami Hiramatsu , Pekka Enberg , Steven Rostedt , Vasily Gorbik , Vlastimil Babka Cc: 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 , Ilya Leoshkevich Subject: [PATCH v5 25/37] s390/cpacf: Unpoison the results of cpacf_trng() Date: Wed, 19 Jun 2024 17:44:00 +0200 Message-ID: <20240619154530.163232-26-iii@linux.ibm.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240619154530.163232-1-iii@linux.ibm.com> References: <20240619154530.163232-1-iii@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: eRJ1Fir0D1OliqMOkMThbCdRt-m01UDf X-Proofpoint-ORIG-GUID: sHcrT9dgmrwcrd7AfF1kVUbgkO9GX7zc 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-19_02,2024-06-19_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 mlxscore=0 malwarescore=0 clxscore=1015 impostorscore=0 adultscore=0 bulkscore=0 phishscore=0 spamscore=0 priorityscore=1501 lowpriorityscore=0 mlxlogscore=780 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405170001 definitions=main-2406190115 X-Stat-Signature: y1pz9pzfiasfnregqawkj87zzp986m4q X-Rspamd-Queue-Id: 3982B18000C X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1718811957-919936 X-HE-Meta: U2FsdGVkX1+1zBzQEHniNzdJRD1Fco32bI6j8EL8sKw4MbKE3bjzsw8BibssTQDQFJZ5H3aNLDWw9nMHqcKL3y0E8IiS8o+LoGKC+rldscRV8tyQAf/KOm/XnAkfZ/kenqPnphjyBzzRkf8xLYrsDJGb0eIfUBsg9AqKmzxZRgChI2lm5P36fX0MxLg2u0T/mxvFilR10Bj5+VniMGqkmM3fKlNIJB5vKsPNlqlPBxBE/ERODZYnD4ovApbOgaWkmvEE/ObSuSbBrHwJMe660MAK27//NkVPQLpHIWPsDhOlhX6EREQ8Fc1ss2OinrrW0BQwweCKdrTDi6gd/VPXSg8GbzWmVmZfIaTJDdWQvCrzt9TlKpD2pmArtbgikCpgtXPhWm0HVuP41qY85m2knqecSIuKgAf0ubuVlHxIl9JvsXL+ueRsdLQ6ZznYg/QvVfd9jDO/V3LAu7RlV948XevPhKopyi0OKKil6lsIjMOsYW8PT5+GzJwkcInqAMTgJlCpNoXS2Wsr5vqIfdE3ubtJIsx7THMoY4WH6vYYWHiXivkBG1Xhly6XAOsFibfRwzdgHZwBvjJdPYhi8ShgEo0Ss3E00it1l0Zl23pEBlV/wM66hYfFo9QV98UGPJF3Gvw8MJJBCT1S+DkF0fusntiYJcYlJbUr169diIzsX2D2M150JuoUCf2GcEsDQQrwurfAXZbBcY5WH6Anq57JgdVSOkhM07D5jCLG0ykB04FWufV3qK5y/3mA21CTXfsPETgFacveXafy7S/uWyisQff26BTt/A1vTLZRO5LukHQ+4zF8wI72P2N6YhlKWG05K0eRMBO07qikDt/WoOn4owQpL4jRzm/QFGxMk+CRq+zCtKI8cMuZMtcfNNKq6BgjFFnzcAUOC+6AwLq8V2+xGp0GLFMREBWFCwiNDHsYKU5Q937rt64abN5ejb2FUUCBk5Fsz4YNG5fGOXyFkWw bgYTq6t7 e6y5lUYNxnCMW7ls2/u62yHNbrel+qr4LqcmlOYAjcdcKt3rCzmhrcU1+DKJJxHGi9/YiYaQyJSZ/IbzGS5JmmNCZ6YUTMuzgrQnH2sDFoO4bKo89WNgBrDM3/yft33MHVVZoUO+gtZF3Jt+3eQgMyr5NP/B7fAavoD4+gM5Nnm9iOsQzNAQh64SAKTGcqjEv+aqKNjJUNY4fmbi/WdwO3PtojOhjlIs1XrxXVSZ/3vxBU40u24YIApZYIufw6SMuSloB96Oy7JfcK1VyV8LlVULYxlPE1cMEc2hAfDtLnfGhZhXcLMmbsrELvl8QTZVDQlO4 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: Prevent KMSAN from complaining about buffers filled by cpacf_trng() being uninitialized. Tested-by: Alexander Gordeev Reviewed-by: Alexander Potapenko Acked-by: Heiko Carstens Signed-off-by: Ilya Leoshkevich --- arch/s390/include/asm/cpacf.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/s390/include/asm/cpacf.h b/arch/s390/include/asm/cpacf.h index c786538e397c..dae8843b164f 100644 --- a/arch/s390/include/asm/cpacf.h +++ b/arch/s390/include/asm/cpacf.h @@ -12,6 +12,7 @@ #define _ASM_S390_CPACF_H #include +#include /* * Instruction opcodes for the CPACF instructions @@ -542,6 +543,8 @@ static inline void cpacf_trng(u8 *ucbuf, unsigned long ucbuf_len, : [ucbuf] "+&d" (u.pair), [cbuf] "+&d" (c.pair) : [fc] "K" (CPACF_PRNO_TRNG), [opc] "i" (CPACF_PRNO) : "cc", "memory", "0"); + kmsan_unpoison_memory(ucbuf, ucbuf_len); + kmsan_unpoison_memory(cbuf, cbuf_len); } /** From patchwork Wed Jun 19 15:44:01 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Leoshkevich X-Patchwork-Id: 13704239 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 B9E26C27C53 for ; Wed, 19 Jun 2024 16:33:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1AD6E8D0085; Wed, 19 Jun 2024 12:33:57 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 072AC8D0066; Wed, 19 Jun 2024 12:33:57 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E07B18D0085; Wed, 19 Jun 2024 12:33:56 -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 C33378D0066 for ; Wed, 19 Jun 2024 12:33:56 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 7123B41419 for ; Wed, 19 Jun 2024 16:33:56 +0000 (UTC) X-FDA: 82248184872.02.45A6D55 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by imf01.hostedemail.com (Postfix) with ESMTP id 1963F4001C for ; Wed, 19 Jun 2024 16:33:53 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=M4Gv2CfU; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf01.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=iii@linux.ibm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718814827; a=rsa-sha256; cv=none; b=GMxTXj2c5wpl5WShO8Dz1AL4iNAQ8JCy3gywRZyEwl1dAUCliyVqlPuyUrn7vxpA1vfFXm pGuv+fzTSJvXC9mPU+JCEVV9Ni6yV/BOsXPOqstswRZ+NypjA+F7ZVlmdvETJ3WxYLoCNh +BjMICGN260B/X+sUtse0A6gparHfMg= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=M4Gv2CfU; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf01.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.156.1 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=1718814827; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=tPY2/xfj0WoITwfgq4isE+nahUee+x7RgpdrRutXdLc=; b=pmNBWYbGoATP5EXuThygFh19Dcay4/bUL79sFpmOLK5gDUv/ILZbX/g5JRnxySBdjClspY ZBJxfHxkLu1dVCpWQk9jisBPgCmp3hoddH7r/+8Fmg71F5VGeb441E0pcT8vUiE7mo3yc3 QIsnkli/dpkk1qYw24TxJwL+FnFjaJY= Received: from pps.filterd (m0353728.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 45JFQiFX016498; Wed, 19 Jun 2024 15:45:50 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from :to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=pp1; bh=tPY2/xfj0WoIT wfgq4isE+nahUee+x7RgpdrRutXdLc=; b=M4Gv2CfU4LF+PMUZ/P6IcdsE1cRuv UKAlZo7rZpz1F5htp0sksxOUHGfiHFJO90HZYOmVRb4xDzC4azCeLMfXtu5sEc64 4IIOe0vwASxtO1NT905qI19ETQr+cINZeHK5yRbnjSY35Gya6lIaTexMVPYn4B8c i/vXIgZQVoEBwvIto1OLOG97iZTgUq0999/ig5Rs+5c8sD/fsDBkgDz7sfFySdU8 YiT/Z3H55U7MNX7Zh4wHCPVzwX7aZ4PgdIkjrUd+tY4rPgXsDqvogU7/UA3boE+f gsd+N6HkJljsocQbjVIL4GRezSb2buMtj+nheLLnboAniGleA6sMLvNww== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv0p9gauj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:50 +0000 (GMT) Received: from m0353728.ppops.net (m0353728.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 45JFjnlR015818; Wed, 19 Jun 2024 15:45:49 GMT Received: from ppma13.dal12v.mail.ibm.com (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv0p9gauc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:49 +0000 (GMT) Received: from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1]) by ppma13.dal12v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 45JEaA8K009941; Wed, 19 Jun 2024 15:45:48 GMT Received: from smtprelay07.fra02v.mail.ibm.com ([9.218.2.229]) by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 3ysqgmwmnh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:48 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay07.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 45JFjg5R52101510 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jun 2024 15:45:45 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id E0E882004D; Wed, 19 Jun 2024 15:45:42 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 9298D2006A; Wed, 19 Jun 2024 15:45:42 +0000 (GMT) Received: from black.boeblingen.de.ibm.com (unknown [9.155.200.166]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 19 Jun 2024 15:45:42 +0000 (GMT) From: Ilya Leoshkevich To: Alexander Gordeev , Alexander Potapenko , Andrew Morton , Christoph Lameter , David Rientjes , Heiko Carstens , Joonsoo Kim , Marco Elver , Masami Hiramatsu , Pekka Enberg , Steven Rostedt , Vasily Gorbik , Vlastimil Babka Cc: 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 , Ilya Leoshkevich Subject: [PATCH v5 26/37] s390/cpumf: Unpoison STCCTM output buffer Date: Wed, 19 Jun 2024 17:44:01 +0200 Message-ID: <20240619154530.163232-27-iii@linux.ibm.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240619154530.163232-1-iii@linux.ibm.com> References: <20240619154530.163232-1-iii@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: MQJ_dURzM-5GEVXffgkba3S507BXDR3N X-Proofpoint-GUID: dwqmb114eEQPjYtUC_yhsHa4FOTTZQn8 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-19_02,2024-06-19_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 mlxlogscore=948 clxscore=1015 mlxscore=0 spamscore=0 malwarescore=0 adultscore=0 priorityscore=1501 lowpriorityscore=0 phishscore=0 suspectscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405170001 definitions=main-2406190115 X-Rspamd-Queue-Id: 1963F4001C X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: podk7oymf84yw83dziypz89rug9roynr X-HE-Tag: 1718814833-184699 X-HE-Meta: U2FsdGVkX1+NEQRiv9BOcNopNd09cNCa2DLk5qtYhJZqRCZW53f/LrvI4KloAZ4NQWS3uD6TuT0tiEAWlfaFoQ30Xf7Y8gpSsX6eUnPhBCk8h+3UE47zadVMNr1ChdkQ6ac+dpqX8XCou7o9nGBCMYqT8hua1BkfZWdywXPsRpLYhbXdfYnHwc38jXmRy/dpW+Ai7Fao379uowJQET9UKI6j0e5dMzlwD5SDgE6VTY3tO+eIJxNTHxbtuNp+3rytrialSVIKjW5A6y0EPWT1hmFYzGxD6cSWu3oLVctCIKsyYQdBcrAUA4swJrD1TXvNRCUXtlSS4m+/vF4g9t5ZeYZINZB7qzBqY9kz868rJWX2NneSba0A461FqqvMZG+F4ofPEmP2ahXyMga8wjBBe0c8aH9IZN9bkt64lIHggVyFhC90h8a0bPvJSN1Vlw2owfxDY1HO6bHVpBsE8Zuz2ErBGSZ2rckd5JS2nvzcwK7tuaMdcBLp8fK5eEC4ztoX1U2seSjOwOELCxVDmsKH0H/BGmj5hGNMwJv8shUdO9U2h3nA725XyENjV2nFdyNpxU/Utqu5uGyW4Yc1bXFWXoAx+virtpI/dkG4J8lOpVZpDkDaQfBVr3mgsBzA0eZnfggEjFJel4cFAlD/1qqlZPRMakmJGbRl1Xj9FvuDFGELeAO5kpGTAmChZLQfExO6X9UO/rxQJUjn+GK0HcmDKURnjGNvF3dhWWuQ+NOFW6bLTL2n39KISomSqlNGpTaD0uR6eYZ98wqXVhg/HZa63uYRJoK9u/cSDOb2oN/tkGzm4gmF3db0xnXVtKYx/o2H9BByUioO2HN0jnWHDK58am2XQqVFOnpqunEvHCXe9Gz59JJC/gfGGSXux27/7m9R2UQpXCEqb+XKwFrcOE0zqIMULpSypSDQpYp0CpkQQWcW+ZnHDBlEpRn4q90b/X4/x94LSgJv/mHyfnaNm+v 4VCR6OIF MO9hklC6jijoEQT+HVFD9394H7mgUPTd0ZRQOz4c6/uMwIEgOwJPwGYezPQMCjBCUfMinCErcHflSVa+SluELsms8ABWID/h9pd8eOgFJyh+g+WSTZEtZzP7QUVluMpZuKnXElxnJzuzLswErPWifON+P2IoOyErOC7Lhi9XC28XTVULDToDTL83HUWdcqUtjyOZBmTSHMgeCMMDgUShvK6VNYQcObVtXB/qedf9YlvgLKJYTrKu4lLFZKOc/oRn4LWqg4W5ftdgk+3rjcKUOligaImFIxowu7nvYuymeZMQgLLcShvVjElWzhGcN0go1vikSKTa4LVwxo7s= 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: stcctm() uses the "Q" constraint for dest, therefore KMSAN does not understand that it fills multiple doublewords pointed to by dest, not just one. This results in false positives. Unpoison the whole dest manually with kmsan_unpoison_memory(). Reported-by: Alexander Gordeev Reviewed-by: Alexander Potapenko Acked-by: Heiko Carstens Signed-off-by: Ilya Leoshkevich --- arch/s390/include/asm/cpu_mf.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arch/s390/include/asm/cpu_mf.h b/arch/s390/include/asm/cpu_mf.h index a0de5b9b02ea..9e4bbc3e53f8 100644 --- a/arch/s390/include/asm/cpu_mf.h +++ b/arch/s390/include/asm/cpu_mf.h @@ -10,6 +10,7 @@ #define _ASM_S390_CPU_MF_H #include +#include #include #include @@ -239,6 +240,11 @@ static __always_inline int stcctm(enum stcctm_ctr_set set, u64 range, u64 *dest) : "=d" (cc) : "Q" (*dest), "d" (range), "i" (set) : "cc", "memory"); + /* + * If cc == 2, less than RANGE counters are stored, but it's not easy + * to tell how many. Always unpoison the whole range for simplicity. + */ + kmsan_unpoison_memory(dest, range * sizeof(u64)); return cc; } From patchwork Wed Jun 19 15:44:02 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Leoshkevich X-Patchwork-Id: 13704225 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 C9491C27C53 for ; Wed, 19 Jun 2024 16:19:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 54C4E6B03C6; Wed, 19 Jun 2024 12:19:33 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4FC696B03C7; Wed, 19 Jun 2024 12:19:33 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 34F1B6B03C8; Wed, 19 Jun 2024 12:19:33 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 11BF66B03C6 for ; Wed, 19 Jun 2024 12:19:33 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id B201CA37B0 for ; Wed, 19 Jun 2024 16:19:32 +0000 (UTC) X-FDA: 82248148584.23.38FF3AF Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by imf11.hostedemail.com (Postfix) with ESMTP id 5354440016 for ; Wed, 19 Jun 2024 16:19:30 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=A5caICuy; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf11.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=iii@linux.ibm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718813964; a=rsa-sha256; cv=none; b=gyT7CQUI5nTYqY0C/vPufRCD8XuFnV8o6J1BryRwvu0UF+DLu8iIe6ZEVXWHwj8teNk512 otUiRB9LyYPEajr/zM5eXZCSM8n6Dbd+JsbH9LmdcxXLCEx80679VU9bVtEB5TdjkQDCCW tuW5J66NrS5+juz4rJXN2aL4Oa1jcrM= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=A5caICuy; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf11.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.156.1 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=1718813964; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=//0Kc+3BL5cKzp2INWy7uHqYWutu2bfhjte7hQD65vA=; b=aC/IeYr4u7/6qdM6gepQSPNLaiYIVH1ZR9ahpFr0fkOOfS/W218WmOdatKqgzd4o5K6pfD 1D73ML/G7pVdIgJu3xNU3eRGXw9OcQmvet7dwzp0+8Z8hx08NdZHaS7b8rR86B79vmN4zn Lklj/Yn5qkY2aCRtPPedoPq42W1tEGs= Received: from pps.filterd (m0353729.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 45JFSRAC028320; Wed, 19 Jun 2024 15:45:51 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from :to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=pp1; bh=//0Kc+3BL5cKz p2INWy7uHqYWutu2bfhjte7hQD65vA=; b=A5caICuydwXdeGUOB8feZbS6lZJBN RgoSfNIuLx2JiIPd5XdDr5butxXht3jkARF1VtnjjzdFshXK/nluDdFfCtGnibAH wVB6CkJtwcbP47oBSgpMcDn5WCzBwtAppRGwfy9+9wJ0/FcRo1UZbEgZ4OZ5bQkx v9CrjMesGGyOeKu4d9vkIJlW0Z6+AdPB+0//qWwXDs/I6QvoPmilR/YCICoD6F8c eCaBsQrgSYsnNBD8LATk8HFrTiiGzHPzMCHmL7UtYyKyW9aeLMv5stQUgj34ZPht fqtbmqlKVUtJttOXMXajUdOTbXssY/6LJAx7dLTpn7jSn95uKLjK/hf4A== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv20g81kq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:51 +0000 (GMT) Received: from m0353729.ppops.net (m0353729.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 45JFjoT4023087; Wed, 19 Jun 2024 15:45:50 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 3yv20g81kk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:50 +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 45JFclPS023957; Wed, 19 Jun 2024 15:45:49 GMT Received: from smtprelay03.fra02v.mail.ibm.com ([9.218.2.224]) by ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3ysp9qdyqp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:48 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay03.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 45JFjhhx53149974 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jun 2024 15:45:45 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 43F5920040; Wed, 19 Jun 2024 15:45:43 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id E6A2F2006C; Wed, 19 Jun 2024 15:45:42 +0000 (GMT) Received: from black.boeblingen.de.ibm.com (unknown [9.155.200.166]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 19 Jun 2024 15:45:42 +0000 (GMT) From: Ilya Leoshkevich To: Alexander Gordeev , Alexander Potapenko , Andrew Morton , Christoph Lameter , David Rientjes , Heiko Carstens , Joonsoo Kim , Marco Elver , Masami Hiramatsu , Pekka Enberg , Steven Rostedt , Vasily Gorbik , Vlastimil Babka Cc: 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 , Ilya Leoshkevich Subject: [PATCH v5 27/37] s390/diag: Unpoison diag224() output buffer Date: Wed, 19 Jun 2024 17:44:02 +0200 Message-ID: <20240619154530.163232-28-iii@linux.ibm.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240619154530.163232-1-iii@linux.ibm.com> References: <20240619154530.163232-1-iii@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: QudXJDIvYziPgdRiaXecLoQXxGjFWwwP X-Proofpoint-ORIG-GUID: A9WWSzulaN_bPfxFgfkLwK1RnSV4YAj5 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-19_02,2024-06-19_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 bulkscore=0 suspectscore=0 malwarescore=0 spamscore=0 impostorscore=0 phishscore=0 clxscore=1015 mlxlogscore=999 priorityscore=1501 adultscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405170001 definitions=main-2406190115 X-Rspamd-Queue-Id: 5354440016 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: ba45ujkfrw4o39dqtoodhia5i8gf3h6k X-HE-Tag: 1718813970-722470 X-HE-Meta: U2FsdGVkX18BsRjk0UkDvS6j8fzIUmj6HSwSdGqtnNmw3sEVFGr6/fYu1gvEG2AUfvitSlnDeQA6Hf/vassa0UIs2DeXfjJCjnmEcWmF/MrNdjSSBAJBx78pLeEoNNDGNln6M7PPyENm3bNfOao0sCYPsFEtCX6hmCRQQi8of8r7rARXM6grNd3bBUJVJ72DVvPbIZgVcqmbh0r9pxkbs1QEymJLjmX9/1cyVpbFzEPnuM0qg/NPMJb0rzRxJNiXqLb5BY8fvqCm4niEPNhj3Yui+LTB2hY/V5hZ5BcyyeYJ7POmb8GH5jylGOhmc6p9e0Ry5TMijgyVbFLDvZcMQatfKJP01aQGrJB4/6++uhH3loz3nIZ75h/IQ81piJ4b1tSsHq8mVkqTpF2+Af82H5g0rqCx/UJzeR8jfyBQ2G8HWYYFtLIz10wAz0ZcYe2Gwrqk4Aixx85QgL6vihBQjSzD2g12+oNhzyYXNJ4w+n03h8iaofNyKJBSTotMa5lPM7X8u1Nnuh+8y4tmP67Hp04tZZoSHBsjqKGnqPfIRmMHEDnLFOEzZlUxp7K1P7nlnB5eG1TogC5kLFpMoobcEY/gLpWHLxpPNAKUEaI2Yp2A8NsmTRlHbVkcjXUQkdAkNcerkr0YDAdRJ3TdxAJPTgEqWha+huGeSzX3VVB2Dt4m+g5j8THLHs9An/s2T5gYFSLETKzSDQy/zuifNfm4vJfZq5jjig5Z5119zAY1k6JEJIEO6bzZyUk2z42PWogoNKuZ6bI1NTe6NY9Wsur7AoQPuHA0unJk8EGzPOxQO5fjV4afUYgny7k5Mui+eDzVo4FJWEXt35zWSPZ9ySjLmqrDd4LIKEqFbuspCEwQ9+dClML1dSRfbN29UNDb8y/Kv8/KHxZz3xYgWiUvm7l2bFguTbtt+DH0zI8/n+2FtmbsffOe436S00CSpuemGCiYOYnx+OByG9PyotYUmLM /T6urTQL mfb99I0zwyywgPsRYoUVEX6c5/wtPvL2Jolpy7cXYw3kZYIjycL4jfem/AvjSCWMZJeT8ls1xw4Q0pgCJfLMdzhksVFla4772Dtntwi91bpEduGEKKZ2FywlEA7mNGHMD+0TqyNurCf0mVbnqVknptcKSNY++NRXlPcTifQ99YtOKkdEUBZx/fE70XAAsL81jt/0lSNr0yJ9NR2k3DiGy8A6U3t9bNHyCI1sbASRn4DdxTYCLgPnn1gxCIjdB55Zldpf6U4eDBxE9mCXkev9/uMUs/g== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000034, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Diagnose 224 stores 4k bytes, which currently cannot be deduced from the inline assembly constraints. This leads to KMSAN false positives. Fix the constraints by using a 4k-sized struct instead of a raw pointer. While at it, prettify them too. Suggested-by: Heiko Carstens Reviewed-by: Alexander Potapenko Signed-off-by: Ilya Leoshkevich --- arch/s390/kernel/diag.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/arch/s390/kernel/diag.c b/arch/s390/kernel/diag.c index 8dee9aa0ec95..8a7009618ba7 100644 --- a/arch/s390/kernel/diag.c +++ b/arch/s390/kernel/diag.c @@ -278,12 +278,14 @@ int diag224(void *ptr) int rc = -EOPNOTSUPP; diag_stat_inc(DIAG_STAT_X224); - asm volatile( - " diag %1,%2,0x224\n" - "0: lhi %0,0x0\n" + asm volatile("\n" + " diag %[type],%[addr],0x224\n" + "0: lhi %[rc],0\n" "1:\n" EX_TABLE(0b,1b) - : "+d" (rc) :"d" (0), "d" (addr) : "memory"); + : [rc] "+d" (rc) + , "=m" (*(struct { char buf[PAGE_SIZE]; } *)ptr) + : [type] "d" (0), [addr] "d" (addr)); return rc; } EXPORT_SYMBOL(diag224); From patchwork Wed Jun 19 15:44:04 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Leoshkevich X-Patchwork-Id: 13704201 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 D3A4EC27C53 for ; Wed, 19 Jun 2024 15:46:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5837F8D007A; Wed, 19 Jun 2024 11:46:03 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 50AA36B02FA; Wed, 19 Jun 2024 11:46:03 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 383456B02FB; Wed, 19 Jun 2024 11:46:03 -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 18E726B02F9 for ; Wed, 19 Jun 2024 11:46:03 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id BFF0C8078C for ; Wed, 19 Jun 2024 15:46:02 +0000 (UTC) X-FDA: 82248064164.08.E049B3B Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by imf12.hostedemail.com (Postfix) with ESMTP id 78EA24000D for ; Wed, 19 Jun 2024 15:46:00 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=f4W6JVtH; spf=pass (imf12.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=1718811956; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=+zoFJVlk37wQaOMfwbNCgteXo249s6T95ikp3xQJB1k=; b=30JwfPW/gaWKnYzbX4ZCXbgQ28ynXNcPSnQpL6Avk/gl7j0FblI3jt6rpF8H58YnJ9cMd4 Mwy1jArwxNFE/x4yZIV55YoQM4vljGNlBF1kb9+ndHtPkUZ1HPkBhVM1fi2gvaMlNG04+J RoYdhnFqNys2S77d7fhfn49c9o3HOUo= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=f4W6JVtH; spf=pass (imf12.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-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718811956; a=rsa-sha256; cv=none; b=gB1WEGs8Lt2JpECv7TWpiDvTqsUzXyEBLynZf6KctPeaNc3n1qfgHf/92sAUtpleLjwiQ/ 4E+UxmPunyY8NGq+NGyqlJ7IOg7iXKusI4/hPBbM2o9mxMRClfNkUFIQGK8vcUuMomj+nk c+Xs29AWkZm6xBp4PsMuugdEck7z4x4= Received: from pps.filterd (m0356516.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 45JFTKd2014408; Wed, 19 Jun 2024 15:45:52 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from :to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=pp1; bh=+zoFJVlk37wQa OMfwbNCgteXo249s6T95ikp3xQJB1k=; b=f4W6JVtHq4EKshlsfmSUxYasEOGoO sCo0w9FlrZWV7UQRPFoeuIY5jpsgWudzuBHKBiwygPnHrHbRZK+R0mzFK9mySPY3 F61oIHqZm0ZopqP4zEayMiu6kPPyp9PI2fOIY6iiLv4i+hOZgOWWlhZhqEY2njU/ bAJjiqZVY3MZ5nB+klt5jG3dHIzqezVf60I+4Mq4nvehiTuxQgB2FAHSP/aHwB6T 3QEsplzpVujbNmxr4VLyj8ThH4uXlmme0RbL3JjyEiCQADRQiEikEyIO1SLmjmuM zheab/qJxkV5ZbpQTrxpnFEB0xKRSQ0YUWJejNY0HCyc1d1NFvKoojFDg== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv20hr1fb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:51 +0000 (GMT) Received: from m0356516.ppops.net (m0356516.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 45JFjoKh009130; Wed, 19 Jun 2024 15:45:51 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 3yv20hr1f8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:50 +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 45JFhxiu023990; Wed, 19 Jun 2024 15:45:50 GMT Received: from smtprelay04.fra02v.mail.ibm.com ([9.218.2.228]) by ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3ysp9qdyqv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:50 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay04.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 45JFjiH211469088 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jun 2024 15:45:46 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id E9B2520063; Wed, 19 Jun 2024 15:45:43 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 9B67720067; Wed, 19 Jun 2024 15:45:43 +0000 (GMT) Received: from black.boeblingen.de.ibm.com (unknown [9.155.200.166]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 19 Jun 2024 15:45:43 +0000 (GMT) From: Ilya Leoshkevich To: Alexander Gordeev , Alexander Potapenko , Andrew Morton , Christoph Lameter , David Rientjes , Heiko Carstens , Joonsoo Kim , Marco Elver , Masami Hiramatsu , Pekka Enberg , Steven Rostedt , Vasily Gorbik , Vlastimil Babka Cc: 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 , Ilya Leoshkevich Subject: [PATCH v5 29/37] s390/irqflags: Do not instrument arch_local_irq_*() with KMSAN Date: Wed, 19 Jun 2024 17:44:04 +0200 Message-ID: <20240619154530.163232-30-iii@linux.ibm.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240619154530.163232-1-iii@linux.ibm.com> References: <20240619154530.163232-1-iii@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: JkoSaKFCRfRLJ8vnhBHJK2kOBJWSxeGc X-Proofpoint-GUID: IOuM539aevafZuGj-t_FfvZHpXmybvpj 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-19_02,2024-06-19_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 mlxscore=0 phishscore=0 clxscore=1015 bulkscore=0 suspectscore=0 priorityscore=1501 adultscore=0 lowpriorityscore=0 impostorscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405170001 definitions=main-2406190115 X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 78EA24000D X-Stat-Signature: atqft5tafk8u3gcy1jxf6reapfr65ju5 X-HE-Tag: 1718811960-159456 X-HE-Meta: U2FsdGVkX1/nNGLlwdhik1FPfQVnl+uqIJCbKeHPeM9JMLZFpGZOmAprGZdVjh3EKNzHNm69RAlprLRMfEpO4lF/qEiol51vMks12bDrAjFV2nX+/ITwl08yBBGsUy0UI+CgLg7gHgRrcs7KHcBhbkd5XaB342U0imQ1wy9EhbrsNjaDBOuRjGohNzjTjcijLO5vmeVmPQd+h4i3PITP0bCoWCvgpXloiL7+1QD9XLXlKx2eUvAsKMjhiookpI4fWbFwDzksOu+/n8PqmHGH+sxP+Or/U2PEOR4+XHaFBtVdQKDm5CkwBHBdePNzsq/CdGjfl5TTiV4ChbZb7H+TekedNWtUk9/BnYsACcsPmni5ktvldAw9Vq2woBVbWEaMcevSPKraeEE1uGDzDV+GygpE2OIIm6b5NEKINSNH8BZQMHHFjeUrTteTPENDree69CYXxka9FXzli3sta5SvzkRv4Y98TuZZoQNkn0EFoX9Evx4DZ9/QGhjbBzYuduv//zRj8yCo/pJgQHfPA5sfi4pdNAjSbkizwcUs9c1uOenRrxLC/Zw3wxY9ZqJS9oloxknS7f4tu/2+FwkRdWFfpuXqWPBBPWmKIFiLH3uxlJJIszzA2bNz2btEsg489D13oV0fqMuwUMuerJwyoizwVcj8FDrS4C9H+rgiSh4lVz5TZ6r4wg4qRrKZyEJq1OZInjDse/NzGgLqxpmHXZodjMxSQSnp/a9H4gE/S//Z7ujjusmV6iiHHhzlEllfM/CVghdGIXEd2joa8X+BG6zAwd+rA9e6q9EOSqvov0Fgs94IzIgnPLOafYdEYGuOKsRpLw/KFRU8uAU050zDoXfj6N0h8OUHdWV2GSRhL449bNk/rTRKkTA1V5+xAvG3leQFUNj9yCexKEKFnDFlxoou0wAm5WPxBGxWY2XkLkzk81J8ZzH/slgngkcy+DKt6Ygml+ZWDrILDyCFVZZCfTr vkmbRIGd 3zeLl35in6uVfzH5jumcVcHeRtbZ8BxLV2jZRA1ifyTzwDvmPgbPNOwDlmWDSUodjsTwJoxCEP1Bm9nE2w1CC0h+Zt6W3P9IbnlXiYc09gKtpXBVdhKeSmXlWNGG9p7DYI9R3beWBPuR9W+ltCPStUZo7fKNn4UrYlDdQSqg2eLonWTrbUvAGf9PFPNLhGcxYK3abt+btuD4MeJaW+rP9LOCJ/u4ohWh3RdXQi/PG/aiN03yAu5mQszihvbDC58sHURjtleAEHmQ7qiE+OT9DHZrvZT7uYKxkbw4c9GFd7eDkJGhvrtnv+zzieayVigRWlJHc3FStjcvHu+g= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000007, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Lockdep generates the following false positives with KMSAN on s390x: [ 6.063666] DEBUG_LOCKS_WARN_ON(lockdep_hardirqs_enabled()) [ ...] [ 6.577050] Call Trace: [ 6.619637] [<000000000690d2de>] check_flags+0x1fe/0x210 [ 6.665411] ([<000000000690d2da>] check_flags+0x1fa/0x210) [ 6.707478] [<00000000006cec1a>] lock_acquire+0x2ca/0xce0 [ 6.749959] [<00000000069820ea>] _raw_spin_lock_irqsave+0xea/0x190 [ 6.794912] [<00000000041fc988>] __stack_depot_save+0x218/0x5b0 [ 6.838420] [<000000000197affe>] __msan_poison_alloca+0xfe/0x1a0 [ 6.882985] [<0000000007c5827c>] start_kernel+0x70c/0xd50 [ 6.927454] [<0000000000100036>] startup_continue+0x36/0x40 Between trace_hardirqs_on() and `stosm __mask, 3` lockdep thinks that interrupts are on, but on the CPU they are still off. KMSAN instrumentation takes spinlocks, giving lockdep a chance to see and complain about this discrepancy. KMSAN instrumentation is inserted in order to poison the __mask variable. Disable instrumentation in the respective functions. They are very small and it's easy to see that no important metadata updates are lost because of this. Reviewed-by: Alexander Potapenko Signed-off-by: Ilya Leoshkevich --- arch/s390/include/asm/irqflags.h | 17 ++++++++++++++--- drivers/s390/char/sclp.c | 2 +- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/arch/s390/include/asm/irqflags.h b/arch/s390/include/asm/irqflags.h index 02427b205c11..bcab456dfb80 100644 --- a/arch/s390/include/asm/irqflags.h +++ b/arch/s390/include/asm/irqflags.h @@ -37,12 +37,18 @@ static __always_inline void __arch_local_irq_ssm(unsigned long flags) asm volatile("ssm %0" : : "Q" (flags) : "memory"); } -static __always_inline unsigned long arch_local_save_flags(void) +#ifdef CONFIG_KMSAN +#define arch_local_irq_attributes noinline notrace __no_sanitize_memory __maybe_unused +#else +#define arch_local_irq_attributes __always_inline +#endif + +static arch_local_irq_attributes unsigned long arch_local_save_flags(void) { return __arch_local_irq_stnsm(0xff); } -static __always_inline unsigned long arch_local_irq_save(void) +static arch_local_irq_attributes unsigned long arch_local_irq_save(void) { return __arch_local_irq_stnsm(0xfc); } @@ -52,7 +58,12 @@ static __always_inline void arch_local_irq_disable(void) arch_local_irq_save(); } -static __always_inline void arch_local_irq_enable(void) +static arch_local_irq_attributes void arch_local_irq_enable_external(void) +{ + __arch_local_irq_stosm(0x01); +} + +static arch_local_irq_attributes void arch_local_irq_enable(void) { __arch_local_irq_stosm(0x03); } diff --git a/drivers/s390/char/sclp.c b/drivers/s390/char/sclp.c index d53ee34d398f..fb1d9949adca 100644 --- a/drivers/s390/char/sclp.c +++ b/drivers/s390/char/sclp.c @@ -736,7 +736,7 @@ sclp_sync_wait(void) cr0_sync.val = cr0.val & ~CR0_IRQ_SUBCLASS_MASK; cr0_sync.val |= 1UL << (63 - 54); local_ctl_load(0, &cr0_sync); - __arch_local_irq_stosm(0x01); + arch_local_irq_enable_external(); /* Loop until driver state indicates finished request */ while (sclp_running_state != sclp_running_state_idle) { /* Check for expired request timer */ From patchwork Wed Jun 19 15:44:05 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Leoshkevich X-Patchwork-Id: 13704238 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 04D98C27C79 for ; Wed, 19 Jun 2024 16:32:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 862886B00D7; Wed, 19 Jun 2024 12:32:14 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7EC396B00D8; Wed, 19 Jun 2024 12:32:14 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 615E86B030A; Wed, 19 Jun 2024 12:32:14 -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 368446B00D7 for ; Wed, 19 Jun 2024 12:32:14 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id E198BA405A for ; Wed, 19 Jun 2024 16:32:13 +0000 (UTC) X-FDA: 82248180546.19.D94502B Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by imf04.hostedemail.com (Postfix) with ESMTP id 7A32740011 for ; Wed, 19 Jun 2024 16:32:11 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=giV3GCSu; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf04.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=iii@linux.ibm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718814725; a=rsa-sha256; cv=none; b=25M0hwWGsPqYShddo09Lg3nqT5+sV/ccmFIpT6TeCnxsrYyM/Ul5BfKz50SJyto/TQUOw5 9EVkFWKNocec/LvpOqOblh3peHfB46ubntAUB2OEO2dcTg8QkBXonxwVRJA8Vx9u3TgBAJ eGUTkKo4fbD7GgtWP0rIiGfP8VrDvh4= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=giV3GCSu; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf04.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.156.1 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=1718814725; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=1loLMhtSJ//mVR2W6iv7p+SprUeUNXIsjh3OlBetJcI=; b=hte4/2Fb895JugnHqwM23mYqHkX++MdjpGpTvP/qOupvNYjQ4sHwzeEBe0Jnwc8b7UWZMT aAGsa1KJrT1C4XMqEqHAEoc8oi+KbUSI53ptxRr8W/9Mpu8oj+9Gsm6uKWSPdUQNrtyjoq SlJ7q6wKNW1+kgGIt5lEShT9CZZU/2c= Received: from pps.filterd (m0356517.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 45JFQlR4018028; Wed, 19 Jun 2024 15:45:52 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from :to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=pp1; bh=1loLMhtSJ//mV R2W6iv7p+SprUeUNXIsjh3OlBetJcI=; b=giV3GCSuSRIby5ry/DXskg0sjwva3 yiZF0NIBT1G9/u3p/Bi/StG2hvOMT8dskezLNFjmjhQ8eZPoyTStwq3Gig1C3v96 4cLKPTtk8ulvP6SSdOutkJu9CVz9AZP51GLXwvlkkA6s2ktB9dZ9bOqMakw3f2EG WDFSjAiTHmnSG4OFpX3xz5J3hyft2PES/TAPlCa/Iv1XSLxGjxlgStM9XJJYPd3e NeXa2KpcNj2pkYER7I0BlkAfbnRdbRwZx43ybmRofB6Xxo2ifM23Lkb1AYX2jW0i cmrzxKVX40FxFqxvtvj9eHz/RBVEAwN4vPAO8FYah+8xgxlxf5d2mqp6Q== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv1jg8546-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:51 +0000 (GMT) Received: from m0356517.ppops.net (m0356517.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 45JFjol9016365; Wed, 19 Jun 2024 15:45:51 GMT Received: from ppma12.dal12v.mail.ibm.com (dc.9e.1632.ip4.static.sl-reverse.com [50.22.158.220]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv1jg8543-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:50 +0000 (GMT) Received: from pps.filterd (ppma12.dal12v.mail.ibm.com [127.0.0.1]) by ppma12.dal12v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 45JExeaH006285; Wed, 19 Jun 2024 15:45:49 GMT Received: from smtprelay04.fra02v.mail.ibm.com ([9.218.2.228]) by ppma12.dal12v.mail.ibm.com (PPS) with ESMTPS id 3ysn9ux8n7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:49 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay04.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 45JFji9C20382130 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jun 2024 15:45:46 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 49C5A2004E; Wed, 19 Jun 2024 15:45:44 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id EF5F52006A; Wed, 19 Jun 2024 15:45:43 +0000 (GMT) Received: from black.boeblingen.de.ibm.com (unknown [9.155.200.166]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 19 Jun 2024 15:45:43 +0000 (GMT) From: Ilya Leoshkevich To: Alexander Gordeev , Alexander Potapenko , Andrew Morton , Christoph Lameter , David Rientjes , Heiko Carstens , Joonsoo Kim , Marco Elver , Masami Hiramatsu , Pekka Enberg , Steven Rostedt , Vasily Gorbik , Vlastimil Babka Cc: 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 , Ilya Leoshkevich Subject: [PATCH v5 30/37] s390/mm: Define KMSAN metadata for vmalloc and modules Date: Wed, 19 Jun 2024 17:44:05 +0200 Message-ID: <20240619154530.163232-31-iii@linux.ibm.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240619154530.163232-1-iii@linux.ibm.com> References: <20240619154530.163232-1-iii@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: AecUav4zPu2pbA3kMbY9tgEYraj6MXQ1 X-Proofpoint-ORIG-GUID: aq7PB1sVMkX90gQQlshy4s4Ee0lgg62B 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-19_02,2024-06-19_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=702 adultscore=0 suspectscore=0 spamscore=0 phishscore=0 bulkscore=0 mlxscore=0 impostorscore=0 priorityscore=1501 clxscore=1015 malwarescore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405170001 definitions=main-2406190115 X-Rspamd-Queue-Id: 7A32740011 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: 1eu4rkp4mzbsspra1o7ute5cnhj6t38e X-HE-Tag: 1718814731-888525 X-HE-Meta: U2FsdGVkX18uHHz7I4Q5YNvqAFhAT3VtKarr/6W9zmGITlAYiByHr+vPTBh5jNFFnmC8LJ3AhBF7sxBGWuJ0nIkqVzlW/SIPcrfSDeaKDwXV+tHnMtFRJgU8tNkn0gfaFVcmECyfV4hEFysTeMfSNAx8cofRq3R0C4/z/VvS2hhYvSE+TVM4Otqr789+bLNLJwCW78VGnPUIlQwAczkM+UB1fQVsjpydHgvScAIn2jrpLUAHrxKDv+yP2A/2bEsmwLLt88ajnCdv6eb4MUGKek91czfgqsZGkcoImJJRw8ESIGLsqV3rsd2F520u0vuaBBw1G+5R8S0XDws9PF4iHhm2uQ/0B6MnpBEEdQvoRuW/cGXeO4N9ObSbgYG6/7+sHLEJy1S7+ZStrQ8/G3QfkyxlWxgzvkNzzJ+8ZWSnY0z0f01H0AgvGsHDaHr8jzFEGNIR78SBU2i8Y7nOl6qdNPPJN0QebOv5AvCfWpgrQE+e95eKHUbkAru+6d5w5bJoStXAAeXcXeazoS9EhFhDSMCYnUAq4BmOe0RBHIq3kAqK1MF3fcPGfCzbE/pEU3owRXjKkxAoN9rFiCyH90G95f+EiyKrQ9fONnBfBBjoAw+x0wCBdtE4RDtM4gbhzly9WtsbMIJG7dKZbwaTgOo/Y3dXck2N1ztyWa75uui0E0RYioarTVZrDL5F3fTVOlINYoithne/8YE8HJK4LsiDlXJIkNMy+4Hos/1DZ8sJOLNXmJPDEE8dHl+ErQRonH2ew9c3bm95X2vytvtbs4YatEOn/c88ngbFhacoMNn6j4xNIh6ih97fH8gHtQKImTJGkB89WJQJKOKA1NKuYWCudYlenZ4Lpm0Clnb6to4YCRBpS/2xMpE+pVuD3mooX2cVPQz2+f8hj8DtdIgsrWpVJ/irmozozDJx/em1i69ZKe/x3I9BBOsk5fdUlhpLkt5kqWIG94Q/WbuGBMoKqTJ gSGVVGNe ICYq+3abm0miTePra5GlxXfasjLUN2/li47qFckQDRlvaAHTuw4FLRg69Hk6Hg/je0k65hpNQcKgv/tjQDIwfsWEdAiXa9o/jdVbyftJ1zfaMHFbuwU2X/1nMXVZEvzNQ2R2wh8hNIAVnibfvlIyPcMZ3NLzQz4RUPR7P/ZBJ+YiaWQJIJOwMBlX9aiYnOHF7fvERE++ZOZfFwq+Em6FS6uOnB2O8AqKmRRdzgxr0GIMSCyaQOp6gEevI8kerfn0wRHSoQBSpVdGjttiktGPqIYmdG+9+rSveQNWYodwBjFZIvpFNjGrquqBaSe/VAcKUjmpapXgkNja7rUCxbEwOB3WlDCr3DtfTiXl+EXB/G1vWSqi9AokEYo7j7w== 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: The pages for the KMSAN metadata associated with most kernel mappings are taken from memblock by the common code. However, vmalloc and module metadata needs to be defined by the architectures. Be a little bit more careful than x86: allocate exactly MODULES_LEN for the module shadow and origins, and then take 2/3 of vmalloc for the vmalloc shadow and origins. This ensures that users passing small vmalloc= values on the command line do not cause module metadata collisions. Reviewed-by: Alexander Potapenko Acked-by: Alexander Gordeev Acked-by: Heiko Carstens Signed-off-by: Ilya Leoshkevich --- arch/s390/boot/startup.c | 7 +++++++ arch/s390/include/asm/pgtable.h | 8 ++++++++ 2 files changed, 15 insertions(+) diff --git a/arch/s390/boot/startup.c b/arch/s390/boot/startup.c index 48ef5fe5c08a..d6b0d114939a 100644 --- a/arch/s390/boot/startup.c +++ b/arch/s390/boot/startup.c @@ -301,11 +301,18 @@ static unsigned long setup_kernel_memory_layout(unsigned long kernel_size) MODULES_END = round_down(kernel_start, _SEGMENT_SIZE); MODULES_VADDR = MODULES_END - MODULES_LEN; VMALLOC_END = MODULES_VADDR; + if (IS_ENABLED(CONFIG_KMSAN)) + VMALLOC_END -= MODULES_LEN * 2; /* allow vmalloc area to occupy up to about 1/2 of the rest virtual space left */ vsize = (VMALLOC_END - FIXMAP_SIZE) / 2; vsize = round_down(vsize, _SEGMENT_SIZE); vmalloc_size = min(vmalloc_size, vsize); + if (IS_ENABLED(CONFIG_KMSAN)) { + /* take 2/3 of vmalloc area for KMSAN shadow and origins */ + vmalloc_size = round_down(vmalloc_size / 3, _SEGMENT_SIZE); + VMALLOC_END -= vmalloc_size * 2; + } VMALLOC_START = VMALLOC_END - vmalloc_size; __memcpy_real_area = round_down(VMALLOC_START - MEMCPY_REAL_SIZE, PAGE_SIZE); diff --git a/arch/s390/include/asm/pgtable.h b/arch/s390/include/asm/pgtable.h index 70b6ee557eb2..2f44c23efec0 100644 --- a/arch/s390/include/asm/pgtable.h +++ b/arch/s390/include/asm/pgtable.h @@ -107,6 +107,14 @@ static inline int is_module_addr(void *addr) return 1; } +#ifdef CONFIG_KMSAN +#define KMSAN_VMALLOC_SIZE (VMALLOC_END - VMALLOC_START) +#define KMSAN_VMALLOC_SHADOW_START VMALLOC_END +#define KMSAN_VMALLOC_ORIGIN_START (KMSAN_VMALLOC_SHADOW_START + KMSAN_VMALLOC_SIZE) +#define KMSAN_MODULES_SHADOW_START (KMSAN_VMALLOC_ORIGIN_START + KMSAN_VMALLOC_SIZE) +#define KMSAN_MODULES_ORIGIN_START (KMSAN_MODULES_SHADOW_START + MODULES_LEN) +#endif + #ifdef CONFIG_RANDOMIZE_BASE #define KASLR_LEN (1UL << 31) #else From patchwork Wed Jun 19 15:44:06 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Leoshkevich X-Patchwork-Id: 13704200 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 74216C27C79 for ; Wed, 19 Jun 2024 15:46:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D99556B02F6; Wed, 19 Jun 2024 11:46:02 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D49AD6B02F9; Wed, 19 Jun 2024 11:46:02 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B4CE28D007A; Wed, 19 Jun 2024 11:46:02 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 942756B02F6 for ; Wed, 19 Jun 2024 11:46:02 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 490601C22F3 for ; Wed, 19 Jun 2024 15:46:02 +0000 (UTC) X-FDA: 82248064164.03.8E3B1EB Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by imf01.hostedemail.com (Postfix) with ESMTP id 0D2044000F for ; Wed, 19 Jun 2024 15:45:59 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=BtKVmwsW; spf=pass (imf01.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=1718811956; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=twgTpfHCjImRnKDbwT1fFnn3UXy6li/j6Qe1IMbE5zU=; b=SIvCZ4BF5vx+cKx3BHO4rMkPPYlcNd8wUjtKgx7YoxNM8CnolXvzuQPXNz51KIerYXy9qu 3LLRTo52O5zy2kNjdNgrptcm+wR4Ki6qd3RO61LR7TK7VDUOzpTW3UFFWfMJ+TNhbtEEub ZRxt3qpKO+6KpgX3zddwfETqO3UW77I= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=BtKVmwsW; spf=pass (imf01.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-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718811956; a=rsa-sha256; cv=none; b=Omo/7KlqAkjk4kEv0u319RK+/7NS1lQ9TsAlS8fxoKEkQ4wrawbP6XNW0x7G31+23YeXd8 jzTON2bPYQr60NMveV6RwAWQHJvmbFs2Xs1jKv7rDlHWuGYDzmAqtbz2VM/WS3x1LKVZLz 50nKZI7vhFPMxgRPi0sC4AhZiCHt8f4= 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 45JETPqE000732; Wed, 19 Jun 2024 15:45:52 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from :to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=pp1; bh=twgTpfHCjImRn KDbwT1fFnn3UXy6li/j6Qe1IMbE5zU=; b=BtKVmwsWd+H7ktTfd4QG3tZLVAhCD 1t4VD4CtXdrsM56AO7hs9HPFxerI54jSWqvSf7q2O/dVHj1SL+jI3iOhjfdKQI1P Yv96n+sDzYZwKyg/WRmXNYAnGoCmXtvkE27QOV12WdtkpPgD2KMZ7QbyJ2yLCgq+ pVWKzdLUl1O6VDIuwvJNsno7ckSxbZeAml7Mo4LuLvLrjhbypPfMP+0Cuk/6UfZ9 BvLkeovw2P2rqT5Wg4fNneiAEheskpfqfqFCtnYrJnF+q2AeMw5aKafTn6pRn+AT LkCYex0/3eSdwJmBO6VuW2uIKMzfS/0TDjWwFL2fe4ZSmZP+JfhmflKFQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv14tg8cf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:52 +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 45JFjpu4027917; Wed, 19 Jun 2024 15:45:51 GMT Received: from ppma23.wdc07v.mail.ibm.com (5d.69.3da9.ip4.static.sl-reverse.com [169.61.105.93]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv14tg8cc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:51 +0000 (GMT) Received: from pps.filterd (ppma23.wdc07v.mail.ibm.com [127.0.0.1]) by ppma23.wdc07v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 45JEF4L2011037; Wed, 19 Jun 2024 15:45:50 GMT Received: from smtprelay04.fra02v.mail.ibm.com ([9.218.2.228]) by ppma23.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3yspsndtnw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:50 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay04.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 45JFjiZx32834174 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jun 2024 15:45:46 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 9E7C42006C; Wed, 19 Jun 2024 15:45:44 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 4FB1720067; Wed, 19 Jun 2024 15:45:44 +0000 (GMT) Received: from black.boeblingen.de.ibm.com (unknown [9.155.200.166]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 19 Jun 2024 15:45:44 +0000 (GMT) From: Ilya Leoshkevich To: Alexander Gordeev , Alexander Potapenko , Andrew Morton , Christoph Lameter , David Rientjes , Heiko Carstens , Joonsoo Kim , Marco Elver , Masami Hiramatsu , Pekka Enberg , Steven Rostedt , Vasily Gorbik , Vlastimil Babka Cc: 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 , Ilya Leoshkevich Subject: [PATCH v5 31/37] s390/string: Add KMSAN support Date: Wed, 19 Jun 2024 17:44:06 +0200 Message-ID: <20240619154530.163232-32-iii@linux.ibm.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240619154530.163232-1-iii@linux.ibm.com> References: <20240619154530.163232-1-iii@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: 1vJnWjP8onhRd1nDUiLNOB821DSsFz-x X-Proofpoint-ORIG-GUID: r5jD2ijdGJxfVZVu2IqQYF5MTuXKfUuS 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-19_02,2024-06-19_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 lowpriorityscore=0 malwarescore=0 suspectscore=0 mlxscore=0 clxscore=1015 spamscore=0 mlxlogscore=999 impostorscore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405170001 definitions=main-2406190115 X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 0D2044000F X-Stat-Signature: nyxtd69kxgbh7r7abeeos99jokugijkd X-HE-Tag: 1718811959-439933 X-HE-Meta: U2FsdGVkX18tcctPqtmtow9exbkW5ascaF/i/TQeTqf5H0FyQh6HZMeiIWpQ1MnMuj+24D+tEALfnuoybNeQiXmbAhCQB+6TZFibJlyKVU+C9shVZV4Qm1QrXj008LMwzgCgtLHLUm+QJfEe+qk2UWzovq4vUKikzMlHeLJOocN+P7z1W39+vdMVWc9a5/enbT+nVj0SG8kCp+zA80wCcPtJ1FP+Q1h8CR+dYtLYP+T2Az2EyvX/DOpTknZTHESYq9mYiUYJsAwF8jchB1Q3nxWebRPpVZPYL9uKa95wjvlI8lkBbBVi7skrtyyoplEjK4T21VfuUPGS9f4LCtkvilyiNBRCEGW7mHrpz1QZRR49pU1Ol2PM6bTSkQ/Rgtf9tDIF1QG4xTAq2aC0QZU5/x+F4fUjGGc21l/LyZYmVbAKjYp99rpY1cqPvC1GSzhRt2hiZhzwizhUkzfkh+sRhYzRl+2/bYQVeHnwyhTfe21iR3nJDbdsn19Cr6X4oMVG+RIpCvN1mGAxKaVNwY9W5Kw/OVntfZtb8wJxxmoJ/wPBn6Ehg8uM6GJWLqIdmoMwk+/yXA3QlnjAlzBQjURf/5RL11Nk85vmDoyvn8k9HpgeByKSMNW0UQ5NfgJjm3+hIUx4yls/8oix7UrM9+Nz5YwhtVB+DWHn14gnOkTVVgaDEmZ8oApOZv4fH7qO1VuRQySPSq1BQbrUCvK4vYMpXJFxK/Y1uxiL38RDJ896rT8tX62WIQ7S/dRAc14zyfpiGASi5IFVu3j+5l9RLzUWlQW35fZP3lMbWCHTKUqzvZ+JkTgOTXysGnbJ1WoK9qk42njf2aJYsdG+uglWEQL6aPB/CERiQrsb3fqbbHdLotOSRszjWoXm98o5rqLrTDtjQzoZvZFCtNQqTGxfNYJynxOIYmH5aush8a0EHsLPkHM+4TTURz2ZEx5hRIXTDI+FyP23My9ewn9w6bHfmH8 k+PXjSqe p4tWeb0Bbx2cyG17+RMFrvUbp9osGpS1Uw9akpgpC4qoOlf2Q2LXgqN2kTa9v2EeGiUjyDrXwynibHbh3HZfNY8Oslka/2Do11NXkDQryWirhf2hUZv8/mcgDMnZCDeo95w557TMCpWEkb+kSRwCQbFm19u61hhyOHRZqm1yDEGE/lQwvozvatDHARe4hQUK3Qj7bRCwkXFW+d8bZfJ+FPVYbjIlbv5WMxkhV1WdCBHElPsyqeQUxgyMnqJGpzDTVr/DHsfaxa0Sx7z3cohvd0WzEwQ== 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: Add KMSAN support for the s390 implementations of the string functions. Do this similar to how it's already done for KASAN, except that the optimized memset{16,32,64}() functions need to be disabled: it's important for KMSAN to know that they initialized something. The way boot code is built with regard to string functions is problematic, since most files think it's configured with sanitizers, but boot/string.c doesn't. This creates various problems with the memset64() definitions, depending on whether the code is built with sanitizers or fortify. This should probably be streamlined, but in the meantime resolve the issues by introducing the IN_BOOT_STRING_C macro, similar to the existing IN_ARCH_STRING_C macro. Reviewed-by: Alexander Potapenko Acked-by: Heiko Carstens Signed-off-by: Ilya Leoshkevich --- arch/s390/boot/string.c | 16 ++++++++++++++++ arch/s390/include/asm/string.h | 20 +++++++++++++++----- 2 files changed, 31 insertions(+), 5 deletions(-) diff --git a/arch/s390/boot/string.c b/arch/s390/boot/string.c index faccb33b462c..f6b9b1df48a8 100644 --- a/arch/s390/boot/string.c +++ b/arch/s390/boot/string.c @@ -1,11 +1,18 @@ // SPDX-License-Identifier: GPL-2.0 +#define IN_BOOT_STRING_C 1 #include #include #include #undef CONFIG_KASAN #undef CONFIG_KASAN_GENERIC +#undef CONFIG_KMSAN #include "../lib/string.c" +/* + * Duplicate some functions from the common lib/string.c + * instead of fully including it. + */ + int strncmp(const char *cs, const char *ct, size_t count) { unsigned char c1, c2; @@ -22,6 +29,15 @@ int strncmp(const char *cs, const char *ct, size_t count) return 0; } +void *memset64(uint64_t *s, uint64_t v, size_t count) +{ + uint64_t *xs = s; + + while (count--) + *xs++ = v; + return s; +} + char *skip_spaces(const char *str) { while (isspace(*str)) diff --git a/arch/s390/include/asm/string.h b/arch/s390/include/asm/string.h index 351685de53d2..2ab868cbae6c 100644 --- a/arch/s390/include/asm/string.h +++ b/arch/s390/include/asm/string.h @@ -15,15 +15,12 @@ #define __HAVE_ARCH_MEMCPY /* gcc builtin & arch function */ #define __HAVE_ARCH_MEMMOVE /* gcc builtin & arch function */ #define __HAVE_ARCH_MEMSET /* gcc builtin & arch function */ -#define __HAVE_ARCH_MEMSET16 /* arch function */ -#define __HAVE_ARCH_MEMSET32 /* arch function */ -#define __HAVE_ARCH_MEMSET64 /* arch function */ void *memcpy(void *dest, const void *src, size_t n); void *memset(void *s, int c, size_t n); void *memmove(void *dest, const void *src, size_t n); -#ifndef CONFIG_KASAN +#if !defined(CONFIG_KASAN) && !defined(CONFIG_KMSAN) #define __HAVE_ARCH_MEMCHR /* inline & arch function */ #define __HAVE_ARCH_MEMCMP /* arch function */ #define __HAVE_ARCH_MEMSCAN /* inline & arch function */ @@ -36,6 +33,9 @@ void *memmove(void *dest, const void *src, size_t n); #define __HAVE_ARCH_STRNCPY /* arch function */ #define __HAVE_ARCH_STRNLEN /* inline & arch function */ #define __HAVE_ARCH_STRSTR /* arch function */ +#define __HAVE_ARCH_MEMSET16 /* arch function */ +#define __HAVE_ARCH_MEMSET32 /* arch function */ +#define __HAVE_ARCH_MEMSET64 /* arch function */ /* Prototypes for non-inlined arch strings functions. */ int memcmp(const void *s1, const void *s2, size_t n); @@ -44,7 +44,7 @@ size_t strlcat(char *dest, const char *src, size_t n); char *strncat(char *dest, const char *src, size_t n); char *strncpy(char *dest, const char *src, size_t n); char *strstr(const char *s1, const char *s2); -#endif /* !CONFIG_KASAN */ +#endif /* !defined(CONFIG_KASAN) && !defined(CONFIG_KMSAN) */ #undef __HAVE_ARCH_STRCHR #undef __HAVE_ARCH_STRNCHR @@ -74,20 +74,30 @@ void *__memset16(uint16_t *s, uint16_t v, size_t count); void *__memset32(uint32_t *s, uint32_t v, size_t count); void *__memset64(uint64_t *s, uint64_t v, size_t count); +#ifdef __HAVE_ARCH_MEMSET16 static inline void *memset16(uint16_t *s, uint16_t v, size_t count) { return __memset16(s, v, count * sizeof(v)); } +#endif +#ifdef __HAVE_ARCH_MEMSET32 static inline void *memset32(uint32_t *s, uint32_t v, size_t count) { return __memset32(s, v, count * sizeof(v)); } +#endif +#ifdef __HAVE_ARCH_MEMSET64 +#ifdef IN_BOOT_STRING_C +void *memset64(uint64_t *s, uint64_t v, size_t count); +#else static inline void *memset64(uint64_t *s, uint64_t v, size_t count) { return __memset64(s, v, count * sizeof(v)); } +#endif +#endif #if !defined(IN_ARCH_STRING_C) && (!defined(CONFIG_FORTIFY_SOURCE) || defined(__NO_FORTIFY)) From patchwork Wed Jun 19 15:44:08 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Leoshkevich X-Patchwork-Id: 13704340 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 3BC76C27C53 for ; Wed, 19 Jun 2024 17:32:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9EDCB6B03E6; Wed, 19 Jun 2024 13:32:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 99C8A6B03E7; Wed, 19 Jun 2024 13:32:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 864AE6B03E9; Wed, 19 Jun 2024 13:32:05 -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 6924D6B03E6 for ; Wed, 19 Jun 2024 13:32:05 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id C4298A0779 for ; Wed, 19 Jun 2024 17:32:04 +0000 (UTC) X-FDA: 82248331368.17.06417D3 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by imf14.hostedemail.com (Postfix) with ESMTP id C55BC100009 for ; Wed, 19 Jun 2024 17:32:00 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=LCohBSxo; spf=pass (imf14.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.156.1 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=1718818314; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=agNOfeGwaIxM1BpsZrTsKKrINqSU+ZKT6FzhLObZk18=; b=Pwli6+AgZK9o2Um/+AJKSRNTcOzY4gGNr6eqW2h/vol0yEY3qIYhlTo2KAhJnThqZGArQl 5djVrcznwv0DFgBeWE+1o00p5B1i9V/IPx00O1Wh1yG4763TH/rL4uJtDhR6yDWLk1IqVO IKleErIZCwx4poOnt1rFS1Nq+P8g/+o= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718818314; a=rsa-sha256; cv=none; b=LIiYTImhLPmAkO2FANUrX+3emtoGBbgef7l9pdbLhLwaHU1fo7xT9Qs/k3pFrBeWGxTBdb xzvQfpmSrbnqAlhDLDWWMKfoad4TVRQJrLL1KDg4ti/+JgfkgnLIotxPqWNrnlX9ZROjtr mIyh9lArc/y9JRbthZrtmOvUFSGPbQw= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=LCohBSxo; spf=pass (imf14.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=iii@linux.ibm.com; dmarc=pass (policy=none) header.from=ibm.com Received: from pps.filterd (m0353726.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 45JEwrZ1024141; Wed, 19 Jun 2024 15:45:53 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from :to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=pp1; bh=agNOfeGwaIxM1 BpsZrTsKKrINqSU+ZKT6FzhLObZk18=; b=LCohBSxoI0Nb4Spoo83JgJXB9MX2l a4vnN7nU1Um+Yg/2KmXOsMsEpWASpJjeN4aXCG+BxXzGxtay2fwL/SPdhU9SlB8N GZUGSLwXna+C2cobQuI0pIgYylSpBqKjpdkBXgFvru1xDGbDbkaDC1QAddE0/FFz Lxhznm47gFDtB0ycN+00FM+Zf3DzvsyXCJjm2hrL8Z4c/2FF9sa3+uVbf09oVIJ+ 9DPPn6d5+ouQMIVnX4OToZ4TTcucYI8VVkNXzwf383mgz1yshDNI7i5EMP6yTnUe cUsayef8f5RmBg8gfvWLq4NVc1HCW6ZPIsnwAb9WXGyaL/exTS42Px8RA== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv1jfr5c5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:53 +0000 (GMT) Received: from m0353726.ppops.net (m0353726.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 45JFjqUe006314; Wed, 19 Jun 2024 15:45:53 GMT Received: from ppma23.wdc07v.mail.ibm.com (5d.69.3da9.ip4.static.sl-reverse.com [169.61.105.93]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv1jfr5c0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:52 +0000 (GMT) Received: from pps.filterd (ppma23.wdc07v.mail.ibm.com [127.0.0.1]) by ppma23.wdc07v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 45JEKDs3011355; Wed, 19 Jun 2024 15:45:51 GMT Received: from smtprelay05.fra02v.mail.ibm.com ([9.218.2.225]) by ppma23.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3yspsndtp2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:51 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay05.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 45JFjj4B47382964 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jun 2024 15:45:47 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 5D8CB2006E; Wed, 19 Jun 2024 15:45:45 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 04F352006A; Wed, 19 Jun 2024 15:45:45 +0000 (GMT) Received: from black.boeblingen.de.ibm.com (unknown [9.155.200.166]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 19 Jun 2024 15:45:44 +0000 (GMT) From: Ilya Leoshkevich To: Alexander Gordeev , Alexander Potapenko , Andrew Morton , Christoph Lameter , David Rientjes , Heiko Carstens , Joonsoo Kim , Marco Elver , Masami Hiramatsu , Pekka Enberg , Steven Rostedt , Vasily Gorbik , Vlastimil Babka Cc: 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 , Ilya Leoshkevich Subject: [PATCH v5 33/37] s390/uaccess: Add KMSAN support to put_user() and get_user() Date: Wed, 19 Jun 2024 17:44:08 +0200 Message-ID: <20240619154530.163232-34-iii@linux.ibm.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240619154530.163232-1-iii@linux.ibm.com> References: <20240619154530.163232-1-iii@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: o1S14x9snFEyIzy71_JihxIM4LerZ1J_ X-Proofpoint-ORIG-GUID: N4O8l3X5dHvqWA4Z8xqzRXfIZtZKvw2I 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-19_02,2024-06-19_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 mlxscore=0 lowpriorityscore=0 phishscore=0 clxscore=1015 bulkscore=0 malwarescore=0 mlxlogscore=999 suspectscore=0 priorityscore=1501 spamscore=0 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405170001 definitions=main-2406190115 X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: C55BC100009 X-Stat-Signature: ohtqfqima4fzpkkqaxj3hhqj7rrxc1rc X-HE-Tag: 1718818320-530766 X-HE-Meta: U2FsdGVkX18n8sAQv2YXruJho9nGiieuADs+DYMKQ+R4llETsC3wNA/LSokjwkL+30d6tZT/SCidzCYMaNgYW61paaf47UGUPie0qLMoqX069N0HaI9OhL+uFrz5np86I0D26yDq+iMV/9oU52YB0ewrUfEWAD1+XHGseVcc8v57CqGcErmDHGzBKwsXx86sw58CO7d9pQ5JqdpgNywChzUKAabPCOV3C1tvQgEmK1r6yONPvQHf72EvNulkG+ARcj547Eu+fYLeESZjVY8fvIMDWxxTydNz0zVg+NL68Pvm44lpIC1FJJPiVO/sxeukOG0QPI1lhZlKDUxIU8EWlg8XpONZYgcuNPoKzdAnAOf+kopBfbk+z5AERFjIAI8QpmhGdqUHVSOBcQj8Bh4jxBHWTvtKjUbqtePZNYR9e2CnKvnGASnUekVhkAeAyfSBgvzgQtAa8subVgOH+RCavQuPqvxZfCqi2dr5wgH4gHsFkudVfjmIIrm0Nbq/AhgGcVxdMzz38i7nE4CHRw/gzucrxKdbU3g0Yj3TCIYBVUSO0bMlb+LuYzF8OwIWi+hPfsezydbf20xM61tzOj++o/EW9kLV9hi6GyYsYjROpDDNVoempZm+1rPV4Zbh/35g9zCb/+0/YM+JdTyWkOAOyoQ6yVoYv043LKMFXMSYaXChAj8RdzLR9SCgQVyu83r9V8kn3oqK4kq+9Un8OpxS3YsvLidxSZpHJs37u0QR6Jg/RTcZsPdbA4hJtanSBEEef7vuvSnNWcdmYWvOjig/fveP/Y52xFOUU+bB8N4nrwR4OdxlXYFLsZ4d+XLdmfsTaBCgYsKZ12/U/i+dHb333fqdmziA1WJSDIC0mqHLQ0bRsI9KKYMD4ATB/f4vXnVF8HipD+BCILGgPGad+2aodbNFrgDIgzXyFN76LOKHmTmSi1uA2BxioNLO3SnwYHcV5KlimZqh5CTy0YM7ERA hE4l9o9h 4gQgxXxceh+xBtU0RzCMhB3yOgZsskuf2WZZSbZUBsrjNyqGE6u0be8Z9Gcp7lKxMa/Pbo6wbW4uETp7fG/w/iSYg1AHGkAEIJeVZcQwKyMiypnk9/uGitNeTyZAi1dknInBP+Ww5Z2NmVaAD7Xr/nV8RjJ6ZLwb8oSz1jr2GjoISPtaqdYXjKhYukijiEhJdvC5GrEAwV6wZwAhPVPeTGtET/QHiM5E8hkVaA0xpSJF98BopQWOs9f8yXdeRFDhYsWlhylNdtHxBKck= 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: put_user() uses inline assembly with precise constraints, so Clang is in principle capable of instrumenting it automatically. Unfortunately, one of the constraints contains a dereferenced user pointer, and Clang does not currently distinguish user and kernel pointers. Therefore KMSAN attempts to access shadow for user pointers, which is not a right thing to do. An obvious fix to add __no_sanitize_memory to __put_user_fn() does not work, since it's __always_inline. And __always_inline cannot be removed due to the __put_user_bad() trick. A different obvious fix of using the "a" instead of the "+Q" constraint degrades the code quality, which is very important here, since it's a hot path. Instead, repurpose the __put_user_asm() macro to define __put_user_{char,short,int,long}_noinstr() functions and mark them with __no_sanitize_memory. For the non-KMSAN builds make them __always_inline in order to keep the generated code quality. Also define __put_user_{char,short,int,long}() functions, which call the aforementioned ones and which *are* instrumented, because they call KMSAN hooks, which may be implemented as macros. The same applies to get_user() as well. Acked-by: Heiko Carstens Signed-off-by: Ilya Leoshkevich Reviewed-by: Alexander Potapenko --- arch/s390/include/asm/uaccess.h | 111 +++++++++++++++++++++++--------- 1 file changed, 79 insertions(+), 32 deletions(-) diff --git a/arch/s390/include/asm/uaccess.h b/arch/s390/include/asm/uaccess.h index 81ae8a98e7ec..70f0edc00c2a 100644 --- a/arch/s390/include/asm/uaccess.h +++ b/arch/s390/include/asm/uaccess.h @@ -78,13 +78,24 @@ union oac { int __noreturn __put_user_bad(void); -#define __put_user_asm(to, from, size) \ -({ \ +#ifdef CONFIG_KMSAN +#define get_put_user_noinstr_attributes \ + noinline __maybe_unused __no_sanitize_memory +#else +#define get_put_user_noinstr_attributes __always_inline +#endif + +#define DEFINE_PUT_USER(type) \ +static get_put_user_noinstr_attributes int \ +__put_user_##type##_noinstr(unsigned type __user *to, \ + unsigned type *from, \ + unsigned long size) \ +{ \ union oac __oac_spec = { \ .oac1.as = PSW_BITS_AS_SECONDARY, \ .oac1.a = 1, \ }; \ - int __rc; \ + int rc; \ \ asm volatile( \ " lr 0,%[spec]\n" \ @@ -93,12 +104,28 @@ int __noreturn __put_user_bad(void); "2:\n" \ EX_TABLE_UA_STORE(0b, 2b, %[rc]) \ EX_TABLE_UA_STORE(1b, 2b, %[rc]) \ - : [rc] "=&d" (__rc), [_to] "+Q" (*(to)) \ + : [rc] "=&d" (rc), [_to] "+Q" (*(to)) \ : [_size] "d" (size), [_from] "Q" (*(from)), \ [spec] "d" (__oac_spec.val) \ : "cc", "0"); \ - __rc; \ -}) + return rc; \ +} \ + \ +static __always_inline int \ +__put_user_##type(unsigned type __user *to, unsigned type *from, \ + unsigned long size) \ +{ \ + int rc; \ + \ + rc = __put_user_##type##_noinstr(to, from, size); \ + instrument_put_user(*from, to, size); \ + return rc; \ +} + +DEFINE_PUT_USER(char); +DEFINE_PUT_USER(short); +DEFINE_PUT_USER(int); +DEFINE_PUT_USER(long); static __always_inline int __put_user_fn(void *x, void __user *ptr, unsigned long size) { @@ -106,24 +133,24 @@ static __always_inline int __put_user_fn(void *x, void __user *ptr, unsigned lon switch (size) { case 1: - rc = __put_user_asm((unsigned char __user *)ptr, - (unsigned char *)x, - size); + rc = __put_user_char((unsigned char __user *)ptr, + (unsigned char *)x, + size); break; case 2: - rc = __put_user_asm((unsigned short __user *)ptr, - (unsigned short *)x, - size); + rc = __put_user_short((unsigned short __user *)ptr, + (unsigned short *)x, + size); break; case 4: - rc = __put_user_asm((unsigned int __user *)ptr, + rc = __put_user_int((unsigned int __user *)ptr, (unsigned int *)x, size); break; case 8: - rc = __put_user_asm((unsigned long __user *)ptr, - (unsigned long *)x, - size); + rc = __put_user_long((unsigned long __user *)ptr, + (unsigned long *)x, + size); break; default: __put_user_bad(); @@ -134,13 +161,17 @@ static __always_inline int __put_user_fn(void *x, void __user *ptr, unsigned lon int __noreturn __get_user_bad(void); -#define __get_user_asm(to, from, size) \ -({ \ +#define DEFINE_GET_USER(type) \ +static get_put_user_noinstr_attributes int \ +__get_user_##type##_noinstr(unsigned type *to, \ + unsigned type __user *from, \ + unsigned long size) \ +{ \ union oac __oac_spec = { \ .oac2.as = PSW_BITS_AS_SECONDARY, \ .oac2.a = 1, \ }; \ - int __rc; \ + int rc; \ \ asm volatile( \ " lr 0,%[spec]\n" \ @@ -149,13 +180,29 @@ int __noreturn __get_user_bad(void); "2:\n" \ EX_TABLE_UA_LOAD_MEM(0b, 2b, %[rc], %[_to], %[_ksize]) \ EX_TABLE_UA_LOAD_MEM(1b, 2b, %[rc], %[_to], %[_ksize]) \ - : [rc] "=&d" (__rc), "=Q" (*(to)) \ + : [rc] "=&d" (rc), "=Q" (*(to)) \ : [_size] "d" (size), [_from] "Q" (*(from)), \ [spec] "d" (__oac_spec.val), [_to] "a" (to), \ [_ksize] "K" (size) \ : "cc", "0"); \ - __rc; \ -}) + return rc; \ +} \ + \ +static __always_inline int \ +__get_user_##type(unsigned type *to, unsigned type __user *from, \ + unsigned long size) \ +{ \ + int rc; \ + \ + rc = __get_user_##type##_noinstr(to, from, size); \ + instrument_get_user(*to); \ + return rc; \ +} + +DEFINE_GET_USER(char); +DEFINE_GET_USER(short); +DEFINE_GET_USER(int); +DEFINE_GET_USER(long); static __always_inline int __get_user_fn(void *x, const void __user *ptr, unsigned long size) { @@ -163,24 +210,24 @@ static __always_inline int __get_user_fn(void *x, const void __user *ptr, unsign switch (size) { case 1: - rc = __get_user_asm((unsigned char *)x, - (unsigned char __user *)ptr, - size); + rc = __get_user_char((unsigned char *)x, + (unsigned char __user *)ptr, + size); break; case 2: - rc = __get_user_asm((unsigned short *)x, - (unsigned short __user *)ptr, - size); + rc = __get_user_short((unsigned short *)x, + (unsigned short __user *)ptr, + size); break; case 4: - rc = __get_user_asm((unsigned int *)x, + rc = __get_user_int((unsigned int *)x, (unsigned int __user *)ptr, size); break; case 8: - rc = __get_user_asm((unsigned long *)x, - (unsigned long __user *)ptr, - size); + rc = __get_user_long((unsigned long *)x, + (unsigned long __user *)ptr, + size); break; default: __get_user_bad(); From patchwork Wed Jun 19 15:44:09 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Leoshkevich X-Patchwork-Id: 13704202 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 7A769C27C79 for ; Wed, 19 Jun 2024 15:46:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D9E438D0080; Wed, 19 Jun 2024 11:46:03 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D481F6B02FC; Wed, 19 Jun 2024 11:46:03 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B4C386B02FB; Wed, 19 Jun 2024 11:46:03 -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 942B26B02F9 for ; Wed, 19 Jun 2024 11:46:03 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 51FC61A1355 for ; Wed, 19 Jun 2024 15:46:03 +0000 (UTC) X-FDA: 82248064206.27.2DA8085 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by imf21.hostedemail.com (Postfix) with ESMTP id CCE1F1C0013 for ; Wed, 19 Jun 2024 15:46:00 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=gFFnuzcf; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf21.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=iii@linux.ibm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718811954; a=rsa-sha256; cv=none; b=rdDAdq3yEGJshkhWrh/88M/fNscIkvsyHchyupcW6sP5UbGl7RVSCgjDliWbAhn1UUvc1e EtzHtMjwRJ14wNyht+TElmJmN9AvSAAMPwpQk7WHBrIYOLDRUgUurAnfIAL2yVOh6JHSXe ZVqshtZa6p2o21VDSmlCz2/mkAteIlA= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=gFFnuzcf; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf21.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.156.1 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=1718811954; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=s6DLbG1DAru59Tf4t+R8cAAAi/8gRk1lHndotnkU+E0=; b=imWsZq9w/rNgbii7i+k7w5HLB+TWoExFJ0L1mt8Z6NMktKPuoeOZSD8MmRrEQ5jLY75IHk 3H/4EeJ+DHKBUwc5Ix/F8+l9WPI/9XZQFM2HM1BI+njsr9z45GFS1F3wVhR44a0FRoXCVt GRtlbPpm8NYrEyl7BdNqqRnT/Ohgxo8= Received: from pps.filterd (m0353729.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 45JFSJRr028077; Wed, 19 Jun 2024 15:45:54 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from :to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=pp1; bh=s6DLbG1DAru59 Tf4t+R8cAAAi/8gRk1lHndotnkU+E0=; b=gFFnuzcf7kU8Sw5RzDPSFq6QuKv4X PbK65O6XUs6FCGR25NktXyaG4rgzjV47hI0Lu/Uu1r/2Mg7Z3KEd5iG7E4MQbnaL cTGdy+8nkXMsX37RqMRdfZNyGoq87HteENCL4AXWXH9KWW+xVYPlbBUshnvRDzYM Vnz5v+zTFhyCE8kuNHWVsCkUx/i8QzaOcQknYQnZdRuqjy+YuLZOxSIIj5vckskY usJJvOvk4WYRAuInnIE+kQMhllmnhC5P4Cq2WD+C+K6PRdCOo7x7/NBdHgWsLjGa 8MLnjr92FUDNCNAr3YL3hJPkH4Ro8pEiHeCtq8aPjzncnZM4dnnGyUxfg== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv20g81kv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:53 +0000 (GMT) Received: from m0353729.ppops.net (m0353729.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 45JFjrfB023106; Wed, 19 Jun 2024 15:45:53 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 3yv20g81kr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:52 +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 45JFhxiv023990; Wed, 19 Jun 2024 15:45:51 GMT Received: from smtprelay05.fra02v.mail.ibm.com ([9.218.2.225]) by ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3ysp9qdyr5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:51 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay05.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 45JFjjt651249438 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jun 2024 15:45:47 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id B283E2004D; Wed, 19 Jun 2024 15:45:45 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 6378320071; Wed, 19 Jun 2024 15:45:45 +0000 (GMT) Received: from black.boeblingen.de.ibm.com (unknown [9.155.200.166]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 19 Jun 2024 15:45:45 +0000 (GMT) From: Ilya Leoshkevich To: Alexander Gordeev , Alexander Potapenko , Andrew Morton , Christoph Lameter , David Rientjes , Heiko Carstens , Joonsoo Kim , Marco Elver , Masami Hiramatsu , Pekka Enberg , Steven Rostedt , Vasily Gorbik , Vlastimil Babka Cc: 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 , Ilya Leoshkevich Subject: [PATCH v5 34/37] s390/uaccess: Add the missing linux/instrumented.h #include Date: Wed, 19 Jun 2024 17:44:09 +0200 Message-ID: <20240619154530.163232-35-iii@linux.ibm.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240619154530.163232-1-iii@linux.ibm.com> References: <20240619154530.163232-1-iii@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: x3IdliaCP9_W0APTwBxLUteBtiEkeKIa X-Proofpoint-ORIG-GUID: eWk2j-5jOwTKPdqUCsgQlthFXyMgUyxL 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-19_02,2024-06-19_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 bulkscore=0 suspectscore=0 malwarescore=0 spamscore=0 impostorscore=0 phishscore=0 clxscore=1015 mlxlogscore=999 priorityscore=1501 adultscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405170001 definitions=main-2406190115 X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: CCE1F1C0013 X-Stat-Signature: zyanta55831qr9zh1ok7cj6ruudmunz8 X-Rspam-User: X-HE-Tag: 1718811960-137950 X-HE-Meta: U2FsdGVkX1/IOdAAWJFLu5vxVzRZf8HM2gcLgxuIWbjskR25LaEd+7WNj3PhFe8sb/Lv6rblyQW5AgpMFIFOeMt9Sw1QTgruYcNKYWEHAr9nrRGEW1b+ZvsVq9VRuXqPyPLhKf4LdDcBazdHBpw+FLvyeVHOnAJzLm91KTq0Qh97/48TYKbo7niNv4oCtiiMm684WZYGp4GkamajHQbr07hW5wXWjKiVXZUyccrsZAsP3lq6czYoiD9YVkYid8c0isx+D9KEeumLY0EhV7o5slgwsNXFzNLVOsfVsJXJvkVLrgazVfBNk4WS6MO36QekKWR1flnKZ1/PL8qLXxL7n6vH1ML54Yf2ZuknVnypxJyNKp3VEhtuNM50wKL1he4Fd1gEYAMPMTc1qh3bxFGpBPHtA64OCv0xRwQH5tl+0kmtsTQ8nnCcP3V/oYgv3ns/AqdicW0vU06GsnqT4nSEQrBy9rtdsyo6AYSCxnNJFNUW7yXaqlkT3Lg2If6iDdWPE9CAdaUj2RcJARjfjEhpimE0Kg8amwuVATEpoSIgV8hIvsJhwWXkfU3kBQum3X53IDJwqnp1krsuRYuTvzZuToWQIJp4yhc9cjklDJPmbjnLYbJoIzIQMxtnJ07cy7Jm1uzbYa6LSdJ5VFsz1Yh+rMKD8reg6on+aZ2Pyp9RHoG+M2cqUXMXWsJSFKuURevAUtpHI7RshqnZGcZUU2fi6CeVvJz6a5G84CjmbauizHYHdT7QJJU0Dif3F61O8QS/n6Cv+DECEaJkq/NkX2s4/ocat9i9yt3+rDrW8h+HVeK4T3kATtHC9qTqrcC6rnHOyN15Qv/7V2dR4IL5+Lmy9wyNJr/cfWS3VslsvBiRiFIKnlDi08NhLzvk+SgPBF7p+TElreUO8sHSpTFh0Voh/mZsaDrT5KfD4z6hhwgidV+SslTzF2SckRSVXSQQT6QkeI4dpy6VE187I0i/msW zfkx4rMe PzeiHCLTMZi82aWvzt7ud8eWzOpddvOX2y8GJhaOrPJE7+cy7VGGGx/AaQ91TYFo+raO1CqCsCa4/URHkM1ginf7DSauuhe86S1/HXGhVDBFgq4yXP/O9XcWeMjniaMqGMOvfomO3rgHi9a8GUCl1Cyi7EobPmUqq/ZO7jCl5O3vs027OfDTxC/lCZcfO+O4R9oerCKSockH6fXFKV3QSgTtvTuQ/uINLRP1inDQLvrLAKqUTyQ9SIhJFy+TiEfGUwFEju1X0gdY9uohNf5H/w8l1fw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000004, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: uaccess.h uses instrument_get_user() and instrument_put_user(), which are defined in linux/instrumented.h. Currently we get this header from somewhere else by accident; prefer to be explicit about it and include it directly. Suggested-by: Alexander Potapenko Signed-off-by: Ilya Leoshkevich Reviewed-by: Alexander Potapenko --- arch/s390/include/asm/uaccess.h | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/s390/include/asm/uaccess.h b/arch/s390/include/asm/uaccess.h index 70f0edc00c2a..9213be0529ee 100644 --- a/arch/s390/include/asm/uaccess.h +++ b/arch/s390/include/asm/uaccess.h @@ -18,6 +18,7 @@ #include #include #include +#include void debug_user_asce(int exit); From patchwork Wed Jun 19 15:44:10 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Leoshkevich X-Patchwork-Id: 13704219 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 02962C27C53 for ; Wed, 19 Jun 2024 15:58:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5B1B18D0083; Wed, 19 Jun 2024 11:58:45 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 562BD8D0082; Wed, 19 Jun 2024 11:58:45 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3B5B68D0083; Wed, 19 Jun 2024 11:58:45 -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 172D18D0082 for ; Wed, 19 Jun 2024 11:58:45 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id AE2631607C6 for ; Wed, 19 Jun 2024 15:58:44 +0000 (UTC) X-FDA: 82248096168.11.6A562C2 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by imf07.hostedemail.com (Postfix) with ESMTP id 5C1E840006 for ; Wed, 19 Jun 2024 15:58:42 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=JEitRQTl; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf07.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.156.1 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=1718812713; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=7JeBzaeHcq491tpoSsSSp7r/Korv/EUFDTbEVwfZL58=; b=B/6A1JljMRYiEd6/MYZ/az7GkGpzZY9cMbJpMXhvrsRBr1qKygJ1Aub6WsWOEXJBA/e8DA fszFRGgi0HQ7fgnFU2ii1hH+mf7xcKj+E5SfriQwhuGJPcUAqncBJtSpKHpd1/whaIMnmA Rrp6UnzQrurwZ7iiuiF4nukYPQWo9ts= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718812713; a=rsa-sha256; cv=none; b=MB5kQD+UG+QSIr6iK7jJdDgPIkbOHDldIegY29dvIvQMFVrfu2xfXakpapb3yKuoi6b2cr gIPLDV+0bsIadvnbLIk3wXI6lkBIa2H3LUKOSwMCrkXv0Ls+nXHO5jjzF5lUSrazYjhluf VBNRdgA7AJ3Xi/TfQImsM2fPenPQeZg= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=JEitRQTl; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf07.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=iii@linux.ibm.com Received: from pps.filterd (m0356517.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 45JEwexA003074; Wed, 19 Jun 2024 15:45:54 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from :to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=pp1; bh=7JeBzaeHcq491 tpoSsSSp7r/Korv/EUFDTbEVwfZL58=; b=JEitRQTlHaakFRUEKCMQFkf+eLXFu Bh8Doosio+OCRElSZ5ZbqVkl3Fx8+X0mL9Vv0RW1kxzKtMZPQU4THcbtaVpMCMd0 gO+JMeYhXvGTPzg2m+697sJAihcwbJuZw4hJyFKzfIgYpXFCKvZAPVsbMvFyqMq+ E/hIinZZdaHp3nY+G+HFK7Qy/Y1l075J2s5FKYFwt1XwvsdQU44OMrDQFDJOuv1z y0+HTLp3zokG+te/84gjg+holiuipajGacgu0qBBwWzqmVKQHs7Cp9mFyAiu/odA fG7xnbhvuVS7racfpjtGv8OIdEh4esPBqRGHfEKaVqx5DPjEsj4XerAJQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv1jg854d-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:53 +0000 (GMT) Received: from m0356517.ppops.net (m0356517.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 45JFjq8B016396; Wed, 19 Jun 2024 15:45:53 GMT Received: from ppma13.dal12v.mail.ibm.com (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv1jg8548-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:52 +0000 (GMT) Received: from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1]) by ppma13.dal12v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 45JEN1Zp009422; Wed, 19 Jun 2024 15:45:51 GMT Received: from smtprelay06.fra02v.mail.ibm.com ([9.218.2.230]) by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 3ysqgmwmp3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:51 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay06.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 45JFjkcD16515562 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jun 2024 15:45:48 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 1258E20040; Wed, 19 Jun 2024 15:45:46 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id B7E8C2006A; Wed, 19 Jun 2024 15:45:45 +0000 (GMT) Received: from black.boeblingen.de.ibm.com (unknown [9.155.200.166]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 19 Jun 2024 15:45:45 +0000 (GMT) From: Ilya Leoshkevich To: Alexander Gordeev , Alexander Potapenko , Andrew Morton , Christoph Lameter , David Rientjes , Heiko Carstens , Joonsoo Kim , Marco Elver , Masami Hiramatsu , Pekka Enberg , Steven Rostedt , Vasily Gorbik , Vlastimil Babka Cc: 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 , Ilya Leoshkevich Subject: [PATCH v5 35/37] s390/unwind: Disable KMSAN checks Date: Wed, 19 Jun 2024 17:44:10 +0200 Message-ID: <20240619154530.163232-36-iii@linux.ibm.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240619154530.163232-1-iii@linux.ibm.com> References: <20240619154530.163232-1-iii@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: wuSJifTVMkWwcUJW5ETMmMRM2X1r_jtT X-Proofpoint-ORIG-GUID: JX2DUdO-peLzJHQPotyrL20VIX6eOPir 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-19_02,2024-06-19_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=886 adultscore=0 suspectscore=0 spamscore=0 phishscore=0 bulkscore=0 mlxscore=0 impostorscore=0 priorityscore=1501 clxscore=1015 malwarescore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405170001 definitions=main-2406190115 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 5C1E840006 X-Stat-Signature: ks8um7hxeb5f64e3icsc7zutpo5f3t4r X-Rspam-User: X-HE-Tag: 1718812722-345207 X-HE-Meta: U2FsdGVkX1+lURghrEshkMbybvjc/Lpf8VEzbqPxopnG0+dKIg9qsBRGass7IBIuSVgYXoG8BtHUa7SCpAeh/o9F3tcQOejj8viYv9plC2tP0eTebnqAHQAZ2E8csk+bt6w/h0bwOVvz2YR5jHBuXncwAONZ0NoFYDehNCGAtaWsIWxHsI/5hi+/N0SBuKRh+qch6CStktiGT17JPaoBU/mySqzLq6QrX7viYo+cd3Dev1ODb8VctGjlshJ5wB2Jp42wPevpvZa7kU+s8l/jOBJUBewk3b0+5KzekXkALx/+2VypDsjUGrHZqL/keKsV+g4Dcn0hatVW2LgfB1cRu38Mmww/5nTBxGdJ1P87oo8Dbj6iqjQvwdwZQK/Ke8Cm9HcDTfLgtDMvpbDupUHJMIMDX5i2c1AKsKPRxoE3J/DpHyZnaE5eO0gG0AjOFgBqd4jiX4eQD+o4BjF+40pO0VdG/EeM4MLVsTPcDMZXEFlDrA8Rk70ZUsDwmMV2ldN9XHAF447z4eS+UkMG+I6l+RlJIk0O9i0cSqAoiN7KQTdhvxM2OHkVymnQNSPB14+GCmFGyTWYG1LG+6c7gRLAPzbRyO2RNd6Mdrdux0nFeAi7R9BJykGMwuiWEZr0ymaaQeS6UlXEDYSTvJSi2ojbESP7OTWvYbGUlxOt4EWf5o0OrQRrNo9g0B41Z1rr8TNZ4bxxeU9AE53s5/tkcigzgxdH4q3KCkmKcsoDJhjtHoXGeCf/52PZF+V6Qf0M6R1iX0fRDJMLp0sr1YrIFWh1VwHpB9K9/ZUAz4VI4vH2hW2WTidKVONyqtmqV4Jc9en6kznsH/G/BO7wCNqVaQSch/1nce/pYHuj09AdY1aj5VdDlhaf1bH1u3cGN6AMbSdiswxzq5d0sDc4wGMDE4u08foFLZhV1LIcMAKLxSgadMl1fFJVqnulCWxv6xBLC8Bf+cUP8ZTs1bWj5iCPY4F Hw8G/eaH b3ZXQ8JtfM5Wa7Lyfj9gzfoXe7RlRpETOgXMTHHRPW14jW26tZrBC2gUWf15d07sYNKFJaJPASV6i1ouCntL8j2ZOcGj69fp7Kkn8NH86AI0X141EvvYA9cSZ90UGaaV4Yc8hKoMxWxGBZxKDIom6q+m6OMtWV4x+Nfg7lb49M2piJ39X1C9xjBinLzba2NT0aKtIuBXbisEaa++txReBRIj+zYlG+aZ0UR58S2SOWrvs1yVxVZRe7N3f5l9zon/AhmSB9A9f9dmofP0AHBTkk2q6XN99MWC6AxZCB5rohcM3EMdk93GKveqq6/HAhQejr7fNZvPnWk/vKf0= 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: The unwind code can read uninitialized frames. Furthermore, even in the good case, KMSAN does not emit shadow for backchains. Therefore disable it for the unwinding functions. Reviewed-by: Alexander Potapenko Acked-by: Heiko Carstens Signed-off-by: Ilya Leoshkevich --- arch/s390/kernel/unwind_bc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/s390/kernel/unwind_bc.c b/arch/s390/kernel/unwind_bc.c index 0ece156fdd7c..cd44be2b6ce8 100644 --- a/arch/s390/kernel/unwind_bc.c +++ b/arch/s390/kernel/unwind_bc.c @@ -49,6 +49,8 @@ static inline bool is_final_pt_regs(struct unwind_state *state, READ_ONCE_NOCHECK(regs->psw.mask) & PSW_MASK_PSTATE; } +/* Avoid KMSAN false positives from touching uninitialized frames. */ +__no_kmsan_checks bool unwind_next_frame(struct unwind_state *state) { struct stack_info *info = &state->stack_info; @@ -118,6 +120,8 @@ bool unwind_next_frame(struct unwind_state *state) } EXPORT_SYMBOL_GPL(unwind_next_frame); +/* Avoid KMSAN false positives from touching uninitialized frames. */ +__no_kmsan_checks void __unwind_start(struct unwind_state *state, struct task_struct *task, struct pt_regs *regs, unsigned long first_frame) { From patchwork Wed Jun 19 15:44:11 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Leoshkevich X-Patchwork-Id: 13704204 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 0B9B7C27C53 for ; Wed, 19 Jun 2024 15:47:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E35166B02FA; Wed, 19 Jun 2024 11:46:04 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DE3E88D0082; Wed, 19 Jun 2024 11:46:04 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BE8A66B02FC; Wed, 19 Jun 2024 11:46:04 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id A01796B02FA for ; Wed, 19 Jun 2024 11:46:04 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 5B19B140258 for ; Wed, 19 Jun 2024 15:46:04 +0000 (UTC) X-FDA: 82248064248.14.1A2D8B6 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by imf06.hostedemail.com (Postfix) with ESMTP id F2F35180003 for ; Wed, 19 Jun 2024 15:46:01 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=BEPtJdz5; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf06.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=1718811953; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=nB1l8vkNyM9mVWovTL+NH+w81puT/zMq+tuxLWRrLkQ=; b=mc11c5Ae+m8XqkRHe/b0vjMZQ0VuXTwCo/da/wSU6q+vdq7YioTg/pPY/ZMOp/A1TMglAu VruvfCaMECq1VnvKa5APdUY8Wgm7leEefQJg90lr4sg2hDRfV6QNP1hZG+dGc1a+gQ67YJ 4lu2WwD+eBUgNaGu/Pe1UoGv2imMvFQ= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718811953; a=rsa-sha256; cv=none; b=zYom/NLo4ZTXa7IoVcRqN50kAiMEr6CPJiInJi4SdPrDGnpRGKDGWJf9zRbfQGmpeRP3Eh 8nbQeySvfypduC2iQa+YZb9zFX2MCWeNbEWNjESdp03JDmA7Jdy0hgOPbbOYcNybFPtoEq CEvJEExkaTUp7il6wFGJg6b0xIUu4x8= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=BEPtJdz5; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf06.hostedemail.com: domain of iii@linux.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=iii@linux.ibm.com Received: from pps.filterd (m0360072.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 45JBQbWl032598; Wed, 19 Jun 2024 15:45:54 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from :to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=pp1; bh=nB1l8vkNyM9mV WovTL+NH+w81puT/zMq+tuxLWRrLkQ=; b=BEPtJdz5fdSHB/qoJNKVVp8rooBgK nOefoKLPv8qtPV2MAhok/6BWIVhVNTjFPlwu7tGwoFxrYavuvyqc+UeDOtkAuBZi /ToHlvNmEBH86RH0EUHrGTB5WXsw3VWY9k7sml719JbxQSStYzM7yPCTQ1HEjVit tmuNHraS3v/eRve2Oss6g4kdKOHthT6eSHST/pCq9k1z1M4ccZZwu4RuJmslxcU6 zwU74Nb1n1RnJQ1L7G9XJtMbsQyRuq//VGCmbhT4XYI758mhE6xQID294YlPxl/r GAbXZq3iXoHajoeI+r/xZdq7JgrZ95yXRDqgexFUzGec8L8cEFcw2ndJQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yux7j0tcs-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:53 +0000 (GMT) Received: from m0360072.ppops.net (m0360072.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 45JFjVIg028737; Wed, 19 Jun 2024 15:45:53 GMT Received: from ppma11.dal12v.mail.ibm.com (db.9e.1632.ip4.static.sl-reverse.com [50.22.158.219]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yux7j0tcn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:53 +0000 (GMT) Received: from pps.filterd (ppma11.dal12v.mail.ibm.com [127.0.0.1]) by ppma11.dal12v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 45JEeOYF013440; Wed, 19 Jun 2024 15:45:52 GMT Received: from smtprelay06.fra02v.mail.ibm.com ([9.218.2.230]) by ppma11.dal12v.mail.ibm.com (PPS) with ESMTPS id 3ysr03wkre-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:52 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay06.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 45JFjku833555194 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jun 2024 15:45:48 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 661AA20063; Wed, 19 Jun 2024 15:45:46 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 17F8E20071; Wed, 19 Jun 2024 15:45:46 +0000 (GMT) Received: from black.boeblingen.de.ibm.com (unknown [9.155.200.166]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 19 Jun 2024 15:45:46 +0000 (GMT) From: Ilya Leoshkevich To: Alexander Gordeev , Alexander Potapenko , Andrew Morton , Christoph Lameter , David Rientjes , Heiko Carstens , Joonsoo Kim , Marco Elver , Masami Hiramatsu , Pekka Enberg , Steven Rostedt , Vasily Gorbik , Vlastimil Babka Cc: 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 , Ilya Leoshkevich Subject: [PATCH v5 36/37] s390/kmsan: Implement the architecture-specific functions Date: Wed, 19 Jun 2024 17:44:11 +0200 Message-ID: <20240619154530.163232-37-iii@linux.ibm.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240619154530.163232-1-iii@linux.ibm.com> References: <20240619154530.163232-1-iii@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: G-HYbmsxvmzkpVnASbMNe4jf4vNgUmy7 X-Proofpoint-ORIG-GUID: voXdK99_pqsmHaCFVP5r8s2pFVOzBayF 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-19_02,2024-06-19_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 mlxscore=0 malwarescore=0 clxscore=1015 impostorscore=0 adultscore=0 bulkscore=0 phishscore=0 spamscore=0 priorityscore=1501 lowpriorityscore=0 mlxlogscore=916 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405170001 definitions=main-2406190115 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: F2F35180003 X-Stat-Signature: zxpjkpjg5a83ou1jsan9ni7dskzz9rtp X-Rspam-User: X-HE-Tag: 1718811961-805860 X-HE-Meta: U2FsdGVkX1/QWsZq8aU684gtSstb85GqCmmYgktwj/UyfQQUExxp4XDSQB4g8rl4bXlaI+blsQItm5ckXesWrtRGwvBLk+aQUdYrL7Tq37iV5Pb/savsmRk3piLU4ao3o+CoXFzYwSEBob5cF6UQFjnEQx3p1ikeLzo5QfB9AYVLmFnTcPvW0gygJIWkB9O5WyoCDPDGBYJyNii4Feo3Y30ClVgF2zItNn4cgQUGeOZPfwePeAfFhxDYcCoaCcpRDSHCsKG0qz7daKX6zDloILJQEdLNhCznSrcjsCELUhnQ+9rhC42MqcU//krpOQsq1NlKHjkVQt6cINW5aWS+tylf/IplSvpGgY7kA8MZT0Z87UvTal6JB+LMeNhlzAt4D1FZp2+uUtT2dSI82QFVIaMNSp/r0/hNvjDZCgaclRG0xEFtRulITAoqQjODok3FhadTr2z0ffp46fX/9yhnSV+OhEMYSVM+JKISWUWBmR/4WFAfMzuizZx6BipeTYeCrHvZYM3fxRf9h/hnBWUMjIwgA3k5OEOMVITTPElKBEhMCBUXFKgIFWUMs9R21Uk/Y4z4Tvf1K+dTm0C02ES0Yo/S4OvHS/8UxMC7CS+KuBwdwGYRNcg6T1UGYB/fJMI9kR4CeslbYa8zfHWx4tnqUXR8+mXAGx4US1NulY+2tTi4pGmhSE3QZGqN2Mlnl7usx6z/uNwI8CTAWIosiEviGLXbxm6LN5i+vtfGlFtsjpTlU09AePomcc2FZC0TbAxa0vUI4wSKfkR0ihXOQO/xV+k6jmPOmVbrFkpai9026RK4uz/VYrvSh+EfrwOka9W5fj5QkOTvm+kxMR75hkjY5UWrNHvxLVZ4O1k0/wbjzxB658GoKzUEv9WIOQtqp/2Q4px5mW7rvwS0ZuadU60gr1K2M4DTYqDxyZpQVtCKkXoPIyuKTcmNcPHxgqXi0Q1AH2vi2wVSORXEJp7qwDO M/S/o2HH +Cf0ocBK6xIsxMOW6eZ+WFt2VI0RikzQxOqCn6xlFu1GFiyN5DQhnnqe/iUpLui6CXPYAyen/nQkfbdw4hE43ew8IF2ocOYF9WvEyTNO7WFOh3mnqMHLqBXISb7hAMq+VyMZMggDBX17rd4XVPJ10gYKb1YiuDCiIO0ulv0o+gn0NXqxkflQXKC3UYQL/30AXfuAKZUcfRcU3sIvfU5eJzc1nUeE02Cd7AH747YRZ1k9TBGuX0JWFB+jYbGa0BZG4kGIvMhE5f5m+D0KU9BZzATIDsuGApyKCLzKHdsA2kf5HNlnMG1fD3lrqn0b+3ekMoM4dHKWUD0YHC6ehwz1Ei3QSeA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: arch_kmsan_get_meta_or_null() finds the lowcore shadow by querying the prefix and calling kmsan_get_metadata() again. kmsan_virt_addr_valid() delegates to virt_addr_valid(). Signed-off-by: Ilya Leoshkevich Acked-by: Alexander Gordeev Reviewed-by: Alexander Potapenko --- arch/s390/include/asm/kmsan.h | 59 +++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 arch/s390/include/asm/kmsan.h diff --git a/arch/s390/include/asm/kmsan.h b/arch/s390/include/asm/kmsan.h new file mode 100644 index 000000000000..eb850c942204 --- /dev/null +++ b/arch/s390/include/asm/kmsan.h @@ -0,0 +1,59 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _ASM_S390_KMSAN_H +#define _ASM_S390_KMSAN_H + +#include +#include +#include +#include +#include + +#ifndef MODULE + +static inline bool is_lowcore_addr(void *addr) +{ + return addr >= (void *)&S390_lowcore && + 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. + */ + addr += (void *)lowcore_ptr[raw_smp_processor_id()] - + (void *)&S390_lowcore; + if (WARN_ON_ONCE(is_lowcore_addr(addr))) + return NULL; + return kmsan_get_metadata(addr, is_origin); + } + return NULL; +} + +static inline bool kmsan_virt_addr_valid(void *addr) +{ + bool ret; + + /* + * pfn_valid() relies on RCU, and may call into the scheduler on exiting + * the critical section. However, this would result in recursion with + * KMSAN. Therefore, disable preemption here, and re-enable preemption + * below while suppressing reschedules to avoid recursion. + * + * Note, this sacrifices occasionally breaking scheduling guarantees. + * Although, a kernel compiled with KMSAN has already given up on any + * performance guarantees due to being heavily instrumented. + */ + preempt_disable(); + ret = virt_addr_valid(addr); + preempt_enable_no_resched(); + + return ret; +} + +#endif /* !MODULE */ + +#endif /* _ASM_S390_KMSAN_H */ From patchwork Wed Jun 19 15:44:12 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Leoshkevich X-Patchwork-Id: 13704300 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 B0D08C27C53 for ; Wed, 19 Jun 2024 17:08:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 45DB16B019F; Wed, 19 Jun 2024 13:08:16 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 323626B0259; Wed, 19 Jun 2024 13:08:16 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0DA8A6B0255; Wed, 19 Jun 2024 13:08:16 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id CD47B6B0140 for ; Wed, 19 Jun 2024 13:08:15 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 6ACA0121457 for ; Wed, 19 Jun 2024 17:08:15 +0000 (UTC) X-FDA: 82248271350.24.966878B Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by imf03.hostedemail.com (Postfix) with ESMTP id 910B42000F for ; Wed, 19 Jun 2024 17:08:11 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=U8GCVwLX; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf03.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=1718816886; a=rsa-sha256; cv=none; b=We2BCBsUR1g/dqVBBZ4btuoQVr+WI/8nZRUct84l1F0w1uJ3WEDh8/KrmX8j4t/ZLZQ0Aq YY6sB0CSQQ6GP6HWeNAAGOTmgORlaOCWyz3Fyk/k3RBXc+N8I3gmGZ3RnpOupNrWrln4uo d6dxLJIRKyvTSLBmwp3i/eshRoq6se0= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=U8GCVwLX; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf03.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=1718816886; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=IRZnfl5kegw9DdaMeWWbTwWzCErv31wkZ0fJjvxbgdM=; b=OROdkBhyhxo+ElQEnIZmUxOnFD47qYB1Ts83m99asiffJT0mUgjE3Wp6aMMgUt3ke26Vwo bbQAsYgUwqL8sKzchHj3TPfdOEfbwp5jqOGbl/zrhFfd6uRxIi93DnlOoFWN3rTDvYz/hD Ed5QGxeILsZggxuEp4Q5rwGkcKx9fXo= 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 45JETHMj000657; Wed, 19 Jun 2024 15:45:54 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from :to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=pp1; bh=IRZnfl5kegw9D daMeWWbTwWzCErv31wkZ0fJjvxbgdM=; b=U8GCVwLXta/mITOXuINN09W8cecMz 8WeR+64CRmjD3ZH6TwoQKfiRTs1jYTabDp2mEhIbrajNcg8SFtsfPVMEg0hWNSOt G1BI2f9MGbm4KPNzNF+qDZmDJtnWUqmJGVNb+bWmvO+iEBORIGqQcnYkJz/fWeH9 WL3zr5vCHpSDOaEUA3ARgwBbZn50UPDqLcbquA5N36fm/Xj4G9LpFPTtJ6F8xN4U 55PcgCp+6Rc+OVaT39/23uHIjcCINNqiJJCs7N9+7zUgUZ6xnrArleLaABnsNtx8 X1J6XRV0aiSLddD3Y3vYH47vW7f8Zc2PjBzQ8B/MFA7Wp2kEdHtbdKiJA== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yv14tg8cp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:54 +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 45JFjrsL027940; Wed, 19 Jun 2024 15:45:53 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 3yv14tg8cg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:53 +0000 (GMT) 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 45JFWnRV019495; Wed, 19 Jun 2024 15:45:52 GMT Received: from smtprelay06.fra02v.mail.ibm.com ([9.218.2.230]) by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3ysnp1e4xk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Jun 2024 15:45:52 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay06.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 45JFjkS217891730 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jun 2024 15:45:48 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id BC86320065; Wed, 19 Jun 2024 15:45:46 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 6C3D92006A; Wed, 19 Jun 2024 15:45:46 +0000 (GMT) Received: from black.boeblingen.de.ibm.com (unknown [9.155.200.166]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 19 Jun 2024 15:45:46 +0000 (GMT) From: Ilya Leoshkevich To: Alexander Gordeev , Alexander Potapenko , Andrew Morton , Christoph Lameter , David Rientjes , Heiko Carstens , Joonsoo Kim , Marco Elver , Masami Hiramatsu , Pekka Enberg , Steven Rostedt , Vasily Gorbik , Vlastimil Babka Cc: 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 , Ilya Leoshkevich Subject: [PATCH v5 37/37] kmsan: Enable on s390 Date: Wed, 19 Jun 2024 17:44:12 +0200 Message-ID: <20240619154530.163232-38-iii@linux.ibm.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240619154530.163232-1-iii@linux.ibm.com> References: <20240619154530.163232-1-iii@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: _aFS9VMZNHeI_0QG12mn39Qu-C8A8omj X-Proofpoint-ORIG-GUID: 2gC1WJMPx7ngoWvphwAauoxDM2L1Po19 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-19_02,2024-06-19_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 lowpriorityscore=0 malwarescore=0 suspectscore=0 mlxscore=0 clxscore=1015 spamscore=0 mlxlogscore=764 impostorscore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405170001 definitions=main-2406190115 X-Rspamd-Queue-Id: 910B42000F X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: 8inbp5heomcimi3qjmwi171xk8haxe4q X-HE-Tag: 1718816891-424667 X-HE-Meta: U2FsdGVkX1+Pjc/oXNNOpJgEmNE0gCAb5Yeb10ulJ8LSKLxUN+pyX84BU3PT4q+r4dA0oDGNOQhvJ/gkMbSwmFm1roDYDJh5Dh+cRKla9BKTGd6qfXS5FtdX+Ru2W+hvYwGm7CgCi/ns4n5hAm3JrkaXNlnEc6KY1WCJr1YNMqH+6VRepU6CDS9Dxnw/Gu/kHUEmcJthW1vTgF/Kp9BzsnWDWEGpkPb68kdkftbUr+8SXszTTD+goY8zkgxbYOOBmYz7y/XSkuVHLirxMZWHKfsMMCirGnJbjhupBYamO1zvoFkSpY3X/8pQXEg7qxHFHpNi105qGHCqdaTVPjWyUVzsUsd0EswKtAehazyGpSXTV3y1x3ktZjQncyrPJ/30rwRx81Q1EzqZpkr/ZcL2V8k08FgUtus8AxrPXBWem2TQeGoc7bwN6H/d/THtu/hjgP7MM7UTkiC0fLa38Qyx9gyy7FCYmfE6KMnQC5BNByjUiMaI3m/Y7LcEKfPxj0Xj7C21FEZ6hRX24LA11XL41e/8aVajFcR5HIqWhmqMbDLiSC3CADr7j740CmmLwskqUM8NUxUI5Ew5jbuWH68SlMkWWa0i+cs2jtosZG5mA4up+4/5iO2LP6A2Q2BP3QS85Ds1IuauKBXHm3KSyW1Z56IJyAOW2Qh1oxj+3cFjl+WzrMjdavcR0ylF3WYWm+sNK9iGRz2WPwhJef7NGTR5r6rV5niAtD0sjl3q2yN+Ehd4vkh16d0M9IPqjgcD9jQNPFMNlv/Ga9XJujToS6+P01MZIlbjE43XR8fw5sp27KU+/036mmKkY+XXrIKLp2Abzf0OEmYNXRKJEbuyb4UWhcd7DWvGW27Yc3MQavsXvMRcY6fyTyPc4qDnGNvfah1XaCP5Vhbc7W4kzy3zoa9InVdDODCQyzFopKl9Pddr3X7mqd/6b8nIHbiSWgcSIXEPHKKKQsibT9Flt6Ys+F8 8C4poyR/ 9+lRY5tUyp+LPUsSL4DcQNv8VhE+sH0Xh9memgsWx/6SQ/C1e7b8vJRNkMk8mGv+sNOJJ0deFj5/mLHzJlbyYy7SUeObk9AU467tqZi0+0elebc5C05Po8nXl91e4ZpgDn4LRZI7UTN4x8WJNLN9TFeLphIt/W8AWazOT/2yPzg2DL0Pa9ZUbxhlTGK4zf6qbaxSeLM2QRrPKjUJ2oGkAr3qD199gp718kYf/gUlcp4JgalBlHXya+CSImw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000097, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Now that everything else is in place, enable KMSAN in Kconfig. Acked-by: Heiko Carstens Reviewed-by: Alexander Potapenko Signed-off-by: Ilya Leoshkevich --- arch/s390/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index c59d2b54df49..3cba4993d7c7 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig @@ -158,6 +158,7 @@ config S390 select HAVE_ARCH_KASAN select HAVE_ARCH_KASAN_VMALLOC select HAVE_ARCH_KCSAN + select HAVE_ARCH_KMSAN select HAVE_ARCH_KFENCE select HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET select HAVE_ARCH_SECCOMP_FILTER