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 7F6F3ECAAA1 for ; Mon, 19 Sep 2022 19:26:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B008F6B0071; Mon, 19 Sep 2022 15:26:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AAFCB6B0072; Mon, 19 Sep 2022 15:26:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 950EE940007; Mon, 19 Sep 2022 15:26:25 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 8324C6B0071 for ; Mon, 19 Sep 2022 15:26:25 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 437F8A5A0B for ; Mon, 19 Sep 2022 19:26:25 +0000 (UTC) X-FDA: 79929816330.22.D62C9BB Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) by imf10.hostedemail.com (Postfix) with ESMTP id CF68FC001D for ; Mon, 19 Sep 2022 19:26:24 +0000 (UTC) Received: by mail-pl1-f180.google.com with SMTP id p18so138104plr.8 for ; Mon, 19 Sep 2022 12:26:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date; bh=RmR4iKksLM46UToapAYzrq41XElOopC0q9ix9wCyuKs=; b=PVp6YfOyhZha6HJBZg4yMtXtA6aL/+bfSb1OxdA/ZExOmbVQM2yfYZsTWjQ6063o+g O/WXQa7b/F65Rx7p9dmtXDkLgZhqolfdom4zM4hw974cbNh9+jBHQds5pbZU4LQk7WHZ 1voIXAXh0NcOJOcUipffT2wyw4qSXZ8I5NPMg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date; bh=RmR4iKksLM46UToapAYzrq41XElOopC0q9ix9wCyuKs=; b=T1sRLdDF5BLwnD/P+qbckqlPXYhp4P6n6VofKM/EweQi2LpjCiVJOa2V/cHMR1loob z0tvtE1Edhad+r+lk4XlwN7nCALNVkWigELNZIg27mICfRKd2xg+dZvWW5BcmycR2uH/ cEPrAaljeTM/mj5JDCE4B89r2eUD2XzajlIrH8YEe4N9Rsu4FEePOTyCj3CAJcuLquwe ZUGqhZjsqrIVQjPzmzKXhbWDa2jRL509ABa2AuqLzYsSAvuZHjxt/UOj3yCVnddOsWe8 yCVDdvAbGKPSERfy7+v9PrVBnz9svhSCBhTcOSyNVS6FPrakAIUTymtfN2sr0xW1xxeM yr5Q== X-Gm-Message-State: ACrzQf3Z5IfvEFlNdOzLJ6HedDjY6TFoWEaHd0Phta1I3r+34pyKJzS/ nf2HuDFSPr+5hatL3kYZfP9Lbg== X-Google-Smtp-Source: AMsMyM7jddefl5071rxvDEg9p60KFOEMQVhTHRe5BfeqSqt5aIP+GxxXxhHHyIaoiGWYhH5Gh+7ztw== X-Received: by 2002:a17:90a:ab91:b0:202:a520:56c9 with SMTP id n17-20020a17090aab9100b00202a52056c9mr33416244pjq.1.1663615583818; Mon, 19 Sep 2022 12:26:23 -0700 (PDT) Received: from www.outflux.net (smtp.outflux.net. [198.145.64.163]) by smtp.gmail.com with ESMTPSA id n17-20020a170902e55100b001752cb111e0sm21243619plf.69.2022.09.19.12.26.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 19 Sep 2022 12:26:23 -0700 (PDT) Date: Mon, 19 Sep 2022 12:26:22 -0700 From: Kees Cook To: Peter Zijlstra Cc: Andrew Morton , Matthew Wilcox , Uladzislau Rezki , Yu Zhao , dev@der-flo.net, Ingo Molnar , linux-kernel@vger.kernel.org, x86@kernel.org, linux-perf-users@vger.kernel.org, linux-mm@kvack.org, linux-hardening@vger.kernel.org, linux-arch@vger.kernel.org Subject: Re: [PATCH 0/3] x86/dumpstack: Inline copy_from_user_nmi() Message-ID: <202209191225.B3A759134@keescook> References: <20220916135953.1320601-1-keescook@chromium.org> <20220916125723.b4c189d09bcd8fd211a73c32@linux-foundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=PVp6YfOy; dmarc=pass (policy=none) header.from=chromium.org; spf=pass (imf10.hostedemail.com: domain of keescook@chromium.org designates 209.85.214.180 as permitted sender) smtp.mailfrom=keescook@chromium.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1663615584; a=rsa-sha256; cv=none; b=OxMjeqn1q+5ZgezAsNeFz0DSux0lOt6IYEsnJ6IZSwN2qiqE3ZbFl0/G48PF9raR/azage WYvCSU5dHk/q5TadjNoEhAoo+1RcABHj5n1GWvYT/Ed3hHkBtdKaXcea8P0xI16QXR9e/E RB/YRljJVHYQIvkZWbYGdFipDfFsR/A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1663615584; 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=RmR4iKksLM46UToapAYzrq41XElOopC0q9ix9wCyuKs=; b=wW+zU6MfVMRGogYy5FUxOmWPO4/W/R0U44W+weQaaXLggThjBc2xZjHqV3BGmwgpK3r07N gKCPKVAtqxl5r+pKVnIGUcnSaaANSSL08fkkhLd6sd708njI1t28asWPnCBpAmWxSgM2ki UrF5uNddskwy2q4qN8kONNocnvr3moQ= X-Stat-Signature: dmnbtbwqcn333hhzhhoe1cgkdckof1jn X-Rspamd-Queue-Id: CF68FC001D Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=PVp6YfOy; dmarc=pass (policy=none) header.from=chromium.org; spf=pass (imf10.hostedemail.com: domain of keescook@chromium.org designates 209.85.214.180 as permitted sender) smtp.mailfrom=keescook@chromium.org X-Rspam-User: X-Rspamd-Server: rspam09 X-HE-Tag: 1663615584-329612 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 Mon, Sep 19, 2022 at 04:46:39PM +0200, Peter Zijlstra wrote: > On Fri, Sep 16, 2022 at 12:57:23PM -0700, Andrew Morton wrote: > > Why is this so complicated. > > > > There's virtually zero value in running all those debug checks from within > > copy_from_user_nmi(). > > > > --- a/arch/x86/lib/usercopy.c~a > > +++ a/arch/x86/lib/usercopy.c > > @@ -44,7 +44,7 @@ copy_from_user_nmi(void *to, const void > > * called from other contexts. > > */ > > pagefault_disable(); > > - ret = __copy_from_user_inatomic(to, from, n); > > + ret = raw_copy_from_user(to, from, n); > > pagefault_enable(); > > > > return ret; > > I'm with Andrew here; this looks a *LOT* saner than all the other stuff. Yeah, I'd agree -- it's a special case of a special case. I'll send a new patch. Thanks! -- Kees Cook