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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 415EDC433EF for ; Fri, 17 Jun 2022 14:32:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1382595AbiFQOcL (ORCPT ); Fri, 17 Jun 2022 10:32:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37650 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231490AbiFQOcK (ORCPT ); Fri, 17 Jun 2022 10:32:10 -0400 Received: from casper.infradead.org (casper.infradead.org [IPv6:2001:8b0:10b:1236::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 715CB55351 for ; Fri, 17 Jun 2022 07:32:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=n6Zz+aFxdEiHH1MPjSMAigtTz+Sr6l2rlt9fbJVef1U=; b=mo/rwvHK81c63F4hSpgHn0GBGR I0U0TcJKhamYbUi6saojJFb5N9Cng1/PBXNpxcL9rIlx9s1kiGUfh2J4PF1SVBas5dwpKMBSaMYqn kcwx5CZ+fUyM3Xf2WHWP/jFiVlvp0SbtAiS055gTLACXSPcl3DnAsV+zVrjeqYGci1Pawr6b+OamB ARdjcJ4i53XtOYQeTYaTPCvTwwmIOZ+8g11aszXC/Y1YfXqz5WELYFsW22qmFTCMBJp4j5l2v4Jsk lysg3z8KgYe+HTdvBxhvyrM524QQo+US1aW94I0tUNkZvKx85zj+8ZMzA857UhtE67GulW4PIRwQU UeObxO4w==; Received: from dhcp-077-249-017-003.chello.nl ([77.249.17.3] helo=worktop.programming.kicks-ass.net) by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux)) id 1o2Cxo-002tc3-Og; Fri, 17 Jun 2022 14:28:44 +0000 Received: by worktop.programming.kicks-ass.net (Postfix, from userid 1000) id 1CC059816B5; Fri, 17 Jun 2022 16:28:43 +0200 (CEST) Date: Fri, 17 Jun 2022 16:28:42 +0200 From: Peter Zijlstra To: "H.J. Lu" Cc: "Kirill A. Shutemov" , "Edgecombe, Rick P" , "Lutomirski, Andy" , "dave.hansen@linux.intel.com" , "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , "kcc@google.com" , "andreyknvl@gmail.com" , "ak@linux.intel.com" , "dvyukov@google.com" , "x86@kernel.org" , "ryabinin.a.a@gmail.com" , "glider@google.com" Subject: Re: [PATCHv3 5/8] x86/uaccess: Provide untagged_addr() and remove tags before address check Message-ID: References: <20220610143527.22974-1-kirill.shutemov@linux.intel.com> <20220610143527.22974-6-kirill.shutemov@linux.intel.com> <20220616164440.vw7sqnof6grrmnvl@black.fi.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Jun 17, 2022 at 07:22:57AM -0700, H.J. Lu wrote: > On Fri, Jun 17, 2022 at 4:36 AM Peter Zijlstra wrote: > > > > On Thu, Jun 16, 2022 at 07:44:40PM +0300, Kirill A. Shutemov wrote: > > > Any objection against this variant (was posted in the thread): > > > > > > #define untagged_addr(mm, addr) ({ \ > > > u64 __addr = (__force u64)(addr); \ > > > s64 sign = (s64)__addr >> 63; \ > > > __addr &= (mm)->context.untag_mask | sign; \ > > > (__force __typeof__(addr))__addr; \ > > > }) > > > > > > ? > > > > Yeah, I suppose that should work fine. > > Won't the sign bit be put at the wrong place? sign is either 0 or ~0, by or-ing ~0 into the mask, the masking becomes no-op.