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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 3707CC3DA61 for ; Mon, 29 Jul 2024 14:38:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Type:Cc:To:From: Subject:Message-ID:References:Mime-Version:In-Reply-To:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=FKAVwhluDEm83CnDhzk3R+pdR/lsoORRqAVOgXJ4jh4=; b=JVisqPu/Vw/D4uJbB0CTl+MP0J 0kcRWTD1SCvYGkFMCE1HiZyJixdVapKTM/Lab2vGXWMnsXUd5eNvKXkILi6G5zx2j4rrZxCvjHQqa jgaIsVrObFhum9BJ4GZQ3vDYEiIWgzCG9jcRNyrmvsxY1LHrf+AZJY2ZycjMHnMladi6oejhtUBPu ogD3PPCFlvNMM4bw3m7PPewrL8cOaIJqcsB5a71gAvchAqY/EZ/aNLq9xYXig2xFPbWfygSUfjMJN D/8A8z2V15qMCDis3HJdcmZwGMkLlJ39J2cgh2nbvb6Y4PMbexBY17bv5SS4uso7U3uRwmZ6c2hE4 6xfrN4QQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sYRWL-0000000BfQc-3jbA; Mon, 29 Jul 2024 14:38:41 +0000 Received: from mail-yw1-x1149.google.com ([2607:f8b0:4864:20::1149]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sYRHA-0000000BYRc-0FsH for linux-arm-kernel@lists.infradead.org; Mon, 29 Jul 2024 14:23:01 +0000 Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-66a2aee82a0so50743537b3.0 for ; Mon, 29 Jul 2024 07:22:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1722262978; x=1722867778; darn=lists.infradead.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=FKAVwhluDEm83CnDhzk3R+pdR/lsoORRqAVOgXJ4jh4=; b=182PL/IOlC0kL0CS5kbhXHwG2Ds7dpSXa+ZGkDIdcGf17SQmJXHMxwfg+RcgS9hUbn ww8mIzcUoMbhJ+vGZpzqnQlZ8s/umcZKjN9V9Ezk50zpCF81d1I8Nx0fGPfdcGv9xujd cMarFosEwJXNmkdMyPAqJi55TKEyOKJwEIq0Rvv5bW/Qe5LvsjkuntL46B2/KUbUYzLf 0xFY8K5+O96aGAnJ0rppPeu7RVDrXnZbSmzupPR8iJUDUXlQUSYo076+5ZXWQ2EZComX 2UeqZmpCOWMQ3o3jrNXTVudDhrYxQIgCDoOpdU2MINCe6GT1v+USDBk+nvaWBoEZO5UN mPNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722262978; x=1722867778; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=FKAVwhluDEm83CnDhzk3R+pdR/lsoORRqAVOgXJ4jh4=; b=DCYuNhq9wilkpQnHXlVrm7dtiUIxmnMiMNOeVe6b0aW2sBsF1n/daGeMJ4DO9s3jaI gVWSD4hxgTUmiAO6JGcnz9mmk39SjKa15uj3AXNIHRqToKb3zSrJZqBf6wXZBOfflu8+ 1i2xLsLF9WipUbFNs1MKJ+Bi7zM9j+AQF6Z+BooGUTHBk6GFz2nJL9sfDEqqU9Q7m4z1 oQevuynoAv2jf0ZpdM4lwqjmdRDRCgKvap7bFt5wThChyMx6N0kt5d5Pw8n1uUCyCrYR Up+WRKQTeEpIKt6wUWZKulJw0oLpsgTkixIdR31v/0bVj88WbY7E9GzNXfpceea23c9r BUxQ== X-Forwarded-Encrypted: i=1; AJvYcCXKA/PvmvQMcy+S4tt1ujo+BPdnZn+oPwACSmpI4Sp9io3eu5L4GcfCKUtVYNVP4Iw59bh8Ojnq1W7g9U/KgnSRlDpw/rKrb3m82sBUz1dJwaveTs4= X-Gm-Message-State: AOJu0YyiPVGrNkmQrsjOyUNYwHPys0Gp9Jfs/F5CztuKI6hRbQv4MY4w SoWVTunN7yZXLdXyeJ86LMOd49IU7F/Kk/C2H0zeMFSP1GG9Jpv4/EHTDWZGqQJ7KkF3RBiP8EJ QTwOZoghTgo7+VQ== X-Google-Smtp-Source: AGHT+IES8X6bJl34RB7/iH9nf005G+uCe4wkhWz68+bWS+v9+Z5RHQiBNeaLAB9MUHbBbeqJZvyE/AaYzy1ExB0= X-Received: from aliceryhl2.c.googlers.com ([fda3:e722:ac3:cc00:68:949d:c0a8:572]) (user=aliceryhl job=sendgmr) by 2002:a05:690c:f92:b0:627:a961:caee with SMTP id 00721157ae682-67a09d60c54mr199477b3.4.1722262978117; Mon, 29 Jul 2024 07:22:58 -0700 (PDT) Date: Mon, 29 Jul 2024 14:22:49 +0000 In-Reply-To: <20240729-shadow-call-stack-v4-0-2a664b082ea4@google.com> Mime-Version: 1.0 References: <20240729-shadow-call-stack-v4-0-2a664b082ea4@google.com> X-Developer-Key: i=aliceryhl@google.com; a=openpgp; fpr=49F6C1FAA74960F43A5B86A1EE7A392FDE96209F X-Developer-Signature: v=1; a=openpgp-sha256; l=1191; i=aliceryhl@google.com; h=from:subject:message-id; bh=lzT2BdaEVnJIsuBgTyZNaaAeirv9EKd/rwlbRbDIHew=; b=owEBbQKS/ZANAwAKAQRYvu5YxjlGAcsmYgBmp6W7eiaZvCQ+157eE1D82eHE/On4FxAJi9TFh 2gSPdxHnaOJAjMEAAEKAB0WIQSDkqKUTWQHCvFIvbIEWL7uWMY5RgUCZqeluwAKCRAEWL7uWMY5 RvNGD/9piCtWh6KnJP50UfDUlhig5/folfeGSnk9rzankoYjvKtyl0HhguuVvUw4QT9UszFFu1Q 2M2lyfik1kJ+DzHxopKFnQsIdYOezvQTD5qkAJ4irtNLyQifk5UNzE7kFmXIa7j5OxxzZ/bnoVN WtWowt9kC2yLhoQ2ngDP1Q0pqjSOe9yZq+JU00vftaYuLBmCktu2lK9gbe9Wzg0DqVEI3ckIVoP PTrY81o8h1U8Op9QkNBRlBmpYT7alkzPOuSu0f3LEeH/UdctAZTu2OsJ/rktV6GbPEEXioIwxS1 SO+NpdC0UxWgnYRee7bl8fOJR638kikf7jt0xXuJljniqcc+EwnT+fJdXhmOMt0/Pw3NpeeL8I2 5o8QUYqxmFP295BxKYXZ+5OzEBQn4DxQtS6uEqMvfHN17JvPfB5Dp2mQFrsQibZefgNRRuTZEqA qS6bJqymXak1+F8JDKe4oBB+FG2nddilV23LAuvfap3inFqv9TBgLrPOwVz8OFeYubTdY9blD/j o0yxn1DW04FUnofOMJU/q1ngTnU2f+YPbfJ5HwxOJJA++7qMe9pfvgk5hpQTSODwqxTu3u2PcDx JKHu+O1sMRW2Og5zjy83aRyemBkOdk0wnOpJyoejJNqSjY2bvEwnLBSbIycvdYtqpxRZ0xv0qXg 9QsENNi+fHInv8g== X-Mailer: b4 0.13-dev-26615 Message-ID: <20240729-shadow-call-stack-v4-1-2a664b082ea4@google.com> Subject: [PATCH v4 1/2] rust: SHADOW_CALL_STACK is incompatible with Rust From: Alice Ryhl To: Catalin Marinas , Will Deacon , Jamie Cunliffe , Sami Tolvanen , Nathan Chancellor , Conor Dooley Cc: Masahiro Yamada , Nicolas Schier , Ard Biesheuvel , Marc Zyngier , Mark Rutland , Mark Brown , Nick Desaulniers , Miguel Ojeda , Alex Gaynor , Wedson Almeida Filho , Boqun Feng , Gary Guo , "=?utf-8?q?Bj=C3=B6rn_Roy_Baron?=" , Benno Lossin , Andreas Hindborg , Valentin Obst , linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, rust-for-linux@vger.kernel.org, Alice Ryhl , Kees Cook , stable@vger.kernel.org Content-Type: text/plain; charset="utf-8" X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240729_072300_235624_6C1C6411 X-CRM114-Status: GOOD ( 12.41 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org When using the shadow call stack sanitizer, all code must be compiled with the -ffixed-x18 flag, but this flag is not currently being passed to Rust. This results in crashes that are extremely difficult to debug. To ensure that nobody else has to go through the same debugging session that I had to, prevent configurations that enable both SHADOW_CALL_STACK and RUST. It is rather common for people to backport 724a75ac9542 ("arm64: rust: Enable Rust support for AArch64"), so I recommend applying this fix all the way back to 6.1. Cc: # 6.1 and later Fixes: 724a75ac9542 ("arm64: rust: Enable Rust support for AArch64") Signed-off-by: Alice Ryhl --- init/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/init/Kconfig b/init/Kconfig index b0238c4b6e79..914edf51b068 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -1909,6 +1909,7 @@ config RUST depends on !MODVERSIONS depends on !GCC_PLUGINS depends on !RANDSTRUCT + depends on !SHADOW_CALL_STACK depends on !DEBUG_INFO_BTF || PAHOLE_HAS_LANG_EXCLUDE help Enables Rust support in the kernel. -- 2.46.0.rc1.232.g9752f9e123-goog