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 164C5C52D6F for ; Wed, 21 Aug 2024 18:18:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7D04E6B00F3; Wed, 21 Aug 2024 14:18:18 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7755994000B; Wed, 21 Aug 2024 14:18:18 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 616FC6B00F5; Wed, 21 Aug 2024 14:18:18 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 42A006B00F2 for ; Wed, 21 Aug 2024 14:18:18 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id D944A160E1C for ; Wed, 21 Aug 2024 18:18:17 +0000 (UTC) X-FDA: 82477062234.07.4FBE6B6 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf29.hostedemail.com (Postfix) with ESMTP id 4030B12000A for ; Wed, 21 Aug 2024 18:18:15 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=none; spf=pass (imf29.hostedemail.com: domain of cmarinas@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=cmarinas@kernel.org; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=arm.com (policy=none) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1724264215; 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; bh=1CyJAdp+d/mRC7D27VN913Xs7RT0t8+cXk+D0gFMdbc=; b=4oY7aJQsG7AAERy9XOrEe3NvmyUqd9ytelcwiO8acV4+gV2IH3lQxCpHM3P5SCVYCXxyiM jBpnhl5yp6yFKw4UiK9bS6RTxrZ68a1xMLXx0o3KmGNx8JR8UU31xi6MhsouYJsra/3ovQ MpAbnkFahPSbNxuceSimAyXiVQqnV7o= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1724264215; a=rsa-sha256; cv=none; b=lxyVIGG3VcwuGPhTpUOXmHneRx00SV7gnVUdjnqNziMJILcoKNYsOltQSiCPneBq7pA+2w 98bVRSRwcr0bRnkv6mKM1jgQLMZ5UJWaYbnDkXzjKF9DlUangwcDigl9K7AKcjSag4+Hoz t0fbTjDQlzw7DwCBBi+P1QtWh7YG+Uw= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=none; spf=pass (imf29.hostedemail.com: domain of cmarinas@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=cmarinas@kernel.org; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=arm.com (policy=none) Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 5472360C39; Wed, 21 Aug 2024 18:18:14 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7C128C32781; Wed, 21 Aug 2024 18:18:08 +0000 (UTC) Date: Wed, 21 Aug 2024 19:18:06 +0100 From: Catalin Marinas To: Mark Brown Cc: Will Deacon , Jonathan Corbet , Andrew Morton , Marc Zyngier , Oliver Upton , James Morse , Suzuki K Poulose , Arnd Bergmann , Oleg Nesterov , Eric Biederman , Shuah Khan , "Rick P. Edgecombe" , Deepak Gupta , Ard Biesheuvel , Szabolcs Nagy , Kees Cook , "H.J. Lu" , Paul Walmsley , Palmer Dabbelt , Albert Ou , Florian Weimer , Christian Brauner , Thiago Jung Bauermann , Ross Burton , 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 v10 23/40] arm64/signal: Set up and restore the GCS context for signal handlers Message-ID: References: <20240801-arm64-gcs-v10-0-699e2bd2190b@kernel.org> <20240801-arm64-gcs-v10-23-699e2bd2190b@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 4030B12000A X-Stat-Signature: brknuagamap4jx98u8cprna49hwgd7aq X-HE-Tag: 1724264295-118373 X-HE-Meta: U2FsdGVkX1/Vdea8AM3H6/ej8LoUPOMQd6SydSpdIA5pBvCCajGikAaWi2AX5kP7pTR/5DMw/4IJVisOFC72IM5V9/kXpET50CxREWbnMZyLGcBl21f7z9g6iKHO7BKKOHcChjDMQsNXFHXRCRjDWYZS6sVn50v2s/YpRpV9oWFBEqlU258rT9vNzq4KC+Y0rppX+JZCt7G76IkJ12h9n0Pwmxn9qXQkoDJfOKACn7xGpjxXgf7Q9WgS5s09jTjuu5e7Q8jz6tpTt0haMTrWLw1VnbUZ9GS+Hlhz7sVEJqmNFfKp+J4hWO7irxqQYSJDYT+ZLKh0dCvqbLxa8i63N2BOVpJBfSMlXvwNou5Tbe+i+L7Xzp4bAw5PYbZ0e4Oul+Dc8AqtEKDf/hSKPnuI0gZ2bqFdy0OUwwPlBj3SHcv8mONOqVR6mAxTWRzUXuigaRq8Yi0sSEkFfT7Kjr+UZdQKYdnE5y9bFRcFj+TLvnr0hKlnt7atxKVvAp0AUqO3lAh2295HNUfK5zOIPfaqz5galjEDugbY5Zst9EftpXeP7CM13gT6h9sbfuASOWVDWWJJyrtEgKmls/YYNeC+YKQq6wPrkPajIRNOrx4cFkk/+9MLUzyZzCL8NzFLeaMnbqAVsQm2My7+v7piU8L1oh2QFgU2EHbr80Nk8gDUaJW4bMg12KEUAvRJjk8ZwPmFtLHGH9aooXWyW2hgDJnmXq1DVIIjHyW6ucJE47TsUjKFK/hYy+WdsMmWqmvly2jhlks5o9lpxtXC5cicR4SyT3vmcNWb/U77T44zLvkDKphNp/hfYnVm9l+MOoo54ZUkkbIKdnkvJBqUVwQ2ZH7kyYVwTJlgTVYbWLTqrkDkDfcX+aeCvX1nXQ0/WZuE+bWFZl/F/eY3uyO3546g2JcQIKoamUp/TLAuxrDRMMJOUMHjXV7grsfvkR29r8gy/aEHutONG9QdObmuhSnnAKZ zZ7qh7fG 9951mDcvc/rySDU71jbZz2LmsxJe1slwpd/T17uyFSzUIC/V11tShof0tOa/zOXzD6PWD/9Fz/5oJh4EcztAaSg+PSj4zGZYoNgVPPZJijNKMpop0q1ppEKFd0p6N9j3todlPvPJNSnYXxqXF/jRZueoX1/j/dJ4O+d1StOYapHPb6egNq9xRxkSWAzfXljmafh78mslvz6KpYCbIkejFbv76EpL0yX6OJVK6bLel3Tbc6M+pr3qllb4GpP1z27hrQsQplUE/KyuSfG+qw1m79IWWoS/xJ9JRTT/ECBoDMqveJjU8rPguKB5azSrGjSkEQ+8CPj/EEX1TdSZnLDYj2oU3IDNfe96tOhBsGP5JV4HyTUvaJHJvEAYXynl3sT56DYV/XZs9KBnnAmsbWnghPMom13hb/+ngLY5Jr12ITCwlDUE= 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: On Wed, Aug 21, 2024 at 07:03:13PM +0100, Mark Brown wrote: > On Wed, Aug 21, 2024 at 06:28:49PM +0100, Catalin Marinas wrote: > > On Thu, Aug 01, 2024 at 01:06:50PM +0100, Mark Brown wrote: > > > + /* > > > + * Push a cap and the GCS entry for the trampoline onto the GCS. > > > + */ > > > + put_user_gcs((unsigned long)sigtramp, gcspr_el0 - 2, &ret); > > > + put_user_gcs(GCS_SIGNAL_CAP(gcspr_el0 - 1), gcspr_el0 - 1, &ret); > > > + if (ret != 0) > > > + return ret; > > > Doesn't the second put_user_gcs() override the previous ret? > > No, we only set ret on error - if the first one faults it'll set ret > then the second one will either leave it unchanged or write the same > error code depending on if it fails. This idiom is used quite a lot in > the signal code. You are right, I missed that it's called 'err' in put_user_gcs(), thought it's overridden. -- Catalin