Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp1369636ybl; Fri, 24 Jan 2020 22:31:36 -0800 (PST) X-Google-Smtp-Source: APXvYqzVH32mfZxTyMqkl8aV2iZPEGWZUT83oK4pUXQXKCZCEGCotDnAQApx1TAU8E8bF3mkS3sb X-Received: by 2002:a05:6830:1482:: with SMTP id s2mr5614946otq.285.1579933896089; Fri, 24 Jan 2020 22:31:36 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1579933896; cv=none; d=google.com; s=arc-20160816; b=WnVk5ArCTLjzc6mtiEo3tDsaai3VDyzXhhTPyyU6k3XIg8JCYRMcUxZF9S92RY/knl FCrxGX1rUItFwx27Ul5z1k8QvDPD9oqtg6X666aO1PIctAIlzUs6Q0o0AG2Zkssvi+Nw 9m31vXBYmNkFIuxO+4TCVsIpOM2nBCzfT6kRE8NQ2s6I/nptnPLMvrXh0kA+b5ywxQJ4 LvDnuUADGR9FmGDGWoV92sXgqzekre1p8PkQl4KMtrTND5Au8k41QRr2sUe3jxCsFb7c nOXAk1F3rVQ8cNmv8laFuhtHId6zMY52WUVuny4ZAGIs+ChyamtVa6FnNCtr7TCdMiBq MMKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=Tsg/r/0YkW+EwvqQByRlznkOGOX8nMWqFwoWlOGNvn8=; b=p119/f4hQuiTHqBR0mZ/6A5o47ZsON+zptR26WVIIhuIEutiUYqF36trL278cp34pZ s9iz88f5GUp/RlWBbjfgFjMZ3SJlKKn85G31rLXOItXW2rmCf6O7GTszvKnjtfVYRTl2 AgLMkFdKvU93D2wS0gX9zqm2AmxGu9aWquHR7lsuWIf93bDblQulJ2laKyHFU9g85i40 JaFC80D/C3Kt4bBXGv5DNGM3n66wvxhlfZ768WY6lUlPMXntum0MRl7i4CqgPuByUnOI 8YrWMpzwfthjgeabYrY35NX78FUSvEb18U4AQU4uQelx8Fxii3CQ74nUXteHIvyC0CDb NLzA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=iY+grmAP; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t14si3933105otp.210.2020.01.24.22.31.23; Fri, 24 Jan 2020 22:31:36 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=iY+grmAP; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728235AbgAYGRQ (ORCPT + 99 others); Sat, 25 Jan 2020 01:17:16 -0500 Received: from mail-qk1-f193.google.com ([209.85.222.193]:40411 "EHLO mail-qk1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725781AbgAYGRP (ORCPT ); Sat, 25 Jan 2020 01:17:15 -0500 Received: by mail-qk1-f193.google.com with SMTP id t204so3573066qke.7; Fri, 24 Jan 2020 22:17:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Tsg/r/0YkW+EwvqQByRlznkOGOX8nMWqFwoWlOGNvn8=; b=iY+grmAPc30j6s7U+lRPizYmH7hV2PAWEKR71dLE2dmN6yU1rFMyesbZUFSMOauaVf AQ9cpT68ECqVY+efd5oKkLJvdlIt9sZXp1sT7hhWx7cKC3Z0kVr+qI6rJzJHuS7+OAYT 9tP8OzS97Jt32QTS1CFNMlc2IzGOFYPry2npjIJ+lyjXTv+Qg1tlLW3anAB8VyEs0WHd b1Q+rh7P8cnrvzw0V6HrjKy4O80PZNQnYnI1jN1Xd2QA1VsboWQ9oZ6Bv8rfkVJAhaIK 22EQOoPEm6OaRMU3O4rOgxpn0I1J4f5p8qRuDarvNU+gH14FZqOSSJ0iow23txsL6/SX NIsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Tsg/r/0YkW+EwvqQByRlznkOGOX8nMWqFwoWlOGNvn8=; b=swPbXZpzIymRlRkx8eDj9P4dz+a0CRt53QWFKhqU+ZR9BB8Es3pJQgwm/YSNoo+b9F v/FHJX3vY05pstG46Sxu6ktVr0GI0lAi0VZiljowP0RccWgZrsfzd+RK1NzwL6YpSr/C u14e/7wW8Tp3mHLvuOTWMmo7lSl5XiFZFufTYMrb8Y0H/tJELqj2Jj8iaYT5BFvUCwrk 82ZmDtaqf+tGRq+L2QafvbdkSOlQSqhgRJm5YnFn/Am/LCC4TP3D2KNJtIvYbZ03OcuX OB6/hshFPmVAVEuwhPpCkIohkrsOFTjqmnLRAf3uY3bpWR3tGxk79t582zB+PEpwFps6 ut1Q== X-Gm-Message-State: APjAAAWgkfYDXLXLCfn+ouFySxI1v6tevNJXz45wQkzj5/V2johfhpNJ gBrL/SQUUntKkkRgBu6lj2ZhEC7+UPq9Ef9xAJA= X-Received: by 2002:a05:620a:15e9:: with SMTP id p9mr6924393qkm.490.1579933034407; Fri, 24 Jan 2020 22:17:14 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Tony Luck Date: Fri, 24 Jan 2020 22:17:03 -0800 Message-ID: Subject: Re: [PATCH v3 2/7] uaccess: Tell user_access_begin() if it's for a write or not To: Linus Torvalds Cc: Christophe Leroy , Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , Alexander Viro , Andrew Morton , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , Jani Nikula , Linux Kernel Mailing List , linuxppc-dev , linux-fsdevel , Linux-MM , dri-devel , "the arch/x86 maintainers" Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jan 23, 2020 at 10:03 AM Linus Torvalds wrote: > We used to have a read/write argument to the old "verify_area()" and > "access_ok()" model, and it was a mistake. It was due to odd i386 user > access issues. We got rid of it. I'm not convinced this is any better > - it looks very similar and for odd ppc access issues. If the mode (read or write) were made visible to the trap handler, I'd find that useful for machine check recovery. If I'm in the middle of a copy_from_user() and I get a machine check reading poison from a user address ... then I could try to recover in the same way as for the user accessing the poison (offline the page, SIGBUS the task). But if the poison is in kernel memory and we are doing a copy_to_user(), then we are hosed (or would need some more complex recovery plan). [Note that we only get recoverable machine checks on loads... writes are posted, so if something goes wrong it isn't synchronous with the store instruction that initiated it] -Tony