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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 295C0C4167B for ; Sat, 9 Dec 2023 22:28:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3E94A6B007E; Sat, 9 Dec 2023 17:28:27 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 3730D6B0081; Sat, 9 Dec 2023 17:28:27 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1EBEF6B0082; Sat, 9 Dec 2023 17:28:27 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 0C07F6B007E for ; Sat, 9 Dec 2023 17:28:27 -0500 (EST) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id CFC6B12046D for ; Sat, 9 Dec 2023 22:28:26 +0000 (UTC) X-FDA: 81548719812.03.4BA6D5F Received: from mail-oi1-f182.google.com (mail-oi1-f182.google.com [209.85.167.182]) by imf23.hostedemail.com (Postfix) with ESMTP id 0B926140006 for ; Sat, 9 Dec 2023 22:28:24 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=j6R4Hu33; dmarc=pass (policy=none) header.from=linaro.org; spf=pass (imf23.hostedemail.com: domain of thiago.bauermann@linaro.org designates 209.85.167.182 as permitted sender) smtp.mailfrom=thiago.bauermann@linaro.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1702160905; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=GIZ+mcVI5qd9xzhqd2Lq/djPmsscI/1vsqmZHAfk8NA=; b=HBJhw0Y12xelKOIjJgNuqD7fAHR/umrChuUwun+eev4+a0S7U7qCoinMLwUBR1LojNX4GZ C9UTitRBuirjNGwYaIS/XWIaB5IdYTyomrClDgcAoQqZzbERwaeT1fqgNzjfcCwCsN0nEp xI9xgoq6Vj67QtOyVGfYwwlvRi4oWxg= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=j6R4Hu33; dmarc=pass (policy=none) header.from=linaro.org; spf=pass (imf23.hostedemail.com: domain of thiago.bauermann@linaro.org designates 209.85.167.182 as permitted sender) smtp.mailfrom=thiago.bauermann@linaro.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1702160905; a=rsa-sha256; cv=none; b=Tnp5qpQGskNkulR89haRojN2F9cftCs4YrIfK3bvcZM4TAJIvR4Coajezq/UpU6k+ZwlCe 2f3NoT4EAFi7TP7SNYAODFQ/WYQmzlhCoVCjOxcVEW+bMY5PHzYuqHt5QhTkrWLRpHj//D Bmn14WRr7oP8+gQBL/+3KvAaI5+f/xQ= Received: by mail-oi1-f182.google.com with SMTP id 5614622812f47-3b88f2a37deso2471255b6e.0 for ; Sat, 09 Dec 2023 14:28:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1702160904; x=1702765704; darn=kvack.org; h=mime-version:message-id:date:in-reply-to:subject:cc:to:from :user-agent:references:from:to:cc:subject:date:message-id:reply-to; bh=GIZ+mcVI5qd9xzhqd2Lq/djPmsscI/1vsqmZHAfk8NA=; b=j6R4Hu33k6HFxTaY88F2HVgyTm3kEP3rcidQOpE3PNs7h1N5VEgO1BwBI/BsOVlQ0b RvPpb0rBmUigmkm/fDsJU8W82qRMftEtLZICWod6BpIwLArWfDRbffLL+CN9P0E7IoQJ 6Gv0Ek/9AJY1mlYwTPlHpG2oZnVBdHOS9up99cBk1NcnnGvWjCq95LXaRywE1YFfCNJe zKxf/+mO4XodOyOqYdNL9tgJpIZ0vUPnolJcjypEi01KFb9xtcQw1v6AWf9ezGGfu2pK 7uCvdX1L/QW1YUdT7UgIDxmbLnrXTQAo7mjoxtMg9EuYahTlts7cJRrkbSfbqRsjW/0p B45w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702160904; x=1702765704; h=mime-version:message-id:date:in-reply-to:subject:cc:to:from :user-agent:references:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=GIZ+mcVI5qd9xzhqd2Lq/djPmsscI/1vsqmZHAfk8NA=; b=DWea4uK7Dp/636YN1NBqzMq/e2vU/OZ5K5x8HtnGe2kJAcgQYsfqJSqCZ6pIuJ4qU4 WNoQ3vq80tfWOqpD6/RVcP4GdEXNIoZWGBU04is+t3jkuOOdUDFYHpjSGYlSGBm4JBR7 P5fGvzCWyCaGd33gjzU7uEKSjvPHO3VShLZiVlV6zJDwhZRWEVXjrbR7WTMECdLuHjsY RTpsPuxFiseePnrWRigQcVUyLxAFswubt5OgB2HHr4Ypg5ZINByFpPow8qucH+a9MHUv 2XTD2vXw+QjFNEB/r8JUI6gdnr28LjNPMe44Kisnt6H6Zk28386JUOQfvSu/pfkk8ylS vxMg== X-Gm-Message-State: AOJu0YwyWiHI8czcIUBgURd1rcsO3Enw655icjl4IvTlZ1Dd6gemEeEe 7+gu1DunOpKjCj0KKijQSPL24Q== X-Google-Smtp-Source: AGHT+IHe/3Q7T7mqAS39AMZy9ESnpkNFM6q37u24Z3u046keYsm8BlHmxnJkG9/CppRHC9PxpHjPRw== X-Received: by 2002:a05:6808:21a6:b0:3b9:e87b:d963 with SMTP id be38-20020a05680821a600b003b9e87bd963mr2922446oib.85.1702160903962; Sat, 09 Dec 2023 14:28:23 -0800 (PST) Received: from localhost ([2804:14d:7e39:8470:ded6:9593:9f4f:5c29]) by smtp.gmail.com with ESMTPSA id h17-20020aa786d1000000b006ce7ed5ba42sm3794269pfo.171.2023.12.09.14.28.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Dec 2023 14:28:23 -0800 (PST) References: <20231122-arm64-gcs-v7-0-201c483bd775@kernel.org> <20231122-arm64-gcs-v7-25-201c483bd775@kernel.org> User-agent: mu4e 1.10.8; emacs 29.1 From: Thiago Jung Bauermann To: Mark Brown Cc: Catalin Marinas , Will Deacon , Jonathan Corbet , Andrew Morton , Marc Zyngier , Oliver Upton , James Morse , Suzuki K Poulose , Arnd Bergmann , Oleg Nesterov , Eric Biederman , Kees Cook , Shuah Khan , "Rick P. Edgecombe" , Deepak Gupta , Ard Biesheuvel , Szabolcs Nagy , "H.J. Lu" , Paul Walmsley , Palmer Dabbelt , Albert Ou , Florian Weimer , Christian Brauner , linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org, kvmarm@lists.linux.dev, linux-fsdevel@vger.kernel.org, linux-arch@vger.kernel.org, linux-mm@kvack.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org Subject: Re: [PATCH v7 25/39] arm64/signal: Expose GCS state in signal frames In-reply-to: <20231122-arm64-gcs-v7-25-201c483bd775@kernel.org> Date: Sat, 09 Dec 2023 19:28:21 -0300 Message-ID: <87sf4bf1tm.fsf@linaro.org> MIME-Version: 1.0 Content-Type: text/plain X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 0B926140006 X-Stat-Signature: zybepgunzu1iwiqc4mrda9whp9kqgxi5 X-Rspam-User: X-HE-Tag: 1702160904-848456 X-HE-Meta: U2FsdGVkX19eHKQjD8SIRLLiE5T2Y/PlgZ8NWxyisY2cDzs/dU9XIDKHYkDC4dQ0VQ8cIhxA8cuwmw6vRCLn4OhfpOarQpN73dSK4evtDvpJOQK6eRUh9hWWGJbjAX4FTC82Gp+aBEMtoc9MwoWv3mmGWOmHkuXq1UCL+NZqJurN8vtsYpW01hMsiDXK/Kc9/UU0bQVPszAnIUT/qC2CVTsbAMzM+YM3BkuWY25DFtOf7QEl7hup0zw138wjuD6pWDvKRr3wPtcMb9UPtXdSEanFqys6zLbFjssALfHbcQb9IW4c2/xTLwpOcRSRG2qDAbRyr8SVp2jxNWQvOTYFoycgYGxOe/q0MS6uLb+Kt0d9KWe6UktgQkHkv68cLhwECg1Qv3oKhWEh/iZ31FOr8p14w1ka6dRE7kZpAacSUFpwaf3WM7YSfnJmYzT0cg5GDRbvlgsT0OzbRHbI4F/GU7g52stsF/tIUzQz518QN2j3qXsK4Mqlb1guIXNqOFHi7FIhpkZfZbWiz9y0FN/jv+27iglXUzpMvav7uB9L0BPMo3d95FuTUjO0KJXRcpC4Ymd2RI6c5H4Ob7Y+L+QOwxBHa7n0zXUteSlOIOZp2ZEwPvM/cK7YN5URIrv8DF2nBR6DbWSA8C6wNbVdhVdnNYe2x/mljscFqGBIlAxB6ImzWb1hbXMF0Zn0/3bqviR5LtwJP0AQ5bVt446U/2JdVFvnC8oOTvihqL5e2ajaKN1STV5+S80Z+lLMcRyRmC3Lj2kgX1J3HB3P5FcoHo/GCMhYa6UrDEyqag3mYpARIz6Xd7qU5X/AWxP7ixZ7tAhT+Oie9nHW/LeerbjAGvhl0U7+vFzfohFLwhr4XiQyWQEyOJ6NjGv2p9qxOl6lu4dvsvIluBblmuFdV4GJOdiJzlHprJpDhPMIXnMxLGTrWGFj7wehC+xtMjC2EgJvbSXQ8bm/wTiJ4nt3NTVo80r jvBENHlt a2OlbtD56bqq/ZauRSZVe09KuaLZn58V2IzVZTWI7gRf5qLmOEk200OdJ+Xfn18jIqYQRj0WEDDabSSB0Qbb+Lye2RiArk7zW8lcZaOmmDg3XwVBwZCCIrCLnBByWAfxPMEYj2JQRn3tcg71p4tSfa+izpU7HI5CAHhCO1S7mUHdTlLkZ8w+t0vO4/ssxhN4RDJ0o7oBWfPWLU2T61fWDfFUrdvXiJ0sV9ca2/CA3mNkH71oEIHBPxOlDLJqA0Se7AfNE1MDdKfZ8aI+dIQAyfBREc32PzKTWNadLncgjbM093LrY7TgBNsR0esPIKq/r7inSoplS9/AEHN2HGMdxg1zPkF2EwYzWwPOIG4up13G9ck1SdAbgPABu6SJi/3hCNJdjH+ilFyfwtJjYiLugsIxqc/N7tyTT6ObFPa612/my/Ge7BMCTvGP0fg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Mark Brown writes: > +static int preserve_gcs_context(struct gcs_context __user *ctx) > +{ > + int err = 0; > + u64 gcspr; > + > + /* > + * We will add a cap token to the frame, include it in the > + * GCSPR_EL0 we report to support stack switching via > + * sigreturn. > + */ > + gcs_preserve_current_state(); > + gcspr = current->thread.gcspr_el0; > + if (task_gcs_el0_enabled(current)) > + gcspr -= 8; > + > + __put_user_error(GCS_MAGIC, &ctx->head.magic, err); > + __put_user_error(sizeof(*ctx), &ctx->head.size, err); > + __put_user_error(gcspr, &ctx->gcspr, err); > + __put_user_error(current->thread.gcs_el0_mode, > + &ctx->features_enabled, err); Other preserve__context() functions zero the reserved fields in ctx. I suggest doing the same here. It helps with backward compatibility. > + > + return err; > +} -- Thiago