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 00C1FC433F5 for ; Tue, 24 May 2022 16:52:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7E9D58D0002; Tue, 24 May 2022 12:52:18 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7757C8D0001; Tue, 24 May 2022 12:52:18 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 613DF8D0002; Tue, 24 May 2022 12:52: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 4DF688D0001 for ; Tue, 24 May 2022 12:52:18 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 1E4B52064C for ; Tue, 24 May 2022 16:52:18 +0000 (UTC) X-FDA: 79501229556.25.E0A6480 Received: from mail-ej1-f44.google.com (mail-ej1-f44.google.com [209.85.218.44]) by imf26.hostedemail.com (Postfix) with ESMTP id E9D00140022 for ; Tue, 24 May 2022 16:52:13 +0000 (UTC) Received: by mail-ej1-f44.google.com with SMTP id y13so35831579eje.2 for ; Tue, 24 May 2022 09:52:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=r/MuG6L5wg6ekbZqKkFBCkCsgRhVQuriQemtR5tAuqg=; b=GD0YwoCZ3S1CikkMRh9gYfg7qoT48l1Xa6UQr2p67srysKfZzcCTz/BRE42M9MvHXy r6CVpL37X9JBP6LzKjXB2VbbX0S27JFNl1Vp3NSPTgsvhxgjlBF47XC7zTM/3O9sNGG/ bgJgMIBZIMuWPYgKHYjJmlEiPET6u2cOAE44g= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=r/MuG6L5wg6ekbZqKkFBCkCsgRhVQuriQemtR5tAuqg=; b=U7Oh+3DDfBMpYraC2pvOJ56JV0unTmzaE6pvNwW4U56vmA+jWfonjdgIhTfziQS+k4 qGIicGymM4f5ULS1o0B5dRPmsdlZ5spFaEYSKn3NPj4/xF8iSOEPmnnKwSVXOSDI/Ut9 YDhodD1G2PCPXMRg/jk5UeOXV86EYAPJEBJ5Bqd/6f6+LngcWMebAXbKxCbg4yISIH1Q LBDZ16CxyMpBs5Tq3TrAwhFW52dgHVswUCGWO3YFq3bvwpKz1QFruss9VvEwc/XPM7EM 1lj0k2ETgUKBO0z4EBUl9OPuvXp6JVVUdeuoDgXZvlJM90Q/4qTaG4lGc4T97Z9GK5vo UDjA== X-Gm-Message-State: AOAM533sqgr/w+DuOYvIenSHI77JsVpOnMYIRySFbFm5ZrnEevCjc0ZH L0ez9YPjG3eoB8jd5uxB72ZgcLQ12J/qZUwH X-Google-Smtp-Source: ABdhPJwmXslLNQselq5NjCteY3NGDQETUjrBnXPPuiFmjPbvGnM0OVDgGNxrMYkkdo5ru3oRePtiJg== X-Received: by 2002:a17:907:9723:b0:6fe:f76c:8598 with SMTP id jg35-20020a170907972300b006fef76c8598mr7634685ejc.107.1653411135932; Tue, 24 May 2022 09:52:15 -0700 (PDT) Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com. [209.85.128.42]) by smtp.gmail.com with ESMTPSA id j18-20020a1709064b5200b006fee98045cdsm2138912ejv.10.2022.05.24.09.52.12 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 24 May 2022 09:52:13 -0700 (PDT) Received: by mail-wm1-f42.google.com with SMTP id m32-20020a05600c3b2000b0039756bb41f2so1761277wms.3 for ; Tue, 24 May 2022 09:52:12 -0700 (PDT) X-Received: by 2002:a7b:cb91:0:b0:397:3225:244 with SMTP id m17-20020a7bcb91000000b0039732250244mr4682864wmi.68.1653411132437; Tue, 24 May 2022 09:52:12 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Linus Torvalds Date: Tue, 24 May 2022 09:51:56 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH] x86/clear_user: Make it faster To: Borislav Petkov Cc: Mark Hemment , Andrew Morton , "the arch/x86 maintainers" , Peter Zijlstra , patrice.chotard@foss.st.com, Mikulas Patocka , Lukas Czerner , Christoph Hellwig , "Darrick J. Wong" , Chuck Lever , Hugh Dickins , patches@lists.linux.dev, Linux-MM , mm-commits@vger.kernel.org, Mel Gorman Content-Type: text/plain; charset="UTF-8" X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: E9D00140022 X-Stat-Signature: tcumxyusha5m5p4cw9nx89bpi456sw6n X-Rspam-User: Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=GD0YwoCZ; spf=pass (imf26.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.218.44 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org; dmarc=none X-HE-Tag: 1653411133-997754 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 Tue, May 24, 2022 at 5:32 AM Borislav Petkov wrote: > > finally a somewhat final version, lightly tested. I can't find anything wrong with this, but who knows what patch-blindness I have from looking at a few different versions of it. Maybe my eyes just skim over it now. I do note that the clearing of %rax here: > +.Lerms_exit: > + xorl %eax,%eax > + RET seems to be unnecessary, since %rax is never modified in the path leading to this. But maybe just as well just for consistency with the cases where it *is* used as a temporary. And I still suspect that "copy_to_user()" is *much* more interesting than "clear_user()", but I guess we can't inline it anyway due to all the other overhead (ie access_ok() and stac/clac). And for a plain "call memcpy/memset", we'd need compiler help to do this (at a minimum, we'd have to have the compiler use the 'rep movs/stos' register logic, and then we could patch things in place afterwards, with objtool creating the alternatives section or something). Linus