From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5AD79C4332F for ; Wed, 2 Nov 2022 13:37:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 90EBB8E0002; Wed, 2 Nov 2022 09:37:57 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8BF038E0001; Wed, 2 Nov 2022 09:37:57 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7AD8D8E0002; Wed, 2 Nov 2022 09:37:57 -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 6B5118E0001 for ; Wed, 2 Nov 2022 09:37:57 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 074AA1211A0 for ; Wed, 2 Nov 2022 13:37:56 +0000 (UTC) X-FDA: 80088605394.04.B92DE28 Received: from mail-yb1-f170.google.com (mail-yb1-f170.google.com [209.85.219.170]) by imf02.hostedemail.com (Postfix) with ESMTP id 8FDA080003 for ; Wed, 2 Nov 2022 13:37:56 +0000 (UTC) Received: by mail-yb1-f170.google.com with SMTP id z192so21226182yba.0 for ; Wed, 02 Nov 2022 06:37:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=20+jPjAz1Ru1ioQ+9Mris24WBI3NxGkmmf7N7L/+EgE=; b=e7qQu9cim/64+l+NdWFLloKj1Sj1l+tsXVXD8tLCYXnV5WTNWnf8vWfOIO87lpenOd RcEuiGs1eLeaIPWKKB/lELsBXw45dOWaynr3aUMMYUU8nveDvnJ8Wlny2SZQrK1H2hdc D+wWnoSB4qaxuxY4hh8BIgwzXrhK5oNBzzB4YuD2lR4ojjWoYuiw4mniMo+xbheV7uPr +Z1mHTCYajjZ4RuhjLr/2LtuOqCkks7dzYz2+Yzuf8iAQLkqLLB1lzf2/Es3ExIvpvdL JbCcYf0Kttm1o58eckeBZFUjfd+VRnU2OcJzYAlIo4rrPmT4SUW7mr/NdFoxmOwdj9YG Kh6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=20+jPjAz1Ru1ioQ+9Mris24WBI3NxGkmmf7N7L/+EgE=; b=k3D/F2GKiQ9g5KaIHR6hNM7B/k9hoTfehbCXI4OVwX41DVNSBYQ8tn5s4HniEbMEcB wMdbrUi3YYWan87Sw3m+v1ErUyyUe9O5GOZR3pa2x0j101PQbQCG1jSgWq9O+4OHZpfj W0pPMKlZ3b8LzrhoHqC/6TyHmxKoSw48YPVDWXL0fqCgmWR2JiTN1s9Wji363pSDUDk/ Mm6Di87eLHH/oh9O9bjX0D7eW6OdlQJzTsouHCn4ilyA5N3bhNinHRuuaG+wTs0JaayC KdJIOACwO+dhJuWWCkC+CEzt2y9SX+5YLNLrxL16GBvv/t9sMawwBChqLlS5PPrtvjw3 mOjQ== X-Gm-Message-State: ACrzQf2L7bKPJSlbNosCVYPTTGBZv5YCbD75P0mhPZI0oaHOh268EszV 8FBsiiqfn+yKBaNSC8nyX2uIOsFta5TooeVqsTbi4/t5/4TPOg== X-Google-Smtp-Source: AMsMyM5msGxB2yjxh22chfUxH/SbSBaPN569yFH3bWPf17KpM0DvM3YkegTNb/rB0MgvJntmkDHlK0QMzsQsiwMono8= X-Received: by 2002:a5b:a44:0:b0:6b0:13b:c93b with SMTP id z4-20020a5b0a44000000b006b0013bc93bmr24042422ybq.398.1667396275572; Wed, 02 Nov 2022 06:37:55 -0700 (PDT) MIME-Version: 1.0 References: <20221102110611.1085175-1-glider@google.com> <20221102110611.1085175-5-glider@google.com> In-Reply-To: From: Alexander Potapenko Date: Wed, 2 Nov 2022 14:37:19 +0100 Message-ID: Subject: Re: [PATCH 5/5] x86/traps: avoid KMSAN bugs originating from handle_bug() To: Peter Zijlstra Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, Andrew Morton , Borislav Petkov , Dave Hansen , Ingo Molnar , Thomas Gleixner , x86@kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=e7qQu9ci; spf=pass (imf02.hostedemail.com: domain of glider@google.com designates 209.85.219.170 as permitted sender) smtp.mailfrom=glider@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1667396276; a=rsa-sha256; cv=none; b=Y7JTL+kddRlenddiALeS+alSoZ80hQtJrgDSksOPSDVdnW27B4Mb0Dh2mrFaS40kA404ji 8I9ZZPZ1P3MgssYh/HCfNv6Xm//Yb9pPr+2q5B9NJ0Su1dxa8lh+8mmoMqrsZQFqiJYB1x 49WJKfnH47vlHq/qG9ms2S64aEBiZgI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1667396276; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=20+jPjAz1Ru1ioQ+9Mris24WBI3NxGkmmf7N7L/+EgE=; b=oFX+8Ydkamv+hrOr7iPWI+6LEMjXmw+R/33OXVq9vLxJ6ka93Vpc47BLeksi2Bj1bpwTMn DEJHSRCRqH3kuPwktxiJ5iv93cdWSLe/qdBX+gx1eIqSAYQoeWxvWfwnzM5J07HkiBnS70 NEm0srZtQSdmHPaPZlB0dztAz6l6zYY= X-Stat-Signature: m7fupb35wwu9h3x3yg9ix9ckpgogtxo4 X-Rspamd-Queue-Id: 8FDA080003 Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=e7qQu9ci; spf=pass (imf02.hostedemail.com: domain of glider@google.com designates 209.85.219.170 as permitted sender) smtp.mailfrom=glider@google.com; dmarc=pass (policy=reject) header.from=google.com X-Rspamd-Server: rspam03 X-Rspam-User: X-HE-Tag: 1667396276-718124 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: On Wed, Nov 2, 2022 at 1:51 PM Peter Zijlstra wrote: > > On Wed, Nov 02, 2022 at 12:06:11PM +0100, Alexander Potapenko wrote: > > 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. > > As does poke_int3_handler(); does that need fixing up too? OTOH look > *very very* carefully at the contraints there. Fortunately poke_int3_handler() is a noinstr function, so KMSAN doesn't add any checks to it. It also does not pass regs to other instrumented functions, at least for now, so we're good. --=20 Alexander Potapenko Software Engineer Google Germany GmbH Erika-Mann-Stra=C3=9Fe, 33 80636 M=C3=BCnchen Gesch=C3=A4ftsf=C3=BChrer: Paul Manicle, Liana Sebastian Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg