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 49442C4332F for ; Fri, 15 Dec 2023 07:59:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D8A358D0120; Fri, 15 Dec 2023 02:59:26 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D39B18D0103; Fri, 15 Dec 2023 02:59:26 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C023A8D0120; Fri, 15 Dec 2023 02:59:26 -0500 (EST) 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 AC5728D0103 for ; Fri, 15 Dec 2023 02:59:26 -0500 (EST) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 753D7803C9 for ; Fri, 15 Dec 2023 07:59:26 +0000 (UTC) X-FDA: 81568302732.08.EBC1EE4 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by imf27.hostedemail.com (Postfix) with ESMTP id C18F140005 for ; Fri, 15 Dec 2023 07:59:23 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=VWGGsr9g; spf=pass (imf27.hostedemail.com: domain of naveen@kernel.org designates 145.40.68.75 as permitted sender) smtp.mailfrom=naveen@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1702627163; 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=kS+KsCt9BfbC8mqWlYiyak+nsTKsd1LEGVX3pkRr5p8=; b=CdFX79mYhHzYg6AJL3UaNpzbQIibYJHaPrLVbmIxAU2gV3GSKMHghsYsUsuXY/PYLlONp4 9x1QrrJVQwDU61XEjhJbd9j+yjxtVLMB28IaxPej7DHGTInXhmloJEBcWPsdkz0xmVJMh6 OP2mXDJTWmu46wZuUGF9LecLQKg4+zI= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1702627163; a=rsa-sha256; cv=none; b=5QfHS86OZaLN71gbAQyEL1wWGY2wIhcGsq14ZJ6bTPFce84pNaFpPNEQ+AcRUQQXAVUvWB sCDuLDXDnqretB+Kpnoz9ZF9PEohDS49eK9JvAB+nnPjY21maEGt7u3hHwDtjXqvgczEzE 1vNMhOUzII6M29ZXf+78batsInIuT0w= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=VWGGsr9g; spf=pass (imf27.hostedemail.com: domain of naveen@kernel.org designates 145.40.68.75 as permitted sender) smtp.mailfrom=naveen@kernel.org; dmarc=pass (policy=none) header.from=kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by ams.source.kernel.org (Postfix) with ESMTP id E93FFB8215D; Fri, 15 Dec 2023 07:59:21 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7BE0AC433C7; Fri, 15 Dec 2023 07:59:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1702627161; bh=p7XzuqMp9NhCrk0y1WItaCpAXO5MjmBMXA2NzZY47U4=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=VWGGsr9gihUJo9sHqLqsalKs8SLfqSeu8K1zSrDQTHEwTZkdIAb8DT982rC4P3c9c pfXzw/eFxtDF6elSytfdaf9zBqwhWzjHqnW9aOwYyBmMw7UKaP23tMyfVkpdXhh4Fw xzIlsy2i2p8yh7u8GBjmvjgLn5RFk5trsyBwl6qbrFdqPdC/Pxjdn1O1WffR6WBdQP L9XJZjqTZjwamuppNlD5E5gzbBC8mm8V0jdz7FWbx+Bom2eD1saX08XbT/XEFXnV/w pEBrd5yZbwUrIJzFZaVCJ0vCv7p6snQvbVOUFsVgb8Zh5okjqbRz16XMNfbRB/eyb4 kMWZI3VZb2VWw== Date: Fri, 15 Dec 2023 13:21:44 +0530 From: Naveen N Rao To: Nicholas Miehlbradt Cc: glider@google.com, elver@google.com, dvyukov@google.com, akpm@linux-foundation.org, mpe@ellerman.id.au, npiggin@gmail.com, christophe.leroy@csgroup.eu, linux-mm@kvack.org, kasan-dev@googlegroups.com, iii@linux.ibm.com, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 07/13] powerpc/kprobes: Unpoison instruction in kprobe struct Message-ID: References: <20231214055539.9420-1-nicholas@linux.ibm.com> <20231214055539.9420-8-nicholas@linux.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20231214055539.9420-8-nicholas@linux.ibm.com> X-Rspamd-Queue-Id: C18F140005 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: r1q1kbutioemjrzycdqdkiiufaiwd6mo X-HE-Tag: 1702627163-276909 X-HE-Meta: U2FsdGVkX1/E1hlhanQmd0K0tGwGMVT5CgdLcOkth5toCl7hc5Gza8+7KqsjIoISt4tvsvb4FuJmAC+mVOqYM7JzYpG/pa3Z8UU5CTHO6E+z6zNOBqR60bGviFK5+1OI/OLmEmlJ9TNKOfxbbnVkrTiezmIwatPszjzFdVT6ts1xw7ujdD1WaOkxHo4tJxslHWZ5p0KdCLhhekkAIm2UqoUdLeepWdsdrzsAzyLOjJFqNyjIlD2NIJBno0bY+AxiatPROE3zflXlp5MaCdYAsOh827riu2Oreh7nCse58od6xrIHd6X9R8gf6c20tSM9XI8LS7C0TceFGwqxYqIDE5u6VZGK+tZdLw2POWxZlGb2ethHgP7ddz+NezjgEZbXDmQproi90OjPIHXwToL+wbP6faxmLMT5o3sI55dCaesqkhoGzno0Ujdj4rthvF2/mb0aKYZ60vLR5clpm0vMQkLtor8fZwL+uA66ZZYAm0A8LokRwKeUm8I0AS4sNCapI0IwFjdauPSj6nX6nlo7Uh97A4/ODevJyudzunNXyPIC855bLn5nBEcDkBVN/B92onV4Ul34gYrMJ/uzqDiDXxucQ57QEAxktyOzzr+v54nHCQQj7H5zfaGpw4/9Z0SSaF3TB15EMAqMWReOL1PC8khuxHZY2adS1BSt2/xwRvHOSTVrL4/ZmHjmuZErewG1zvgWc9xv63jlKL6Xmcgd9JENXO8xWTYgD959L+PUvv9x5Gy+kSObSsb3CeE3ZH9d6pS45QpQsElmUmMQa9IW67pqSmUmZLF+f9/+MZUhEhO/PE4StAxBmOdqaYdBwd1le/hgqyWQrvh2ntnm9C8O/VRJoAQZYMGB/cLSjmZyKMg46KfwQ4/gQPia+IAvNpcxOfzBCgz+kNTw1nl66ouNxSeWC2R3+YlurkloJExr0VxcKQNpRsnwN8ISndKNWebgYYBH73p+PI35RYND/V7 cLx2ElPk RXDUh1X0ehodQVYtUmiZID4W7VsQnAKxfX7sf6ONYMxlXP3U5g8nlx5zBRKm+Av0fmgjUgh1xIw5qdMOTkgj30CdjgRjdP1YnWwqFAdAnC2YWcWGfYYMCsXKNf7CGahRjXVWAiZV/qp3mDrOhuHb9vY6vMY4zKGfowaKxfeJRgwzvSZy6RLxbDawfl5WBJeP9AZWOHOZULrOQxK/FkPsKrCz28IW23RcFagd1nK9k5Rg2y/pCHXbMZRvUgw== 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 Thu, Dec 14, 2023 at 05:55:33AM +0000, Nicholas Miehlbradt wrote: > KMSAN does not unpoison the ainsn field of a kprobe struct correctly. > Manually unpoison it to prevent false positives. > > Signed-off-by: Nicholas Miehlbradt > --- > arch/powerpc/kernel/kprobes.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/arch/powerpc/kernel/kprobes.c b/arch/powerpc/kernel/kprobes.c > index b20ee72e873a..1cbec54f2b6a 100644 > --- a/arch/powerpc/kernel/kprobes.c > +++ b/arch/powerpc/kernel/kprobes.c > @@ -27,6 +27,7 @@ > #include > #include > #include > +#include > > DEFINE_PER_CPU(struct kprobe *, current_kprobe) = NULL; > DEFINE_PER_CPU(struct kprobe_ctlblk, kprobe_ctlblk); > @@ -179,6 +180,7 @@ int arch_prepare_kprobe(struct kprobe *p) > > if (!ret) { > patch_instruction(p->ainsn.insn, insn); > + kmsan_unpoison_memory(p->ainsn.insn, sizeof(kprobe_opcode_t)); kprobe_opcode_t is u32, but we could be probing a prefixed instruction. You can pass the instruction length through ppc_inst_len(insn). - Naveen