Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp638794ybl; Thu, 23 Jan 2020 05:12:41 -0800 (PST) X-Google-Smtp-Source: APXvYqwEBVQqke3zZo/bW2g0esra5GIMKQ3CmP5yPS+xVIROdXq9p7vXdX+z394S0cChQLX/jDr1 X-Received: by 2002:a05:6808:64e:: with SMTP id z14mr9977933oih.79.1579785161588; Thu, 23 Jan 2020 05:12:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1579785161; cv=none; d=google.com; s=arc-20160816; b=aTzqJQ8SRDe2INrKBWqb77bG1H871Zrtz2CVYA3jjfcMNthEXfndcVYI5TxC4vb1Gd 5ttl5G6i3kESVleGkzliGt9HWtHQ+655MhctHPH6Zh9ZthAQW0j1i2NGYl4D/l5L3oVG /vrRFO4AgSPtdT8gYZ49FYkTqwwSj7JxiDHeZUVO+vGMU9cHxMLlIVzQta4H47yU3tAJ yJJ4DVEsK0Unqw+kWmSvevpO8IEDCzrqXMEKMw/gzyoPwEyKxPPz6hE9srgYRDaek0+c O+oSPqpQxMT6N7JtGHhoTZ9wzqVD444/AjmZrOw0pDGvkGWPSwbjNFfJct8Kml4zg2dm avYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:date:references :organization:in-reply-to:subject:cc:to:from; bh=TGtwlZTFlJ6tp10ngReiHnDOg54lDb8TaSyZOfROimQ=; b=IyB31rrQwrNC0iiQG0ziuf4DDuxfT9164xkfvg3Eukx7SN3/TAIzpCA6fuIEaG5F/m KaN2tyOV0+W71dSvsTm5PUFdfQsF4NBLNh19SAYnLAgXNkqqRQnC1RxPyd54CHEPUDn4 GYTcq4Z7MYElKMYgOuGAu7SoX7JWzgWS/mTL3zj3dPFJXfNWiQ+LdMexVyRo/jtcU86u UTsa60TyRBbSBrKts9WW8a2na6KVkd0H4wPtKpXxkWHtYPfIjC0BJ8/qWcKTRtpdiDBL 1bg0G5ILU+DTGHNVCiLFY3ePeIWIo6Y95CZq1zmHOtdDc742YDCcdjqVRvY85WphY2CX fU3Q== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o13si1239252otp.27.2020.01.23.05.12.29; Thu, 23 Jan 2020 05:12:41 -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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728792AbgAWNLP (ORCPT + 99 others); Thu, 23 Jan 2020 08:11:15 -0500 Received: from mga05.intel.com ([192.55.52.43]:31001 "EHLO mga05.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726605AbgAWNLO (ORCPT ); Thu, 23 Jan 2020 08:11:14 -0500 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Jan 2020 05:11:14 -0800 X-IronPort-AV: E=Sophos;i="5.70,354,1574150400"; d="scan'208";a="220660992" Received: from jnikula-mobl3.fi.intel.com (HELO localhost) ([10.237.66.161]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Jan 2020 05:11:08 -0800 From: Jani Nikula To: Christophe Leroy , Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , Linus Torvalds , Alexander Viro , Andrew Morton , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" Cc: linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, dri-devel@lists.freedesktop.org, x86@kernel.org Subject: Re: [PATCH v3 2/7] uaccess: Tell user_access_begin() if it's for a write or not In-Reply-To: Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: Date: Thu, 23 Jan 2020 15:11:05 +0200 Message-ID: <8736c6e2s6.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 23 Jan 2020, Christophe Leroy wrote: > On 32 bits powerPC (book3s/32), only write accesses to user are > protected and there is no point spending time on unlocking for reads. > > On 64 bits powerpc (book3s/64 at least), access can be granted > read only, write only or read/write. > > Add an argument to user_access_begin() to tell when it's for write and > return an opaque key that will be used by user_access_end() to know > what was done by user_access_begin(). IMHO an opaque key is a prime example of a case where the use of an opaque typedef is warranted. Nobody needs to know or care it's specifically an unsigned long. BR, Jani. -- Jani Nikula, Intel Open Source Graphics Center