Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp1033786iob; Fri, 13 May 2022 20:26:01 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzXWTrZ4Rr8Y06HekJgtmG2F/AUNHc47PFJBUqFXph2dATRj131lnNMv/dIn3HvotBfcBh4 X-Received: by 2002:adf:ef01:0:b0:20a:8068:ca5e with SMTP id e1-20020adfef01000000b0020a8068ca5emr6204059wro.661.1652498761794; Fri, 13 May 2022 20:26:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1652498761; cv=none; d=google.com; s=arc-20160816; b=tvvniTjWxONh85Ysc+9qjojgNfa/bzaqhx9kt98ABHEaGQnoEKH3NMOJIC57Qf+0Sn 7YCubnQhB0aD/NJ5sU/JD9UZ4aY9JPdH7HtNdzs0Gf/sMrgu7jPT61RgrdQwzdI94MLt WY5RGvOVtTiEc+xU4YHlb6nQq16dw7KifEduPtglz+5wgRGaV8ZzbNuLFV7hpIaM8EJZ FgH2Js9hi2v1xYtRnudRTxq0gJYetOXgCpO9bh/KynKAYsHzfY/IwoGXUNXAbVc9z0+M FNoAyAgYkiO1xBjpcFoi+QuRtJrTTu7iLpI1VFIdc6V12BDBoQNHcZZSLlet5hGye/0g OMjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:references :in-reply-to:subject:cc:to:dkim-signature:dkim-signature:from; bh=R+F2xDGOsy2uquCq56PXknf31hnVzXI6nb9v3w4WcNc=; b=l75stSUNlVdPG63Rc19B0cBCJBR3lrn5JYaIqXYXWJKk/ltaiHRtScodJLCOYZ5yIz kNzrA0jXdUb/VxA6nrdqvCo+2co1IgzNfnSHF54DerFp/Cua0m8HddWjOQl5ebR1Z4Ky ll0fdOmevZRlCyL1vU6ErUH2CvRQUQe/wiXYduBdbJi9nxNb8uXCTPXPauja7iXK8JgL P8qB5BL5YlLiKR79Kj6vNJ4VuXwrLKOKj9xB1Uj5TYTfz7lZq/cZ43PWR9zVh+5PVQfy kJrgSuzSOcQfMANh2teJ9x3NCUCps2XIGisqsMRSkyeyCZcf92x8pTKS4sBPkNq4eQoG kB0g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=c53TXvAG; dkim=neutral (no key) header.i=@linutronix.de header.b=51Rwl7xI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id t5-20020a5d6a45000000b0020c7844fcb3si3508246wrw.903.2022.05.13.20.26.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 May 2022 20:26:01 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=c53TXvAG; dkim=neutral (no key) header.i=@linutronix.de header.b=51Rwl7xI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 2876F40FAC8; Fri, 13 May 2022 17:03:10 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1355542AbiELOqf (ORCPT + 99 others); Thu, 12 May 2022 10:46:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41236 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1355593AbiELOqM (ORCPT ); Thu, 12 May 2022 10:46:12 -0400 Received: from galois.linutronix.de (Galois.linutronix.de [IPv6:2a0a:51c0:0:12e:550::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4A3A9289B0 for ; Thu, 12 May 2022 07:46:11 -0700 (PDT) From: Thomas Gleixner DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1652366769; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=R+F2xDGOsy2uquCq56PXknf31hnVzXI6nb9v3w4WcNc=; b=c53TXvAGB+EtpvdOoNmfuR9lzEdIKm0QmNBAMk2SgIX3RwNyRDMBJvdHBJ1k1FX8E33fWY ysvplNSDGPTBIOV01BnX9yC38LmZzDmKDgtSK9A+PtpUp6uEe8ePsoNc3amgBcShBOQcsk /lMD+55iveacdequgowysOXL/7IELtEW5Rqxg1cT23Jzzwpv93Vt7+3GhN/3/vgR9JR1XR H9gW0aDRKOSomB0bl+Llyf0IGkiKKs0n+vy4WvsDfoQnm66XBMflh8x0pjBzMCD/6mQAb3 baXso2XFHY9YmAEyn5aWPLJzkRNdoD7Ykkp9sL9//Ecn9AjGEAKGHvkJY3b4uA== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1652366769; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=R+F2xDGOsy2uquCq56PXknf31hnVzXI6nb9v3w4WcNc=; b=51Rwl7xI97zYkIYKObqfq0D2lBrxNyNt8Fo6OljjyqIfCVKXlBtGVBIkP60ilmj1kIi8Vp /5+omwMjwBN/HrDQ== To: Peter Zijlstra , "Kirill A. Shutemov" Cc: Dave Hansen , Andy Lutomirski , x86@kernel.org, Alexander Potapenko , Dmitry Vyukov , "H . J . Lu" , Andi Kleen , Rick Edgecombe , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [RFCv2 09/10] x86/mm: Add userspace API to enable Linear Address Masking In-Reply-To: <20220511072651.GV76023@worktop.programming.kicks-ass.net> References: <20220511022751.65540-1-kirill.shutemov@linux.intel.com> <20220511022751.65540-11-kirill.shutemov@linux.intel.com> <20220511072651.GV76023@worktop.programming.kicks-ass.net> Date: Thu, 12 May 2022 16:46:09 +0200 Message-ID: <87y1z6vmfi.ffs@tglx> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, May 11 2022 at 09:26, Peter Zijlstra wrote: > On Wed, May 11, 2022 at 05:27:50AM +0300, Kirill A. Shutemov wrote: >> @@ -1013,8 +1017,23 @@ static long thread_feature_prctl(struct task_struct *task, int option, >> >> /* Handle ARCH_THREAD_FEATURE_ENABLE */ >> >> + if (features & (X86_THREAD_LAM_U48 | X86_THREAD_LAM_U57)) { >> + long ret; >> + >> + /* LAM is only available in long mode */ >> + if (in_32bit_syscall()) >> + return -EINVAL; > > So what happens if userspace sets up a 32bit code entry in the LDT and > does the LAM thing as a 64bit syscamm but then goes run 32bit code? AFAICS, nothing happens. The only requirements are CR4.PAE = 1, IA32_EFER.LME = 1. Those are unaffected from user space running 32bit code, no? 32bit code can't use 64bit pointers so it can't have metadata bits set. But x32 can and is excluded by the above too. So the whole muck must be conditional on CONFIG_X86_64=y and does not need any other restrictions IMO. Thanks, tglx