From nobody Wed Apr 8 12:34:46 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id EFF4DECDFA1 for ; Tue, 25 Oct 2022 22:18:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232572AbiJYWSG (ORCPT ); Tue, 25 Oct 2022 18:18:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40360 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232518AbiJYWSC (ORCPT ); Tue, 25 Oct 2022 18:18:02 -0400 Received: from mail-ej1-x64a.google.com (mail-ej1-x64a.google.com [IPv6:2a00:1450:4864:20::64a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C0CE5C58 for ; Tue, 25 Oct 2022 15:18:01 -0700 (PDT) Received: by mail-ej1-x64a.google.com with SMTP id qk31-20020a1709077f9f00b00791a3e02c80so3522391ejc.21 for ; Tue, 25 Oct 2022 15:18:01 -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=ZQGssT3M/U7b4XMGY/asVcg61n5AcupNDo7Gu+AvRuY=; b=GZzG9I3EC4BdTG42DnBMyd1ivXSjjTelzZgMfx5pqBuLbH+hAXxGKOtyb79pJSdisX /cpLkpV914ei9LOOwDEcu7sTj/B25/nINBuG35/Tk8G54bHHoc+ny2ycz1Wam8uSNmGd tY/cb0kPSQi17ZqKRk4v3fjjk3EuSGaByehhMseFU4VSIV3fseJw2rBBP+T7eVNHsmf0 tVDy8K7dQhxLyCes+qB6UaAS/ALtPRdJJfJCqOT8iExcL/IzM25Ullu5r3UeNdoSZqBy KYA/w+Zg554ckMQspY6Vt30Ly/d4YYC5g2WsdbKbuwghxsCBeOYps6smx3sA2/cHwrxs r7qw== 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=ZQGssT3M/U7b4XMGY/asVcg61n5AcupNDo7Gu+AvRuY=; b=BN+l2Zz8BhMwTjL4epUgCAn25AWTWFwo1xkRkgaIbITCHSQOziXlqHrzR3nUkGxD0S bdbuKj9hLRJu+zS/TopaF7pM5N5alQr7MV41RyBJhUQF2Urfg09NJYlGJet2S592S6ag /otSS4MIx24j7TxMwJSEJt9lLrmXuarp0ZQjZ7ulAHQ3/EKwU3Km6zchxo/Hl9v7tRZj QoM5tIjLdx2LExjMl52vb23wH5RPU9EFVat2/nkvv1fKwKNPPsyqwdR+r8JR+SavavQU rNzBNQHjt53sEGWyVDOyXpwbC9Ya6cvzlDPWEA+tKDxWnOn6m745pvWHev/ApBf64wcb q+Wg== X-Gm-Message-State: ACrzQf2V6GrH1p1IVkzBO5s14c4z6fslM0INL8VSj5GQ5qsgogMgXHeE ZoeiUj9JERMrEE9kGmnSGsHEn3yfwps= X-Google-Smtp-Source: AMsMyM6wWRQeoGnTklgT6+h+msVouxh/KVCK+QWxO1G7zXpVRcKJfnF95EwBt0uYbBEf2yxO5HMusq31MdQ= X-Received: from glider.muc.corp.google.com ([2a00:79e0:9c:201:2e8:4dec:7a62:7bda]) (user=glider job=sendgmr) by 2002:a05:6402:b2f:b0:461:701e:877a with SMTP id bo15-20020a0564020b2f00b00461701e877amr18471401edb.82.1666736280249; Tue, 25 Oct 2022 15:18:00 -0700 (PDT) Date: Wed, 26 Oct 2022 00:17:55 +0200 Mime-Version: 1.0 X-Mailer: git-send-email 2.38.0.135.g90850a2211-goog Message-ID: <20221025221755.3810809-1-glider@google.com> Subject: [PATCH] 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 , x86@kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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: x86@kernel.org Signed-off-by: Alexander Potapenko --- 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 @@ =20 #include #include +#include =20 #include =20 @@ -44,7 +45,9 @@ copy_from_user_nmi(void *to, const void __user *from, uns= igned long n) * called from other contexts. */ pagefault_disable(); + instrument_copy_from_user_before(to, from, n); ret =3D raw_copy_from_user(to, from, n); + instrument_copy_from_user_after(to, from, n, ret); pagefault_enable(); =20 return ret; --=20 2.38.0.135.g90850a2211-goog