Received: by 2002:a05:7412:b101:b0:e2:908c:2ebd with SMTP id az1csp2857233rdb; Wed, 15 Nov 2023 12:37:33 -0800 (PST) X-Google-Smtp-Source: AGHT+IEEtTkf1Pvnh0qsvgejDPZZJ0RovlQlEk9oFLouO+4jmcUrATEI9GTFyTcXTXbiO1u/X4yG X-Received: by 2002:aca:1a14:0:b0:3b6:cfe1:50f9 with SMTP id a20-20020aca1a14000000b003b6cfe150f9mr15144726oia.56.1700080653652; Wed, 15 Nov 2023 12:37:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700080653; cv=none; d=google.com; s=arc-20160816; b=Ye5StHFcVvFIVxtqOEzjsOrwUA2T6encWsqNVPmxnt38gmU/KDFgiu1F528+raCLPM r2cX1qUlUrTNfSDvalt1D6/iIeHR1THFpxSDCXaqAzdm1nkyOQo3lFBokHBnusWh45Sw TAulDOkKu1bLscoNlK2weuFxBmphADBU9Iz5vfp/PY/xVGSO2gw11xOmb58wAAx9J4Xw koXdTggwc49lzroM+DrqKZqKoSB2IDfg5Y+LBcRbFzkovDpaWlL8HDANzcerqm6LUmB0 ZYatVRJnXyD3ETIB0z7CN8pABLztsAmLPJWHPK1mhvw28OR73dCVoNpjahAC883vQEtg 7cBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=NhhCYesztOa7Jqvt4x0Jdgg/9LLiWk0vF6FRHTpFEGQ=; fh=Mk/+hh3KXEiY642GJit3QcoQ60j/OUZTCvigu+jTRuo=; b=LuLLxjDJGB7BvsZMZrSNvRKiPzBokek8XvbVE8z+GDW4FFQr+FdBtT2NMiyAbm8kNK +TfUICkdwJdAvOrLReiZ90cl+GX3OyjClOa2abgLHHzwqoRrZa0ne5BUdzIiR9YEivZF Ft34GbiHOGwO55pBPzgSwrwgDT7TwKBasy8fGzriT+DJQKymwTLz3On8AnZh6Btr3xBq brX6AWKNsq3gu1nRKoEML2VEAguXvCliRCJpJkbRwH2RnhrwOw9o5SyOBC6AEaz5yatF cFQyghepwKOnK3OpCv2lgCCO+pMA1HU8FTXkafJRyeX69bMRt0XTdCLZeQNcJ2O7R/Og Yl6A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ibm.com header.s=pp1 header.b=EXuxBFfm; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=NONE dis=NONE) header.from=ibm.com Return-Path: Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id d67-20020a633646000000b005b928e39429si11176624pga.259.2023.11.15.12.37.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Nov 2023 12:37:33 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@ibm.com header.s=pp1 header.b=EXuxBFfm; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=NONE dis=NONE) header.from=ibm.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 6334780C5F94; Wed, 15 Nov 2023 12:36:45 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344535AbjKOUgc (ORCPT + 99 others); Wed, 15 Nov 2023 15:36:32 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36900 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344480AbjKOUfp (ORCPT ); Wed, 15 Nov 2023 15:35:45 -0500 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 725D41FC1; Wed, 15 Nov 2023 12:35:05 -0800 (PST) Received: from pps.filterd (m0356516.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3AFKKGMt020174; Wed, 15 Nov 2023 20:34: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=NhhCYesztOa7Jqvt4x0Jdgg/9LLiWk0vF6FRHTpFEGQ=; b=EXuxBFfmlBxmPjShKXyWRnqdsbxq97IsJbT/Ks6kWrcaswZ6w0ZpMUCZ+yg7uoG3ILdk Mt0m0AtMCHIDaAgPHVErnbPvnAwe6KKpRm50cCb4EG9liRFF1h+N1xP4T+nQFifkXvi0 qe1glwAzZKXeHJOqs5iItl8C+vCOEQHKN2o3miCs/gaxQjkxDYNkFoCKsCP5AQUKhIYX aoM0vLhzuZPCYdFf6Xg2vrpO6pLSfLTRDycsiHi+EUnAR5gqjmIQJ4iJm7wOheGMogGu q93nD8AHnhTCLdZlJ5e5ezvm8s65u3LZuX+6bwqr7Zo0ZPa2KL+rWuajwsRQj0HTngmU 0Q== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3ud4xc8cef-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 15 Nov 2023 20:34:50 +0000 Received: from m0356516.ppops.net (m0356516.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 3AFKLkkX024302; Wed, 15 Nov 2023 20:34:50 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 3ud4xc8ce2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 15 Nov 2023 20:34:50 +0000 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 3AFKItQt021588; Wed, 15 Nov 2023 20:34:49 GMT Received: from smtprelay05.fra02v.mail.ibm.com ([9.218.2.225]) by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 3uap5k9kcq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 15 Nov 2023 20:34:49 +0000 Received: from smtpav01.fra02v.mail.ibm.com (smtpav01.fra02v.mail.ibm.com [10.20.54.100]) by smtprelay05.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 3AFKYkcm23265800 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 15 Nov 2023 20:34:46 GMT Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 4F4CC20043; Wed, 15 Nov 2023 20:34:46 +0000 (GMT) Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 01BB120040; Wed, 15 Nov 2023 20:34:45 +0000 (GMT) Received: from heavy.boeblingen.de.ibm.com (unknown [9.179.9.51]) by smtpav01.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 15 Nov 2023 20:34:44 +0000 (GMT) From: Ilya Leoshkevich To: Alexander Gordeev , Alexander Potapenko , Andrew Morton , Christoph Lameter , David Rientjes , 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 22/32] s390/boot: Add the KMSAN runtime stub Date: Wed, 15 Nov 2023 21:30:54 +0100 Message-ID: <20231115203401.2495875-23-iii@linux.ibm.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20231115203401.2495875-1-iii@linux.ibm.com> References: <20231115203401.2495875-1-iii@linux.ibm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: fkncNkpgvEQiGUZcGTO_3XR7T-3cRmrK X-Proofpoint-GUID: 4uSiq2gXcSEbCiwoTCWkXAyd40BPgJJa X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-11-15_20,2023-11-15_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 malwarescore=0 phishscore=0 mlxscore=0 lowpriorityscore=0 adultscore=0 clxscore=1015 suspectscore=0 mlxlogscore=999 spamscore=0 priorityscore=1501 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311060000 definitions=main-2311150163 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Wed, 15 Nov 2023 12:36:45 -0800 (PST) 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. 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 5a05c927f703..826005e2e3aa 100644 --- a/arch/s390/boot/Makefile +++ b/arch/s390/boot/Makefile @@ -43,6 +43,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) +{ +} -- 2.41.0