Received: by 2002:a05:7412:da14:b0:e2:908c:2ebd with SMTP id fe20csp703193rdb; Fri, 6 Oct 2023 16:59:23 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFjO5YqHVcrDIskKC6Xqa5ehGQLRgBVdNqYoXZ5OCnVG0YcNb9dkb1Xc9RXJdTEVdEAM37W X-Received: by 2002:a05:6870:4347:b0:1bb:84af:bf8f with SMTP id x7-20020a056870434700b001bb84afbf8fmr10731904oah.58.1696636763364; Fri, 06 Oct 2023 16:59:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696636763; cv=none; d=google.com; s=arc-20160816; b=AZGFwRDj5Qmo9msRqpFFCtIbk20u+LWUMQtVLfrvBkA1AVik1BPH0d733Nx1iS0PP1 2YwTBtazcGgGc0Dkzo6KYQvQanK9EUhGfYS44hcVfZIdtBAXlY8VK7BCbpBlPQRlNmhT SKDFdnt4yty4p9GDWo75OgvSj+d+Lnq9VzfXZJmox/2S6NFWr4fzmIoFKVY6XlvHGDF9 4dLhksy4JVKYbVOkz2auHvsgYTBkywxdUJ3uMOaggZldaiGpy/iuLDR1x/7idyDdakNs Nz5X/Hln0hdHXwdat/7gzkLCP2c2/+TXTn56Damvx/eGv3C9Kfjzz6eP8O+/8IWl8nW2 JXNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:references :cc:to:from:content-language:subject:user-agent:mime-version:date :message-id:dkim-signature:dkim-filter; bh=r3NsrdvhrQyVEdBZ/5O/ATEpo5vgoDixa3RODG+aELI=; fh=FODLPSmo2gjIbiX3jscgaSfESOg/dQqbzhUfTbz22QA=; b=vqD2826ew2MDKto58IEimcg0SJXM49PspiZLRAFaKmwzDe30AqpdPcz8PkDzjl1la3 GPXiv86QXfU7RPFA37OrBhNar52LUBkx6s6B2qtrLSVi0jdWfxZANVoDFUQre41t9U9v MRko0BhSs3eTPNqzBEd90TrpvAzqQK3P8dr0RkOrHGRUBfKwsjOfHaSK2PMVzK9396bh 1ChrGRtx6QfCE/YYhgdXB7+N7Rr0yB0FHIEP8NGuEHzxWrHW5Q6wa7ciJ2l09+M+T9PT Uxm+5ub3NUub/208IVICnkJVgPqsLWqBbcI9dcSDg9IQYUlI92EIVdfrzpdeGcYei4D6 bhJQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@zytor.com header.s=2023091101 header.b=Zwtt9TZo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=zytor.com Return-Path: Received: from pete.vger.email (pete.vger.email. [23.128.96.36]) by mx.google.com with ESMTPS id i69-20020a636d48000000b00584af407e80si4689750pgc.293.2023.10.06.16.59.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Oct 2023 16:59:23 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) client-ip=23.128.96.36; Authentication-Results: mx.google.com; dkim=pass header.i=@zytor.com header.s=2023091101 header.b=Zwtt9TZo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=zytor.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by pete.vger.email (Postfix) with ESMTP id 9A82485C7A8A; Fri, 6 Oct 2023 16:59:19 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233962AbjJFX7M (ORCPT + 99 others); Fri, 6 Oct 2023 19:59:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54014 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233696AbjJFX7L (ORCPT ); Fri, 6 Oct 2023 19:59:11 -0400 Received: from mail.zytor.com (unknown [IPv6:2607:7c80:54:3::138]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D07C3BE for ; Fri, 6 Oct 2023 16:59:08 -0700 (PDT) Received: from [IPV6:2601:646:9a00:1821:450e:710e:ed94:8bf9] ([IPv6:2601:646:9a00:1821:450e:710e:ed94:8bf9]) (authenticated bits=0) by mail.zytor.com (8.17.1/8.17.1) with ESMTPSA id 396NwWoU3314962 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NO); Fri, 6 Oct 2023 16:58:32 -0700 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.zytor.com 396NwWoU3314962 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zytor.com; s=2023091101; t=1696636713; bh=r3NsrdvhrQyVEdBZ/5O/ATEpo5vgoDixa3RODG+aELI=; h=Date:Subject:From:To:Cc:References:In-Reply-To:From; b=Zwtt9TZo+RnN0lvFS5x/Wngv6w7ANBkidq4nRY5owfLAYGSDvqilcsU/khrUMpq1i 6Jlv3W7CrA2YM4LPDW0V2cdU3pz4GKune0ZshmkffVeFsPcUD5P9wyRl1MKxEriXiT ktQWwFc8EAdUNF41KpkJzidbwlh4tsAABG8wx7h+1EJBuI/bLtFAS3vP5rdsYZq4Tw QkV8OJEO0FyGI3PxKE2LsQ+fUCNdPql/rCpUW53hTGGH8T2TIIN1QC/BUUp1dc8HFu pKtOfG4OLwXOUI51Jso/lW/nsKha5oJCu+0QUSEUzB3YHK7SivCria1KXMLHx/pwQi 5txZ5gBra0W0Q== Message-ID: Date: Fri, 6 Oct 2023 16:58:27 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: Re: [PATCH v2 0/6] x86: Clean up fast syscall return validation Content-Language: en-US From: "H. Peter Anvin" To: Ingo Molnar , Brian Gerst Cc: linux-kernel@vger.kernel.org, x86@kernel.org, Thomas Gleixner , Borislav Petkov , Andy Lutomirski , =?UTF-8?Q?Mika_Penttil=c3=a4?= , Linus Torvalds , Uros Bizjak , Denys Vlasenko , Peter Zijlstra , Josh Poimboeuf References: <20230721161018.50214-1-brgerst@gmail.com> <5def7e28-3949-9685-7ddf-19b550847ef0@zytor.com> In-Reply-To: <5def7e28-3949-9685-7ddf-19b550847ef0@zytor.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=0.2 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,NICE_REPLY_A, RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on pete.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (pete.vger.email [0.0.0.0]); Fri, 06 Oct 2023 16:59:19 -0700 (PDT) On 10/6/23 11:59, H. Peter Anvin wrote: > > Incidentally, it is possible to save one instruction and use only *one* > alternative immediate: > >     leaq (%rax,%rax),%rdx >     xorq %rax,%rdx >     shrq $(63 - LA),%rdx        # Yes, 63, not 64 >     # ZF=1 if canonical > > This works because if bit [x] is set in the output, then bit [x] and > [x-1] in the input are different (bit [-1] considered to be zero); and > by definition a bit is canonical if and only if all the bits [63:LA] are > identical, thus bits [63:LA+1] in the output must all be zero. > Yes, I'm a doofus. Bits [63:LA-1] must be identical, so 64 is correct :$) -hpa