From patchwork Thu Jun 13 15:34:03 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Leoshkevich X-Patchwork-Id: 13696994 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 68E2DC27C4F for ; Thu, 13 Jun 2024 15:39:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 56C596B00A2; Thu, 13 Jun 2024 11:39:52 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 51ADB6B00A7; Thu, 13 Jun 2024 11:39:52 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3470D6B00A5; Thu, 13 Jun 2024 11:39:52 -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 EAB916B00A2 for ; Thu, 13 Jun 2024 11:39:51 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id A65CB40179 for ; Thu, 13 Jun 2024 15:39:51 +0000 (UTC) X-FDA: 82226275782.07.6100EEA Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by imf19.hostedemail.com (Postfix) with ESMTP id 21E561A0003 for ; Thu, 13 Jun 2024 15:39:48 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b="bWFHZS/g"; spf=pass (imf19.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=1718293189; 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=L2b4MdNWoGrmhueYrJgLdkWwOUUS/TDjtdF9PAJHumU=; b=EJEnm/gS6R/e3v8issEIKy6eZmyoevxk6nLZ9dcCfY00F5XsREtnKVSdjlumqxO01Q77If 5fmZnr7L6hgTcOROqnYaSUdr+2dACeKmb6Z1IxqZ+Q6tnKSE0UBP18hGchfdbairaP3Zns zko913U4tKRoyp9K4zY42gBef0ZkJmM= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b="bWFHZS/g"; spf=pass (imf19.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=1718293189; a=rsa-sha256; cv=none; b=DB806CdoxCDav7KkjLT74wx5qbHeADKygvHKHHBXjdILKftyRo+62Aj81etgJpAmlOZbgT 2JCU2mxDJCD0kXPgRAu0Uf5CIuyiIrL+7qYbHWSZkxeqKLKAcj2Nwsd2pd9tN3WsQ/2zup wQDw2Akfy9ZzTa2jJAZQxSLXELWpILM= 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 45DEQVaB026718; Thu, 13 Jun 2024 15:39:41 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=L2b4MdNWoGrmh ueYrJgLdkWwOUUS/TDjtdF9PAJHumU=; b=bWFHZS/gCs3+ozyXGHsIpEgSVpzyh bzelX599SlzpTGlgXKqkkTAC7MF0k5k7BqCp3QwEhA+Iaovt5FqaBZqF2dGjGC/0 kky7C0ii7uQwNvujLjMiYpa3CF40vJm3fcia3OgAk0yg8lZ1tKNXD93vFDDL6R+0 6vxudZ9Eo13YTozbVzDFCC85aZ9EkNkaqX3ZmMl2m9P/1zPR7NnB7WKZgIH8fS77 enhMDFDvQ9U0PCBOVoez3vwiMphgIInJTZSfw64J8OVolyar+1Eksm09tATgvG26 RcJAEPVlzEhn+SIfw4i0Tf8Ew2gn5gfSvtdBy8yDhWa1MMNfkDg36gcjg== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yqq4u236h-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Jun 2024 15:39:41 +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 45DFde84009379; Thu, 13 Jun 2024 15:39:40 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 3yqq4u236c-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Jun 2024 15:39:40 +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 45DF3D9l020045; Thu, 13 Jun 2024 15:39:39 GMT Received: from smtprelay06.fra02v.mail.ibm.com ([9.218.2.230]) by ppma23.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3yn34nh0bb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Jun 2024 15:39:39 +0000 Received: from smtpav07.fra02v.mail.ibm.com (smtpav07.fra02v.mail.ibm.com [10.20.54.106]) by smtprelay06.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 45DFdXFd34603580 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 13 Jun 2024 15:39:35 GMT Received: from smtpav07.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 6D0C520043; Thu, 13 Jun 2024 15:39:33 +0000 (GMT) Received: from smtpav07.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id EBA3E2005A; Thu, 13 Jun 2024 15:39:32 +0000 (GMT) Received: from black.boeblingen.de.ibm.com (unknown [9.155.200.166]) by smtpav07.fra02v.mail.ibm.com (Postfix) with ESMTP; Thu, 13 Jun 2024 15:39:32 +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 v4 01/35] ftrace: Unpoison ftrace_regs in ftrace_ops_list_func() Date: Thu, 13 Jun 2024 17:34:03 +0200 Message-ID: <20240613153924.961511-2-iii@linux.ibm.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240613153924.961511-1-iii@linux.ibm.com> References: <20240613153924.961511-1-iii@linux.ibm.com> X-TM-AS-GCONF: 00 X-Proofpoint-GUID: xm45VOErXn2zx--ADqKb53zaUOSWviMh X-Proofpoint-ORIG-GUID: Z8_ju8nlqZv5xj4EN8MEBuP8KnX5onjx 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-13_08,2024-06-13_02,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 suspectscore=0 clxscore=1015 impostorscore=0 adultscore=0 priorityscore=1501 lowpriorityscore=0 mlxlogscore=999 bulkscore=0 malwarescore=0 mlxscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405170001 definitions=main-2406130109 X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: 21E561A0003 X-Stat-Signature: 8d87yo79fkof8q5re3ub41b145jmzt15 X-HE-Tag: 1718293188-92888 X-HE-Meta: U2FsdGVkX1+QbTqW9YXg2tb7p77mDxWns/AWM2bNjgSGKSmTyeGGKG13fVQWaMOSP997fIeBoYO1evrst7gvR+pLrMKwcbo2TmY1Sd7lERafMck6e66nYL0gSYpNznO2TT8FMZL7dcq/5cnmjFAcBvW7nVO2V0e+H2v+QONrcF4e8DyLGSwMmNBx3/Ps5ENhsyL/+JpUUukbpCBICOHxjIzx9MqQhW/LUj4pHo1W0bsZXOy6mjIEp61beH73MlKTv4rt0GHybDsGQl25L4+LkNxB35/h5eBXVvRv4pa61XOCtNPjuKK6q3BpcEll56vEdcHW1TSa5s1v20w/XdI76hL2pGNdMUBUhw4EeVBQuCxvQ6BdmB3WB8h3vMzwPNoVXgNGidKXNks9E8uHlmQ29HfVhyq7yMlHCHGfO+R8pV0KUMaXtVeWjfMqGkTvCjWC11L2gY2ZmZUFFge6Lbh/Ime0IkiD207i7EbRAZb0z5nh0xrNcoA79ODp3yOOTq0yItDWVeDQCBIvD6n8vzwUpRRUnEEoX/p4LX5RsOC27b/8UC275Y7AuqFtKzEh/tyLWZKa+FNqxdFRcAU8d9qznZyEanWexFdSCKwLooTV8hATjehl7oEgs0nis+Z3+SQrOIKdRaflbwVg7YE9m3T1thL89fqvxDtjgyKfXqI/dTnttccMDkIodTBGSRCAj5VCnj7EN1NpWLol75WL54iIe6yUjGDNAgrc0J9VUIsSi9HSl8xTDHv/3hrSgziHevGg991pHua+m3FoDLW9G1ZG+7b1HbKjKDU9Q0qriqAtPB0A42UXhJiT99InwC4S1mioafx0trCdxHaKOzJQrj/Gj9wAgB38mr1NNcFJupcyPXZvytpOiNjEWu6sqSVWz2SMTr8QJHbdT5gQXpXN1mG8bHMks710/KfqD2QYElSczl+0ZOrUvnAiXfcKSUHJrrtTpb5gm9oswQnRl6pMmlJ jz//hR+w H98PUmesa9M8aHSzYg9/NwADu39g1MCIU2G71+dl59ZUfS67GsgBv6AlU392i78hnXUUyrREPFHzmbyNRHNNvxSL1FS7Xl2dSch+K+ve/6Mf6Z/dSzfhkbDWfOK4xE4bYiWnwsorTOYuUiZouKZqUZei+r8apN4y28K6TN1EXVoLUrGaLSMpIAOJxoNK5QCrZXjJ9Wrzj6sRXmdIF+OwBbMhVHcfhc9F4Ud11WGRuU5hRpb5Pa4Qm4IPxIYZmBEyhZeNMuPwDKnysAoozQeXV883a5kXnzijXDRHHxgzRam9bWwrj4Yw2IC5gVw== 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: 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 Signed-off-by: Ilya Leoshkevich Acked-by: Steven Rostedt (Google) --- 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