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 X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3A9E3C433DF for ; Mon, 22 Jun 2020 10:39:44 +0000 (UTC) Received: from mm01.cs.columbia.edu (mm01.cs.columbia.edu [128.59.11.253]) by mail.kernel.org (Postfix) with ESMTP id B5630206F1 for ; Mon, 22 Jun 2020 10:39:43 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=google.com header.i=@google.com header.b="BYWy1U3L" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B5630206F1 Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvmarm-bounces@lists.cs.columbia.edu Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 39B6C4B0DB; Mon, 22 Jun 2020 06:39:43 -0400 (EDT) X-Virus-Scanned: at lists.cs.columbia.edu Authentication-Results: mm01.cs.columbia.edu (amavisd-new); dkim=softfail (fail, message has been altered) header.i=@google.com Received: from mm01.cs.columbia.edu ([127.0.0.1]) by localhost (mm01.cs.columbia.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id S8I79syxz5BE; Mon, 22 Jun 2020 06:39:42 -0400 (EDT) Received: from mm01.cs.columbia.edu (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 19D2D4AEE2; Mon, 22 Jun 2020 06:39:42 -0400 (EDT) Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 9AE184AEE2 for ; Mon, 22 Jun 2020 06:39:40 -0400 (EDT) X-Virus-Scanned: at lists.cs.columbia.edu Received: from mm01.cs.columbia.edu ([127.0.0.1]) by localhost (mm01.cs.columbia.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nQlR71sGogWH for ; Mon, 22 Jun 2020 06:39:39 -0400 (EDT) Received: from mail-wm1-f66.google.com (mail-wm1-f66.google.com [209.85.128.66]) by mm01.cs.columbia.edu (Postfix) with ESMTPS id 5F4E14AEDC for ; Mon, 22 Jun 2020 06:39:39 -0400 (EDT) Received: by mail-wm1-f66.google.com with SMTP id t194so15200010wmt.4 for ; Mon, 22 Jun 2020 03:39:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=Lb/frQrugPlke769VI0ZGjO7llYS1ocNVbXaMbRE4lg=; b=BYWy1U3LTb7z1OQDvwZvSosKr1sv3gduL754zzevWWN7Ns1D38AkKsd8PAjr7ruqJP 6N36GAb4b+1ZsqTjT9BGrE7KWe6iP5ifH6s3842R+A+9WxhZ5pnuVruniORrL3BAEAvk mj6HXKQ45TrrgkqBKLaFqO9x73kt+C/ulCuNRcQn12CJEOApO9pxx5gXJTgGdy5WmY3k a8Gs3FP1mmk0BhmfR8zcCbQlZYkEfdhv+D7gyjFiwPjkiCCnfwW7vEH89P5um6fgfwXT 9IXfqrX+ZNUkFtXTxkzsHQX7s85JjnoMpwb2Wm1HTIu6XaDeTOsltX4wJIEfDxHr/NIk +7YA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=Lb/frQrugPlke769VI0ZGjO7llYS1ocNVbXaMbRE4lg=; b=sKsBMkGxK4pgd6qeKx4QQzSLdZQ5qy7dBn0azybwZDGaOSSXzInd1jffDp5TxGpNL/ m1u8qYi5ehc/Or85jM0kkmmW/GGfkbHAF00McjOPy1tv+Tycj+mcfsErZWIz5GPmeiil Y0PHddovuaexacg/MV6xIBEGytAyQyrzkgOOdynBgO+Us3/PcdtJaTVBME+I+b2QslcM iKONZQizmvtBzr+Dfh5BTJp98/rbpgFyAOVLEiWShm+M8Rr5mvk3tNaDiP2aRWPHRZoN 7xmx3OFMf/Gnm8wkRaEcOXGM7n2PHiyrcU6oT4BOwCFi4ldUOjeluELPtT5MCvrqvEEU Ewew== X-Gm-Message-State: AOAM533R9dpbtb9ekcfnsT53cuyGIsGwQ3FZzLSWcK+tdIcSqpnpGXaf GJPLsIKunkPFU8B7DT8QS5/t+Q== X-Google-Smtp-Source: ABdhPJw4ly1lF7pDB7TqBfR669amiQoWOkVZzba+2H5Qih6YqqlqJd9J1Sg6mf6Q9ECAf2qRBMfBMw== X-Received: by 2002:a1c:6408:: with SMTP id y8mr9774703wmb.122.1592822378088; Mon, 22 Jun 2020 03:39:38 -0700 (PDT) Received: from google.com ([2a00:79e0:d:109:355c:447d:ad3d:ac5c]) by smtp.gmail.com with ESMTPSA id 65sm12666681wre.6.2020.06.22.03.39.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 Jun 2020 03:39:37 -0700 (PDT) Date: Mon, 22 Jun 2020 11:39:32 +0100 From: Andrew Scull To: Mark Rutland Subject: Re: [PATCH v2 5/5] KVM: arm64: Simplify PtrAuth alternative patching Message-ID: <20200622103932.GA178085@google.com> References: <20200622080643.171651-1-maz@kernel.org> <20200622080643.171651-6-maz@kernel.org> <20200622091508.GB88608@C02TD0UTHF1T.local> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20200622091508.GB88608@C02TD0UTHF1T.local> Cc: kvm@vger.kernel.org, Marc Zyngier , Dave Martin , linux-arm-kernel@lists.infradead.org, kernel-team@android.com, kvmarm@lists.cs.columbia.edu X-BeenThere: kvmarm@lists.cs.columbia.edu X-Mailman-Version: 2.1.14 Precedence: list List-Id: Where KVM/ARM decisions are made List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: kvmarm-bounces@lists.cs.columbia.edu Sender: kvmarm-bounces@lists.cs.columbia.edu T24gTW9uLCBKdW4gMjIsIDIwMjAgYXQgMTA6MTU6MDhBTSArMDEwMCwgTWFyayBSdXRsYW5kIHdy b3RlOgo+IE9uIE1vbiwgSnVuIDIyLCAyMDIwIGF0IDA5OjA2OjQzQU0gKzAxMDAsIE1hcmMgWnlu Z2llciB3cm90ZToKCgo+ID4gLS0tIGEvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9rdm1fcHRyYXV0 aC5oCj4gPiArKysgYi9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL2t2bV9wdHJhdXRoLmgKPiA+IEBA IC02MSw0NCArNjEsMzYgQEAKPiA+ICAKPiA+ICAvKgo+ID4gICAqIEJvdGggcHRyYXV0aF9zd2l0 Y2hfdG9fZ3Vlc3QgYW5kIHB0cmF1dGhfc3dpdGNoX3RvX2hvc3QgbWFjcm9zIHdpbGwKPiA+IC0g KiBjaGVjayBmb3IgdGhlIHByZXNlbmNlIG9mIG9uZSBvZiB0aGUgY3B1ZmVhdHVyZSBmbGFnCj4g PiAtICogQVJNNjRfSEFTX0FERFJFU1NfQVVUSF9BUkNIIG9yIEFSTTY0X0hBU19BRERSRVNTX0FV VEhfSU1QX0RFRiBhbmQKPiA+ICsgKiBjaGVjayBmb3IgdGhlIHByZXNlbmNlIEFSTTY0X0hBU19B RERSRVNTX0FVVEgsIHdoaWNoIGlzIGRlZmluZWQgYXMKPiA+ICsgKiAoQVJNNjRfSEFTX0FERFJF U1NfQVVUSF9BUkNIIHx8IEFSTTY0X0hBU19BRERSRVNTX0FVVEhfSU1QX0RFRikgYW5kCj4gPiAg ICogdGhlbiBwcm9jZWVkIGFoZWFkIHdpdGggdGhlIHNhdmUvcmVzdG9yZSBvZiBQb2ludGVyIEF1 dGhlbnRpY2F0aW9uCj4gPiAtICoga2V5IHJlZ2lzdGVycy4KPiA+ICsgKiBrZXkgcmVnaXN0ZXJz IGlmIGVuYWJsZWQgZm9yIHRoZSBndWVzdC4KPiA+ICAgKi8KPiA+ICAubWFjcm8gcHRyYXV0aF9z d2l0Y2hfdG9fZ3Vlc3QgZ19jdHh0LCByZWcxLCByZWcyLCByZWczCj4gPiAtYWx0ZXJuYXRpdmVf aWYgQVJNNjRfSEFTX0FERFJFU1NfQVVUSF9BUkNICj4gPiArYWx0ZXJuYXRpdmVfaWZfbm90IEFS TTY0X0hBU19BRERSRVNTX0FVVEgKPiA+ICAJYgkxMDAwZgo+ID4gIGFsdGVybmF0aXZlX2Vsc2Vf bm9wX2VuZGlmCj4gPiAtYWx0ZXJuYXRpdmVfaWZfbm90IEFSTTY0X0hBU19BRERSRVNTX0FVVEhf SU1QX0RFRgo+ID4gLQliCTEwMDFmCj4gPiAtYWx0ZXJuYXRpdmVfZWxzZV9ub3BfZW5kaWYKPiA+ IC0xMDAwOgo+ID4gIAltcnMJXHJlZzEsIGhjcl9lbDIKPiA+ICAJYW5kCVxyZWcxLCBccmVnMSwg IyhIQ1JfQVBJIHwgSENSX0FQSykKPiA+IC0JY2J6CVxyZWcxLCAxMDAxZgo+ID4gKwljYnoJXHJl ZzEsIDEwMDBmCj4gPiAgCWFkZAlccmVnMSwgXGdfY3R4dCwgI0NQVV9BUElBS0VZTE9fRUwxCj4g PiAgCXB0cmF1dGhfcmVzdG9yZV9zdGF0ZQlccmVnMSwgXHJlZzIsIFxyZWczCj4gPiAtMTAwMToK PiA+ICsxMDAwOgo+ID4gIC5lbmRtCj4gCj4gU2luY2UgdGhlc2UgYXJlIGluIG1hY3Jvcywgd2Ug Y291bGQgdXNlIFxAIHRvIGdlbmVyYXRlIGEgbWFjcm8tc3BlY2lmaWMKPiBsYXZlbCByYXRoZXIg dGhhbiBhIG1hZ2ljIG51bWJlciwgd2hpY2ggd291bGQgYmUgbGVzcyBsaWtlbHkgdG8gY29uZmxp Y3QKPiB3aXRoIHRoZSBzdXJyb3VuZGluZyBlbnZpcm9ubWVudCBhbmQgd291bGQgYmUgbW9yZSBk ZXNjcmlwdGl2ZS4gV2UgZG8KPiB0aGF0IGluIGEgZmV3IHBsYWNlcyBhbHJlYWR5LCBhbmQgaGVy ZSBpdCBjb3VsZCBsb29rIHNvbWV0aGluZyBsaWtlOgo+IAo+IHwgYWx0ZXJuYXRpdmVfaWZfbm90 IEFSTTY0X0hBU19BRERSRVNTX0FVVEgKPiB8IAliCS5MX19za2lwX3BhdXRoX3N3aXRjaFxACj4g fCBhbHRlcm5hdGl2ZV9lbHNlX25vcF9lbmRpZgo+IHwgCQo+IHwgCS4uLgo+IHwgCj4gfCAuTF9f c2tpcF9wYXV0aF9zd2l0Y2hcQDoKPiAKPiBQZXIgdGhlIGdhcyBkb2N1bWVudGF0aW9uCj4gCj4g fCBcQAo+IHwKPiB8ICAgIGFzIG1haW50YWlucyBhIGNvdW50ZXIgb2YgaG93IG1hbnkgbWFjcm9z IGl0IGhhcyBleGVjdXRlZCBpbiB0aGlzCj4gfCAgICBwc2V1ZG8tdmFyaWFibGU7IHlvdSBjYW4g Y29weSB0aGF0IG51bWJlciB0byB5b3VyIG91dHB1dCB3aXRoIOKAmFxA4oCZLAo+IHwgICAgYnV0 IG9ubHkgd2l0aGluIGEgbWFjcm8gZGVmaW5pdGlvbi4KCklzIHRoaXMgcmVsaWJhbGUgZm9yIHRo aXMgc29ydCBvZiBhcHBsaWNhdGlvbj8gVGhlIGRlc2NyaXB0aW9uIGp1c3QKc291bmRzIGxpa2Ug YSBjb3VudGVyIG9mIG1hY3JvcyByYXRoZXIgdGhhbiBzcGVjaWZpY2FsbHkgYSB1bmlxdWUgbGFi ZWwKZ2VuZXJhdG9yLiBJdCBtYXkgd29yayBtb3N0IG9mIHRoZSB0aW1lIGJ1dCBhbHNvIHNlZW1z IHRoYXQgaXQgaGFzIHRoZQpwb3RlbnRpYWwgdG8gYmUgbW9yZSBmcmFnaWxlIGdpdmVuIHRoYXQg aXQgd291bGQgY2hhbmdlIGJhc2VkIG9uIHRoZQpyZXN0IG9mIHRoZSBjb2RlIGluIHRoZSBmaWxl IHRvIHBvdGVudGlhbGx5IGNvbmZsaWN0IHdpdGggc29tZXRoaW5nIGl0CmRpZG4ndCBwcmV2aW91 c2x5IGNvbmZsaWN0IHdpdGguIApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwprdm1hcm0gbWFpbGluZyBsaXN0Cmt2bWFybUBsaXN0cy5jcy5jb2x1bWJpYS5l ZHUKaHR0cHM6Ly9saXN0cy5jcy5jb2x1bWJpYS5lZHUvbWFpbG1hbi9saXN0aW5mby9rdm1hcm0K 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 X-Spam-Level: X-Spam-Status: No, score=-8.6 required=3.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9BA08C433E0 for ; Mon, 22 Jun 2020 10:39:41 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 77FB920716 for ; Mon, 22 Jun 2020 10:39:41 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="BYWy1U3L" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727108AbgFVKjk (ORCPT ); Mon, 22 Jun 2020 06:39:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49792 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727066AbgFVKjk (ORCPT ); Mon, 22 Jun 2020 06:39:40 -0400 Received: from mail-wm1-x341.google.com (mail-wm1-x341.google.com [IPv6:2a00:1450:4864:20::341]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B803BC061794 for ; Mon, 22 Jun 2020 03:39:39 -0700 (PDT) Received: by mail-wm1-x341.google.com with SMTP id f18so2658063wml.3 for ; Mon, 22 Jun 2020 03:39:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=Lb/frQrugPlke769VI0ZGjO7llYS1ocNVbXaMbRE4lg=; b=BYWy1U3LTb7z1OQDvwZvSosKr1sv3gduL754zzevWWN7Ns1D38AkKsd8PAjr7ruqJP 6N36GAb4b+1ZsqTjT9BGrE7KWe6iP5ifH6s3842R+A+9WxhZ5pnuVruniORrL3BAEAvk mj6HXKQ45TrrgkqBKLaFqO9x73kt+C/ulCuNRcQn12CJEOApO9pxx5gXJTgGdy5WmY3k a8Gs3FP1mmk0BhmfR8zcCbQlZYkEfdhv+D7gyjFiwPjkiCCnfwW7vEH89P5um6fgfwXT 9IXfqrX+ZNUkFtXTxkzsHQX7s85JjnoMpwb2Wm1HTIu6XaDeTOsltX4wJIEfDxHr/NIk +7YA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=Lb/frQrugPlke769VI0ZGjO7llYS1ocNVbXaMbRE4lg=; b=aNwMvwJcr7fsPjmYggP6fgtCHjMNdR7s1q49O05VAiRCno8nwOipwoZPxgIld6LdXL Bp1zZcvf/1i7w3xSaob7K0Je+lE3BxsMuPM/FB9wWzUMK/qci7PgBro6BVwULrQG+e2b 2R0dZBsYJlu5TXR8PSySQYsk5IflynZGJZWeNow1L0fp9iyCgGJtdiERTM057KwhFzVM 8BP4lB69+dFIzQEs33ys6OD353rST+skiqovkHxI4bJW7k8ysMJFUfqM3i0xRrnv3LkW jTMfKEJY7nNBOiCUP8guSsTZRYUolfp/GvNznKmVjpQwvmhJn03DnrL/4AxnKowiASlu zNuQ== X-Gm-Message-State: AOAM533my1N6oNmrdj1WOKR6a3m9eOsprIe+oHk91vKzQS9M8MHEE3kJ fI+49MitTJi6+WTOyU9gPrvcag== X-Google-Smtp-Source: ABdhPJw4ly1lF7pDB7TqBfR669amiQoWOkVZzba+2H5Qih6YqqlqJd9J1Sg6mf6Q9ECAf2qRBMfBMw== X-Received: by 2002:a1c:6408:: with SMTP id y8mr9774703wmb.122.1592822378088; Mon, 22 Jun 2020 03:39:38 -0700 (PDT) Received: from google.com ([2a00:79e0:d:109:355c:447d:ad3d:ac5c]) by smtp.gmail.com with ESMTPSA id 65sm12666681wre.6.2020.06.22.03.39.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 Jun 2020 03:39:37 -0700 (PDT) Date: Mon, 22 Jun 2020 11:39:32 +0100 From: Andrew Scull To: Mark Rutland Cc: Marc Zyngier , kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, James Morse , Julien Thierry , Suzuki K Poulose , Dave Martin , kernel-team@android.com Subject: Re: [PATCH v2 5/5] KVM: arm64: Simplify PtrAuth alternative patching Message-ID: <20200622103932.GA178085@google.com> References: <20200622080643.171651-1-maz@kernel.org> <20200622080643.171651-6-maz@kernel.org> <20200622091508.GB88608@C02TD0UTHF1T.local> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20200622091508.GB88608@C02TD0UTHF1T.local> Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org On Mon, Jun 22, 2020 at 10:15:08AM +0100, Mark Rutland wrote: > On Mon, Jun 22, 2020 at 09:06:43AM +0100, Marc Zyngier wrote: > > --- a/arch/arm64/include/asm/kvm_ptrauth.h > > +++ b/arch/arm64/include/asm/kvm_ptrauth.h > > @@ -61,44 +61,36 @@ > > > > /* > > * Both ptrauth_switch_to_guest and ptrauth_switch_to_host macros will > > - * check for the presence of one of the cpufeature flag > > - * ARM64_HAS_ADDRESS_AUTH_ARCH or ARM64_HAS_ADDRESS_AUTH_IMP_DEF and > > + * check for the presence ARM64_HAS_ADDRESS_AUTH, which is defined as > > + * (ARM64_HAS_ADDRESS_AUTH_ARCH || ARM64_HAS_ADDRESS_AUTH_IMP_DEF) and > > * then proceed ahead with the save/restore of Pointer Authentication > > - * key registers. > > + * key registers if enabled for the guest. > > */ > > .macro ptrauth_switch_to_guest g_ctxt, reg1, reg2, reg3 > > -alternative_if ARM64_HAS_ADDRESS_AUTH_ARCH > > +alternative_if_not ARM64_HAS_ADDRESS_AUTH > > b 1000f > > alternative_else_nop_endif > > -alternative_if_not ARM64_HAS_ADDRESS_AUTH_IMP_DEF > > - b 1001f > > -alternative_else_nop_endif > > -1000: > > mrs \reg1, hcr_el2 > > and \reg1, \reg1, #(HCR_API | HCR_APK) > > - cbz \reg1, 1001f > > + cbz \reg1, 1000f > > add \reg1, \g_ctxt, #CPU_APIAKEYLO_EL1 > > ptrauth_restore_state \reg1, \reg2, \reg3 > > -1001: > > +1000: > > .endm > > Since these are in macros, we could use \@ to generate a macro-specific > lavel rather than a magic number, which would be less likely to conflict > with the surrounding environment and would be more descriptive. We do > that in a few places already, and here it could look something like: > > | alternative_if_not ARM64_HAS_ADDRESS_AUTH > | b .L__skip_pauth_switch\@ > | alternative_else_nop_endif > | > | ... > | > | .L__skip_pauth_switch\@: > > Per the gas documentation > > | \@ > | > | as maintains a counter of how many macros it has executed in this > | pseudo-variable; you can copy that number to your output with ‘\@’, > | but only within a macro definition. Is this relibale for this sort of application? The description just sounds like a counter of macros rather than specifically a unique label generator. It may work most of the time but also seems that it has the potential to be more fragile given that it would change based on the rest of the code in the file to potentially conflict with something it didn't previously conflict with.