From patchwork Wed Nov 2 11:06:07 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Potapenko X-Patchwork-Id: 13027971 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 58028C4332F for ; Wed, 2 Nov 2022 11:06:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CDD6F8E0003; Wed, 2 Nov 2022 07:06:18 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C8CC88E0001; Wed, 2 Nov 2022 07:06:18 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B2E228E0003; Wed, 2 Nov 2022 07:06:18 -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 A29F78E0001 for ; Wed, 2 Nov 2022 07:06:18 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 553D9AB130 for ; Wed, 2 Nov 2022 11:06:18 +0000 (UTC) X-FDA: 80088223236.15.8E1ACF7 Received: from mail-yb1-f201.google.com (mail-yb1-f201.google.com [209.85.219.201]) by imf01.hostedemail.com (Postfix) with ESMTP id 5D7A34000B for ; Wed, 2 Nov 2022 11:06:16 +0000 (UTC) Received: by mail-yb1-f201.google.com with SMTP id h9-20020a25e209000000b006cbc4084f2eso16108597ybe.23 for ; Wed, 02 Nov 2022 04:06:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:message-id:mime-version:date:from:to:cc:subject :date:message-id:reply-to; bh=ZbeyMEB1N3HnW3KuOlIdq7/dvvJzr15HTa/zFi9USr4=; b=Zys9RxGxneSiAkiaMSLp0fMMah4Q4Z9cQekcJkJNg09vNC8uJQw/eYHIdshUK8sloS ooGakxYdVsGGFtO0vf+eL1zU+0H2llK4TNEmcMhroLHzQrTPZfBWQDBojDOhblkUEr4Y VlVIHNHQhO38wMiB66DPLA3LFQdtHMrbm5ZhgUQeygogmoqNQKhuvL5oPo0DAC2/5AVe qCxhIyoFmRsOF+cCGGErqjcW2MS+JPt+pV98fCT/Hsinr2F1udxrRJ8ikXkJHQoEIYa3 nXngezqkGCOS882wdt6JuoQoJ6omP88TBbF3foaf3Ou/PIbwm73m0hBRCxKUIYBtx6df B0dg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:message-id:mime-version:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=ZbeyMEB1N3HnW3KuOlIdq7/dvvJzr15HTa/zFi9USr4=; b=XoI7Nr97LvRRdKhA4zaX1xC+qLhdKVKN0Wl+3er2wn8EDrHJlWL1UUzoz0yZyw20TK eKXkQm0M5AZBWHrDv+Jicny2ZwORs1iG34hZVncEWkW3cJmXXitIvsAgPoES7T1LX7+C qC2WvBUm/qDmhlSUJcAS9YmQD3B5CsEaqw4f2yM8fj9ZNCHUMF9wHtDPqik2jZ+krO4g I3BFiY7PN/sPdPApqynYK94IxcvNPUsoGGI6DDOEsPV6pwrouOKrMZlY2S3LCi1v+gXA zsaTTbjeAxTnMRWvoeyMCZMPpRLMp8dRXJObfOKiv8b6MzgfNDJK12dcoL3pxauaafWq WNyA== X-Gm-Message-State: ACrzQf1cY57G22xrwNHQieOgA6AkEn3pUTQNgRUvjy6AbHQS/CCrK2Ku VmkK++YvXsxhtim3rPcmvqbtBacg54A= X-Google-Smtp-Source: AMsMyM4hS7slDYBeV5u3u/VgJ5G2C644lj/pYCkRoBPNBgg3H29Xs+iNPOC5zuesvbC6tPeF8YMpu8KFAb4= X-Received: from glider.muc.corp.google.com ([2a00:79e0:9c:201:7f41:af20:8:a96d]) (user=glider job=sendgmr) by 2002:a25:2187:0:b0:6b0:1abc:2027 with SMTP id h129-20020a252187000000b006b01abc2027mr22399213ybh.348.1667387175509; Wed, 02 Nov 2022 04:06:15 -0700 (PDT) Date: Wed, 2 Nov 2022 12:06:07 +0100 Mime-Version: 1.0 X-Mailer: git-send-email 2.38.1.273.g43a17bfeac-goog Message-ID: <20221102110611.1085175-1-glider@google.com> Subject: [PATCH 1/5] kmsan: core: kmsan_in_runtime() should return true in NMI context From: Alexander Potapenko To: glider@google.com Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, Andrew Morton , Dmitry Vyukov , Marco Elver , Peter Zijlstra ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1667387176; a=rsa-sha256; cv=none; b=sm2cGqBdIQh+uCotQsZwR9hXIAXKFpnS+rwtwfyWTv9TLk6eSFP6+fvpmN9Xvis7PPQoKs WK7tYtxbYMNgati2kC6xKNDjrlf9TEEbs8N4YMsQrDjAOlhYXl8kzvIH3I12h2Ly2lbnen 51RKS8HXhwPbqAtYgLkoHi6uUz21df0= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=Zys9RxGx; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf01.hostedemail.com: domain of 3J09iYwYKCHAUZWRSfUccUZS.QcaZWbil-aaYjOQY.cfU@flex--glider.bounces.google.com designates 209.85.219.201 as permitted sender) smtp.mailfrom=3J09iYwYKCHAUZWRSfUccUZS.QcaZWbil-aaYjOQY.cfU@flex--glider.bounces.google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1667387176; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=ZbeyMEB1N3HnW3KuOlIdq7/dvvJzr15HTa/zFi9USr4=; b=uOGVpOWXKa28faoIKstrcafzyQdYsTKgy2LEcZZdxhi4sr5NHKwREX2Pc9OLTOXGg0P2o7 OFV80RCpoTQO9mYCnbO8ycfI3mmAK5+x9vbKsVMrW5M9wbQOaWISg1hQhJrlAwfFRw8vxP DPpcPsuXaJtJ5nnSKYacIed66NSFYJg= X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 5D7A34000B X-Rspam-User: Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=Zys9RxGx; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf01.hostedemail.com: domain of 3J09iYwYKCHAUZWRSfUccUZS.QcaZWbil-aaYjOQY.cfU@flex--glider.bounces.google.com designates 209.85.219.201 as permitted sender) smtp.mailfrom=3J09iYwYKCHAUZWRSfUccUZS.QcaZWbil-aaYjOQY.cfU@flex--glider.bounces.google.com X-Stat-Signature: hc8ztacbcnhyrm3gu1zrzrbcfpy76nzr X-HE-Tag: 1667387176-20488 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: Without that, every call to __msan_poison_alloca() in NMI may end up allocating memory, which is NMI-unsafe. Cc: Andrew Morton Cc: Dmitry Vyukov Cc: Marco Elver Cc: Peter Zijlstra (Intel) Link: https://lore.kernel.org/lkml/20221025221755.3810809-1-glider@google.com/ Signed-off-by: Alexander Potapenko Acked-by: Peter Zijlstra (Intel) --- mm/kmsan/kmsan.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mm/kmsan/kmsan.h b/mm/kmsan/kmsan.h index 961eb658020aa..3cd2050a33e6a 100644 --- a/mm/kmsan/kmsan.h +++ b/mm/kmsan/kmsan.h @@ -125,6 +125,8 @@ static __always_inline bool kmsan_in_runtime(void) { if ((hardirq_count() >> HARDIRQ_SHIFT) > 1) return true; + if (in_nmi()) + return true; return kmsan_get_context()->kmsan_in_runtime; } From patchwork Wed Nov 2 11:06:08 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Potapenko X-Patchwork-Id: 13027972 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 48CB8C43217 for ; Wed, 2 Nov 2022 11:06:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D79048E0005; Wed, 2 Nov 2022 07:06:20 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D29078E0001; Wed, 2 Nov 2022 07:06:20 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BF16A8E0005; Wed, 2 Nov 2022 07:06:20 -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 B10FC8E0001 for ; Wed, 2 Nov 2022 07:06:20 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 77CC21611E7 for ; Wed, 2 Nov 2022 11:06:20 +0000 (UTC) X-FDA: 80088223320.16.4BCE0D2 Received: from mail-yb1-f201.google.com (mail-yb1-f201.google.com [209.85.219.201]) by imf06.hostedemail.com (Postfix) with ESMTP id 3220418000C for ; Wed, 2 Nov 2022 11:06:18 +0000 (UTC) Received: by mail-yb1-f201.google.com with SMTP id y6-20020a25b9c6000000b006c1c6161716so16013732ybj.8 for ; Wed, 02 Nov 2022 04:06:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=GIr2ezHJZytLhlXMK2PvYo8WU5NrIng/zb7hVbc1Lzg=; b=TDR2QbrpbPk39MbEBp7QE2/LtaTl168eHDcSKXsTbYFm0J2N6gc1e1BbPZoiCjB8hU 9BaU4/mFK6rylWjr8RlezKIdwfyx6JEn4Xt+BuDRJzDqLGWxoSxMOuJisNk//4LKYqeo WmCgmQMbYt7wUV/ki7tYTWroZrWVcyodZ+cDyMos90rvZPUsmiKOw50wZWI3K4Yz2ekN hRPo9sFMvHxlZqZXXNZ4ZZ+etmzaSVqT7KWQmtgp0Yv1Qupyjg8fsdntbz4+2XCc848s GerrC3sXiYTqxNqrYQXvh3xr+wMLrxLHYxahoFSishfnQJ7qiPsqJNWKC1iXHXj2CqAF HCaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=GIr2ezHJZytLhlXMK2PvYo8WU5NrIng/zb7hVbc1Lzg=; b=B4KbLTmeFUswfJgW2q9nc24Ht2drFIhSpwJ+mh+IwVMVA/2wsrBwzyf+fk8it8zFI2 cSA09uFXO7xqgsNGI9Pc2Qwr1+A2y7WjY6KBJ0Y2QMo6hPhD1kqQ7q7qHEsWFY65mTph UHdycmKsKVCNF6f24KoQhOTQQoy6Vnf32BVMaLxpVYp2v0zC1MEHzSKr7Lx6x75LE/f5 3PEHnTWMEkxlqWzmCJ5Buvp+p+EPBL/Gq+c3zwo5M0/umELIaza4Q9/77foZnR4UBkJX AsQ9Q49fM/fu3T6EPmfeDuDOoZT8gtN6lEVH3mddk9ff8swLlQe8xenx18NAJeRwPKkA XW5g== X-Gm-Message-State: ACrzQf3EvMHxrPhMD0K4BGdbqBerjDxM0PIy2sMGVfHnLpYHFbrJAgz2 GunS9X1QlWhJ+rIc/L6rNkoGYyloTn0= X-Google-Smtp-Source: AMsMyM46EzUNxA/tJ+HneP2x8faa5lSnGZX9YuhwEIjs8mzU+29Tq9Wklfbi16zLxPqq+zIolz1gsMz28xE= X-Received: from glider.muc.corp.google.com ([2a00:79e0:9c:201:7f41:af20:8:a96d]) (user=glider job=sendgmr) by 2002:a81:a0d5:0:b0:370:1a06:1b4a with SMTP id x204-20020a81a0d5000000b003701a061b4amr178816ywg.206.1667387178012; Wed, 02 Nov 2022 04:06:18 -0700 (PDT) Date: Wed, 2 Nov 2022 12:06:08 +0100 In-Reply-To: <20221102110611.1085175-1-glider@google.com> Mime-Version: 1.0 References: <20221102110611.1085175-1-glider@google.com> X-Mailer: git-send-email 2.38.1.273.g43a17bfeac-goog Message-ID: <20221102110611.1085175-2-glider@google.com> Subject: [PATCH 2/5] x86/uaccess: instrument copy_from_user_nmi() From: Alexander Potapenko To: glider@google.com Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, Andrew Morton , Dave Hansen , Kees Cook , Peter Zijlstra , x86@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1667387179; a=rsa-sha256; cv=none; b=maGu5pTqN7wmToBSGkTepcJZMiOO5U/hyFTWonHak6MC/Qb7vkCD+n6mFpwhmyl95FV1iT a6jytr4YjcqnlvHAZDjxVaxKkgmytzjWQe38ZTOk2+wf7TVYIomppWwMqPDTdmQ3PVC/zg gvc2rSkHWyJKpWTwcFKTaL9FtgRfHME= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=TDR2Qbrp; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf06.hostedemail.com: domain of 3Kk9iYwYKCHMXcZUViXffXcV.TfdcZelo-ddbmRTb.fiX@flex--glider.bounces.google.com designates 209.85.219.201 as permitted sender) smtp.mailfrom=3Kk9iYwYKCHMXcZUViXffXcV.TfdcZelo-ddbmRTb.fiX@flex--glider.bounces.google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1667387179; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=GIr2ezHJZytLhlXMK2PvYo8WU5NrIng/zb7hVbc1Lzg=; b=o9ZzhJmJ5uLG/7IIRu2V1Fco1604clQbCDFaz4WTxXY1H6YJtt8xZ70V6//qgA+9FRlTTI lf7t9rltb4bAHE2FTTuDJYgZQXnQMYVrvVnurWj5UjAg444jx6MshtnUxfe516WnQIgSrS jwjKigjVcXvcdOa0MlwEt4wi8tlTC7Y= X-Rspamd-Server: rspam02 X-Rspam-User: Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=TDR2Qbrp; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf06.hostedemail.com: domain of 3Kk9iYwYKCHMXcZUViXffXcV.TfdcZelo-ddbmRTb.fiX@flex--glider.bounces.google.com designates 209.85.219.201 as permitted sender) smtp.mailfrom=3Kk9iYwYKCHMXcZUViXffXcV.TfdcZelo-ddbmRTb.fiX@flex--glider.bounces.google.com X-Stat-Signature: z6crasynec3buwfd5mk61p69exxqcg7j X-Rspamd-Queue-Id: 3220418000C X-HE-Tag: 1667387178-457312 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: Make sure usercopy hooks from linux/instrumented.h are invoked for copy_from_user_nmi(). This fixes KMSAN false positives reported when dumping opcodes for a stack trace. Cc: Andrew Morton Cc: Dave Hansen Cc: Kees Cook Cc: Peter Zijlstra (Intel) Cc: x86@kernel.org Signed-off-by: Alexander Potapenko Acked-by: Peter Zijlstra (Intel) --- arch/x86/lib/usercopy.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/x86/lib/usercopy.c b/arch/x86/lib/usercopy.c index f1bb186171562..24b48af274173 100644 --- a/arch/x86/lib/usercopy.c +++ b/arch/x86/lib/usercopy.c @@ -6,6 +6,7 @@ #include #include +#include #include @@ -44,7 +45,9 @@ copy_from_user_nmi(void *to, const void __user *from, unsigned long n) * called from other contexts. */ pagefault_disable(); + instrument_copy_from_user_before(to, from, n); ret = raw_copy_from_user(to, from, n); + instrument_copy_from_user_after(to, from, n, ret); pagefault_enable(); return ret; From patchwork Wed Nov 2 11:06:09 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Potapenko X-Patchwork-Id: 13027973 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 A8BAAC4332F for ; Wed, 2 Nov 2022 11:06:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 478C58E0006; Wed, 2 Nov 2022 07:06:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 44F828E0001; Wed, 2 Nov 2022 07:06:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 365118E0006; Wed, 2 Nov 2022 07:06:23 -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 261508E0001 for ; Wed, 2 Nov 2022 07:06:23 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id EC44B121132 for ; Wed, 2 Nov 2022 11:06:22 +0000 (UTC) X-FDA: 80088223404.09.8BA6605 Received: from mail-ej1-f73.google.com (mail-ej1-f73.google.com [209.85.218.73]) by imf12.hostedemail.com (Postfix) with ESMTP id 98C0340006 for ; Wed, 2 Nov 2022 11:06:22 +0000 (UTC) Received: by mail-ej1-f73.google.com with SMTP id sc40-20020a1709078a2800b007ae024e5e82so1049775ejc.13 for ; Wed, 02 Nov 2022 04:06:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=fUQfvgq1r8lF9rRRm4NumpIHqFvDpVd5cUWloyxUIys=; b=ZOFvSA0cmseSVYIuYaM2BdEV+9xbe5Xbf2t7D0GgypSpP1gnX3wIZjxGtpGcZlix5E FCdURGEXcoZhbn0atFQBOKA8PWu5GZmM0PepNS7WW/UOv8wS8UBvhYQA/S017ZeMaU6B pduViuSKslfAwUv/JkReNhliQybOgcLy8uFrc0LLbfBUiBcHAE6KfsJe1A8kD7TZje6B IGivUc1aeRKlICNXfm5j+lzmy+rGqkvLo+gUkMJchlsBDJTqDJ/HltB0c5Jh1EmtZrYy udfceaJkn1m4l67dY8Nrhn/+bADs62+zBKdKM2OPoBBpBSlwpT6u6Adqi1g1JykfTIHV nquA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=fUQfvgq1r8lF9rRRm4NumpIHqFvDpVd5cUWloyxUIys=; b=4W4Y4cRdgZScV97C/S+E2/vNHq3hwxjsUchMKNmhjOt9Al193LhdxMVq9fVHNGLg3k XxPTnCv/eO0iV0ffD+HPCmJUaOSrC/ZD9tY1bguLYDCLIbicH8bAAQA4tf/+VJJbUDjg 1D9GptFNujDGuxW1cdXP3XY6G5JApu2jViFZODmG37f511s2Zk45Ur7rV6W7x+zFBTpa 705ra4WRyHflkoQS1rzI1gKlYW3x0Ge/M1dNPsLVOWiTCQ8kEWHuBCxLZ5EfrMI9F3mi X5USi4307R5F9f8dixud8mxniyDl5p+g/eI3kyr70YcjDAZd4Q18XZWAhTjwN+nZwZVt h54Q== X-Gm-Message-State: ACrzQf078fedCoNEab7wUdEQGoNxMf7lBQx+hYHY0VwV0ikI9Y4r87ym LyG+hWi222owjRUbGU/j1Tw+ieEEtBs= X-Google-Smtp-Source: AMsMyM6PXK1AcgbPYvS415aXFf4iDD8g9auqwdAGE8GYIznokzqnaxqJcwlrYZDt7ihqGTup8MwZef43Ezw= X-Received: from glider.muc.corp.google.com ([2a00:79e0:9c:201:7f41:af20:8:a96d]) (user=glider job=sendgmr) by 2002:a05:6402:450c:b0:443:6279:774f with SMTP id ez12-20020a056402450c00b004436279774fmr24423763edb.11.1667387181029; Wed, 02 Nov 2022 04:06:21 -0700 (PDT) Date: Wed, 2 Nov 2022 12:06:09 +0100 In-Reply-To: <20221102110611.1085175-1-glider@google.com> Mime-Version: 1.0 References: <20221102110611.1085175-1-glider@google.com> X-Mailer: git-send-email 2.38.1.273.g43a17bfeac-goog Message-ID: <20221102110611.1085175-3-glider@google.com> Subject: [PATCH 3/5] Kconfig.debug: ensure early check for KMSAN in CONFIG_KMSAN_WARN From: Alexander Potapenko To: glider@google.com Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, Andrew Morton , Kees Cook , Masahiro Yamada , Nick Desaulniers , linux-kbuild@vger.kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1667387182; a=rsa-sha256; cv=none; b=ws0vG4CeqVXHZ0nHbR0+cul7bUsfeyeJvylWmKd6m5HYcatJUfIvSwDnLS6nYt7IhNscb1 Ihs3BGc/4L1A7pglmponI1QHqE0PIM9PGRr4jmAjWiAy+Jlps5AJXXeKbZI2X7j5vVWsfr o2T3hNZicJcxn+aA8t59KTnLs05WyR4= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=ZOFvSA0c; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf12.hostedemail.com: domain of 3LU9iYwYKCHYafcXYlaiiafY.Wigfchor-ggepUWe.ila@flex--glider.bounces.google.com designates 209.85.218.73 as permitted sender) smtp.mailfrom=3LU9iYwYKCHYafcXYlaiiafY.Wigfchor-ggepUWe.ila@flex--glider.bounces.google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1667387182; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=fUQfvgq1r8lF9rRRm4NumpIHqFvDpVd5cUWloyxUIys=; b=aCmOyhW9r9ZnHTf2k3doZo4zW/RJUq8V23NWBgbhOeeceOp5cOMqGzHtmLenZ9dm4giqZa ZpX8V6gM9eKkIfOsXgIlyZQ7vVJegvvCgEBgiN/eHnglkeq1VwG1cflb55qBZ114gpZ2WI HeQ7ClyC3Xbyn0v8ihZpJQByYxAxfJY= X-Stat-Signature: xoctq3gqoandmtromqhxt96rnyxzwhki X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 98C0340006 X-Rspam-User: Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=ZOFvSA0c; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf12.hostedemail.com: domain of 3LU9iYwYKCHYafcXYlaiiafY.Wigfchor-ggepUWe.ila@flex--glider.bounces.google.com designates 209.85.218.73 as permitted sender) smtp.mailfrom=3LU9iYwYKCHYafcXYlaiiafY.Wigfchor-ggepUWe.ila@flex--glider.bounces.google.com X-HE-Tag: 1667387182-62649 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: As pointed out by Masahiro Yamada, Kconfig picks up the first default entry which has true 'if' condition. Hence, the previously added check for KMSAN was never used, because it followed the checks for 64BIT and !64BIT. Put KMSAN check before others to ensure it is always applied. Cc: Andrew Morton Cc: Kees Cook Cc: Masahiro Yamada Cc: Nick Desaulniers Cc: linux-kbuild@vger.kernel.org Link: https://github.com/google/kmsan/issues/89 Link: https://lore.kernel.org/linux-mm/20221024212144.2852069-3-glider@google.com/ Fixes: 921757bc9b61 ("Kconfig.debug: disable CONFIG_FRAME_WARN for KMSAN by default") Signed-off-by: Alexander Potapenko --- lib/Kconfig.debug | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index 29280072dc0e4..b4a0988a7ffd2 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -395,12 +395,12 @@ endif # DEBUG_INFO config FRAME_WARN int "Warn for stack frames larger than" range 0 8192 + default 0 if KMSAN default 2048 if GCC_PLUGIN_LATENT_ENTROPY default 2048 if PARISC default 1536 if (!64BIT && XTENSA) default 1024 if !64BIT default 2048 if 64BIT - default 0 if KMSAN help Tell the compiler to warn at build time for stack frames larger than this. Setting this too low will cause a lot of warnings. From patchwork Wed Nov 2 11:06:10 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Potapenko X-Patchwork-Id: 13027974 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 4F713C433FE for ; Wed, 2 Nov 2022 11:06:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DC6F48E0007; Wed, 2 Nov 2022 07:06:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D76E78E0001; Wed, 2 Nov 2022 07:06:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C65F78E0007; Wed, 2 Nov 2022 07:06:25 -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 B8AFA8E0001 for ; Wed, 2 Nov 2022 07:06:25 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 86315A1151 for ; Wed, 2 Nov 2022 11:06:25 +0000 (UTC) X-FDA: 80088223530.08.F2118DF Received: from mail-wr1-f74.google.com (mail-wr1-f74.google.com [209.85.221.74]) by imf09.hostedemail.com (Postfix) with ESMTP id 15987140003 for ; Wed, 2 Nov 2022 11:06:24 +0000 (UTC) Received: by mail-wr1-f74.google.com with SMTP id j20-20020adfb314000000b002366d9f67aaso4648174wrd.3 for ; Wed, 02 Nov 2022 04:06:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=WrClR7h0c/XU2pAfJHOZckEycFJJtsgVk0eEUZJfByQ=; b=p8C9AfvzfTHb4amAZyR7Huo6iTM2OmZ596wuVutv4RMIjPVHhzGcRhijW0Wdzbgz/4 mg8h+O0U7SL3esE9xQvb/5kztONm+5qgbpw+tJlE//0bLZKuFkjRAzzQj+0wx1PDrFL6 Gauls6F4ST7RPiHkY++x7dd+3pFWOzDJv/RKpYF7ClI+YHFIqhcGVGIZOl7rqs/xFadg JoL4S1a87PsVKKh6JjnOfr+h9u34ulSYmsJAwMO91rHcN2Iy4iWb7e3lSQdY6fNFQ1ky oJ0NvFIbyshMi4t2Q/NN65+FNBXzM8tc6cSwn+oFCnYObruLNwf8GKhvRyngWCXgMNCu nieA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=WrClR7h0c/XU2pAfJHOZckEycFJJtsgVk0eEUZJfByQ=; b=Sy2odvjxp0iOFjnhhf1yiDXAFJUczbVy8bhDhGLJ+L/NhdMysuE//AJsmuljchYh0Z 0eLDY5vu5JPVmUreQCVKLsD4BZeRlmsF02oSQcgk5yvFTjeQFKsshVW35ldBva0j/J2Z 8Hq5S2B7pDb1FdGYprGu5q8MaSRmroIsnlTCw8GTFa7SGZ1GmmbEYX2hkxRHCdUn1kVw Ro85twxR7FwhelQml/JsQRlVEguG+TtxX/8hkV8xYpXpOGBBCuM5gKjLfwkmrqZyOW+a HA8MvB/y2mwYSSQ7kFhhdEJEox2vU2AkwzGWu8t2R9QHca0tdGvq6slbMfrgLByHnarO ZzBQ== X-Gm-Message-State: ACrzQf3jaL3m2XDyCdy3Cm3NS91zlYTO78LmU20b+/Z0Yp20AH+ETSsL aY0JbF8cSzO4pfBJEDKdLP++N663wnw= X-Google-Smtp-Source: AMsMyM74mWMhrgnaynccgvDcG2odp7kJoqQH6hJmlTrNDoPthPuQMBlGWcgbtLnfVHNrarTgP4wSHzfbzMc= X-Received: from glider.muc.corp.google.com ([2a00:79e0:9c:201:7f41:af20:8:a96d]) (user=glider job=sendgmr) by 2002:adf:dd91:0:b0:236:a261:6930 with SMTP id x17-20020adfdd91000000b00236a2616930mr14444934wrl.551.1667387183641; Wed, 02 Nov 2022 04:06:23 -0700 (PDT) Date: Wed, 2 Nov 2022 12:06:10 +0100 In-Reply-To: <20221102110611.1085175-1-glider@google.com> Mime-Version: 1.0 References: <20221102110611.1085175-1-glider@google.com> X-Mailer: git-send-email 2.38.1.273.g43a17bfeac-goog Message-ID: <20221102110611.1085175-4-glider@google.com> Subject: [PATCH 4/5] kmsan: make sure PREEMPT_RT is off From: Alexander Potapenko To: glider@google.com Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, Andrew Morton , Dmitry Vyukov , Marco Elver , Peter Zijlstra ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1667387185; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=WrClR7h0c/XU2pAfJHOZckEycFJJtsgVk0eEUZJfByQ=; b=eupvGanzPJOZE1stK9Gm7JzjBDwaP+Wc86u7MooNO6MTszQJTEszlG2Jm1IxQZE7Jmn/Ik Eoo9zl2gCyRUNfX9KiNgEUX7N1xh8gqhNvTEkVB1itaf0YMPVBxuVBCs6iCGlGqnlo1ZKo Qg7hs7lkOmdxkyfXdI+dG+SeOV7uaVk= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=p8C9Afvz; spf=pass (imf09.hostedemail.com: domain of 3L09iYwYKCHgcheZanckkcha.Ykihejqt-iigrWYg.knc@flex--glider.bounces.google.com designates 209.85.221.74 as permitted sender) smtp.mailfrom=3L09iYwYKCHgcheZanckkcha.Ykihejqt-iigrWYg.knc@flex--glider.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1667387185; a=rsa-sha256; cv=none; b=gkDbfSw3FMhd2z4cXjHldRaBLkav/vMa1+FdABCfcpJTuHrifToDXmXgjEX0nLoUIAHRAS QXiHGVXj7JDNe64e/1OyuilqlYlNEQgXGk4/e2VlOLzIUj4dy1bW8rwLbx1Jar/9OYnIeg Qqn8I/53gzRtWFxXKw58bZ8MMbfDhlc= X-Stat-Signature: tidxhp38uwaidupwpn51ofxnkx4i977e X-Rspamd-Queue-Id: 15987140003 X-Rspamd-Server: rspam06 X-Rspam-User: Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=p8C9Afvz; spf=pass (imf09.hostedemail.com: domain of 3L09iYwYKCHgcheZanckkcha.Ykihejqt-iigrWYg.knc@flex--glider.bounces.google.com designates 209.85.221.74 as permitted sender) smtp.mailfrom=3L09iYwYKCHgcheZanckkcha.Ykihejqt-iigrWYg.knc@flex--glider.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com X-HE-Tag: 1667387184-88793 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: As pointed out by Peter Zijlstra, __msan_poison_alloca() does not play well with IRQ code when PREEMPT_RT is on, because in that mode even GFP_ATOMIC allocations cannot be performed. Fixing this would require making stackdepot completely lockless, which is quite challenging and may be excessive for the time being. Instead, make sure KMSAN is incompatible with PREEMPT_RT, like other debug configs are. Cc: Andrew Morton Cc: Dmitry Vyukov Cc: Marco Elver Cc: Peter Zijlstra (Intel) Link: https://lore.kernel.org/lkml/20221025221755.3810809-1-glider@google.com/ Signed-off-by: Alexander Potapenko Acked-by: Peter Zijlstra (Intel) --- lib/Kconfig.kmsan | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/Kconfig.kmsan b/lib/Kconfig.kmsan index b2489dd6503fa..ef2c8f256c57d 100644 --- a/lib/Kconfig.kmsan +++ b/lib/Kconfig.kmsan @@ -12,6 +12,7 @@ config KMSAN bool "KMSAN: detector of uninitialized values use" depends on HAVE_ARCH_KMSAN && HAVE_KMSAN_COMPILER depends on SLUB && DEBUG_KERNEL && !KASAN && !KCSAN + depends on !PREEMPT_RT select STACKDEPOT select STACKDEPOT_ALWAYS_INIT help From patchwork Wed Nov 2 11:06:11 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Potapenko X-Patchwork-Id: 13027975 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 2B7F2C4332F for ; Wed, 2 Nov 2022 11:06:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C194D8E0008; Wed, 2 Nov 2022 07:06:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BC9CD8E0001; Wed, 2 Nov 2022 07:06:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A91478E0008; Wed, 2 Nov 2022 07:06:28 -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 9C02D8E0001 for ; Wed, 2 Nov 2022 07:06:28 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 640051611A5 for ; Wed, 2 Nov 2022 11:06:28 +0000 (UTC) X-FDA: 80088223656.24.4BBBCC9 Received: from mail-ed1-f74.google.com (mail-ed1-f74.google.com [209.85.208.74]) by imf25.hostedemail.com (Postfix) with ESMTP id E26E1A0002 for ; Wed, 2 Nov 2022 11:06:27 +0000 (UTC) Received: by mail-ed1-f74.google.com with SMTP id z9-20020a05640235c900b0046358415c4fso5874111edc.9 for ; Wed, 02 Nov 2022 04:06:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=Dk/dhHPL0qFVshysQ/N4gnrAp81kLluhRpZpiN1N26A=; b=BRXuAvLOHF3g9+gYxk6eLf0iLGvj05paMev0jUBgMnN/5twd8iGLllzv5YJfGiXvxo bbpa22yuLIs03sydQwA6d6FHWh1ns4oA9GlUYXwh/RQbSpseclTQoxYM356MlrCxyM/d l7xAksNUDe2qS9tRUGAgfy+pCWc4utGI5Aty2dyjLc/3QuuQjIB0MOtKWoWhtakZ6Yli rzVdmRwM0RTjlvJ/Zf6eD8WP9SwZrTA2aldlm9B/FxucwGXrXuxw2IjQDm4QRRrggsYe oNPE1SV5IP9wsvvEx/aHSu69q3tQhoACudVb+Jy9nLyKvCVO3Fknl0VsdVPh0u+lG1Ta aVsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Dk/dhHPL0qFVshysQ/N4gnrAp81kLluhRpZpiN1N26A=; b=jupIUrpD0RYqw8bmwDxkS1Egeuv9rjoz6rLvfHOg2HcoabNiGDljrny6RanY01BWY4 wZZMZdB+RdsFCUmosSfi9KrcNdP9/KrGkDc0LgEFdAniFtzRgnC2Z8t9Mk0ajX/+o3lL j3Kg+nMXE8kQH41ThcHKbgDIdI1JR7ucLYdtR0PEIGsnPGoTGlWv6TcjLVK2Uoh3vCqq p5timbow3AvzOb02LnrLuQ9KXLGc+IKJyqyhcgrcOxUVsshjPlx9ILiYEjql51aBYinn rUEOdebOOsdEPWuq3cdotJTKP77wubYmwciNha4dfqDonTgiWUXd/LhoVZPAXNd85Mag pIZg== X-Gm-Message-State: ACrzQf2dpgzc6AitlzA0LzXiRHBZm9g6PFTL8pTmSUYVh2NWPEyORtsi 3/nfloSzvteCHXtWC6rUnb2ocrEcOew= X-Google-Smtp-Source: AMsMyM4fUfxUdb/RWuOeQOt7gjfxrb6bfUNzqz8xTAK3dw9fr/vhi9KtZr6+Qf+4LF3jQ4Jn/CWpERzPtqA= X-Received: from glider.muc.corp.google.com ([2a00:79e0:9c:201:7f41:af20:8:a96d]) (user=glider job=sendgmr) by 2002:a17:907:a80f:b0:7ae:3f7:b612 with SMTP id vo15-20020a170907a80f00b007ae03f7b612mr2514087ejc.421.1667387186488; Wed, 02 Nov 2022 04:06:26 -0700 (PDT) Date: Wed, 2 Nov 2022 12:06:11 +0100 In-Reply-To: <20221102110611.1085175-1-glider@google.com> Mime-Version: 1.0 References: <20221102110611.1085175-1-glider@google.com> X-Mailer: git-send-email 2.38.1.273.g43a17bfeac-goog Message-ID: <20221102110611.1085175-5-glider@google.com> Subject: [PATCH 5/5] x86/traps: avoid KMSAN bugs originating from handle_bug() From: Alexander Potapenko To: glider@google.com Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, Andrew Morton , Borislav Petkov , Dave Hansen , Ingo Molnar , Thomas Gleixner , x86@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1667387188; a=rsa-sha256; cv=none; b=lcsUAy07eLlZ3ropY8xXPGvA7zUG2inWqhA+lbdjnJIDLX/qmau+K8JihOii8KDjglK4pg ewwIZ189dK80G5FTwQy2Zs7mKiJgwckH7eAJYUf+eKLhrQ9+L2taamW9b33ATSzrf07UHN fYXpWBgG66FjJ5En7p7IHd0RHNnY7kI= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=BRXuAvLO; spf=pass (imf25.hostedemail.com: domain of 3Mk9iYwYKCHsfkhcdqfnnfkd.bnlkhmtw-lljuZbj.nqf@flex--glider.bounces.google.com designates 209.85.208.74 as permitted sender) smtp.mailfrom=3Mk9iYwYKCHsfkhcdqfnnfkd.bnlkhmtw-lljuZbj.nqf@flex--glider.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1667387188; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Dk/dhHPL0qFVshysQ/N4gnrAp81kLluhRpZpiN1N26A=; b=yWmHdxXTNkLjvFQz87yCoLMbuQj5eUTQq25k7Xo6CqvXlX2UijiR5YoQ4FdsJ3BC+oUAyq /qwInv9yDARmzU0DM+hhDYNGM8Zc3zacKZHUhzHRjeeYjvDuevrL7XrXKRhJqxqQ6vjtIP Qa+VVj4psKrJXI/hUQZ6J2L5Ows4xjU= X-Stat-Signature: bq7dkcdpjpxfq8jgz1kodaxjfjrgitdt X-Rspamd-Server: rspam09 X-Rspam-User: X-Rspamd-Queue-Id: E26E1A0002 Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=BRXuAvLO; spf=pass (imf25.hostedemail.com: domain of 3Mk9iYwYKCHsfkhcdqfnnfkd.bnlkhmtw-lljuZbj.nqf@flex--glider.bounces.google.com designates 209.85.208.74 as permitted sender) smtp.mailfrom=3Mk9iYwYKCHsfkhcdqfnnfkd.bnlkhmtw-lljuZbj.nqf@flex--glider.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com X-HE-Tag: 1667387187-669485 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: There is a case in exc_invalid_op handler that is executed outside the irqentry_enter()/irqentry_exit() region when an UD2 instruction is used to encode a call to __warn(). In that case the `struct pt_regs` passed to the interrupt handler is never unpoisoned by KMSAN (this is normally done in irqentry_enter()), which leads to false positives inside handle_bug(). Use kmsan_unpoison_entry_regs() to explicitly unpoison those registers before using them. Cc: Andrew Morton Cc: Borislav Petkov Cc: Dave Hansen Cc: Ingo Molnar Cc: Thomas Gleixner Cc: x86@kernel.org Signed-off-by: Alexander Potapenko --- arch/x86/kernel/traps.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c index 178015a820f08..d3fdec706f1d2 100644 --- a/arch/x86/kernel/traps.c +++ b/arch/x86/kernel/traps.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -301,6 +302,12 @@ static noinstr bool handle_bug(struct pt_regs *regs) { bool handled = false; + /* + * Normally @regs are unpoisoned by irqentry_enter(), but handle_bug() + * is a rare case that uses @regs without passing them to + * irqentry_enter(). + */ + kmsan_unpoison_entry_regs(regs); if (!is_valid_bugaddr(regs->ip)) return handled;