From: Gary Guo <gary@garyguo.net>
To: Dirk Behme <dirk.behme@gmail.com>
Cc: "Alice Ryhl" <aliceryhl@google.com>,
"Conor Dooley" <conor@kernel.org>,
"Miguel Ojeda" <miguel.ojeda.sandonis@gmail.com>,
"Paul Walmsley" <paul.walmsley@sifive.com>,
"Palmer Dabbelt" <palmer@dabbelt.com>,
"Albert Ou" <aou@eecs.berkeley.edu>,
"Catalin Marinas" <catalin.marinas@arm.com>,
"Will Deacon" <will@kernel.org>,
"Ard Biesheuvel" <ardb@kernel.org>,
"Jamie Cunliffe" <Jamie.Cunliffe@arm.com>,
"Sami Tolvanen" <samitolvanen@google.com>,
"Nathan Chancellor" <nathan@kernel.org>,
"Kees Cook" <kees@kernel.org>,
"Masahiro Yamada" <masahiroy@kernel.org>,
"Nicolas Schier" <nicolas@fjasle.eu>,
"Marc Zyngier" <maz@kernel.org>,
"Mark Rutland" <mark.rutland@arm.com>,
"Mark Brown" <broonie@kernel.org>,
"Nick Desaulniers" <ndesaulniers@google.com>,
"Miguel Ojeda" <ojeda@kernel.org>,
"Alex Gaynor" <alex.gaynor@gmail.com>,
"Wedson Almeida Filho" <wedsonaf@gmail.com>,
"Boqun Feng" <boqun.feng@gmail.com>,
"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
"Benno Lossin" <benno.lossin@proton.me>,
"Andreas Hindborg" <a.hindborg@samsung.com>,
"Valentin Obst" <kernel@valentinobst.de>,
linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
rust-for-linux@vger.kernel.org,
linux-riscv <linux-riscv@lists.infradead.org>
Subject: Re: [PATCH v7] rust: support for shadow call stack sanitizer
Date: Sun, 15 Sep 2024 12:36:26 +0100 [thread overview]
Message-ID: <20240915123626.1a170103.gary@garyguo.net> (raw)
In-Reply-To: <c7c5a16b-d033-4b46-8994-259c55bfd8b1@gmail.com>
On Sun, 15 Sep 2024 09:32:44 +0200
Dirk Behme <dirk.behme@gmail.com> wrote:
> Yes, it is unrelated to this change. It is PREEMPT_RT usage related. I
> think we could add something like
>
> #ifdef CONFIG_PREEMPT_RT
> void rust_helper___mutex_init(struct mutex *mutex, const char *name,
> struct lock_class_key *key)
> {
> return __mutex_init(mutex, name, key);
> }
> #endif
There's no need to use `ifdef` here (we don't want to try replicate all
ifdefs). Simply add a helper is sufficient. We have logic in
rust/bindings/lib.rs to prefer externed function to helpers if an
externed function exist.
Best,
Gary
>
> to helpers to fix
>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/rust/kernel/sync/lock/mutex.rs?&id=6d20d629c6d8575be98eeebe49a16fb2d7b32350
>
> ?
>
> Explanation: Looking at
>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/linux/mutex.h?#n52
>
> we have (simplified)
>
> #ifndef CONFIG_PREEMPT_RT
> extern void __mutex_init(struct mutex *lock, const char *name,
> struct lock_class_key *key);
> #else
> #define __mutex_init(mutex, name, key) \
> do { \
> rt_mutex_base_init(&(mutex)->rtmutex); \
> __mutex_rt_init((mutex), name, key); \
> } while (0)
> #endif
>
> So in the CONFIG_PREEMPT_RT case bindgen doesn't resolve the macro
> what could be fixed by adding a helper.
>
> Dirk
next prev parent reply other threads:[~2024-09-15 11:36 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-29 8:22 [PATCH v7] rust: support for shadow call stack sanitizer Alice Ryhl
2024-09-12 22:08 ` Miguel Ojeda
2024-09-13 21:17 ` Conor Dooley
2024-09-13 21:44 ` Alice Ryhl
2024-09-13 21:47 ` Conor Dooley
2024-09-15 7:32 ` Dirk Behme
2024-09-15 11:36 ` Gary Guo [this message]
2024-09-14 16:30 ` Gary Guo
2024-09-14 16:46 ` Conor Dooley
2024-09-14 22:15 ` Conor Dooley
2024-09-15 19:15 ` Miguel Ojeda
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240915123626.1a170103.gary@garyguo.net \
--to=gary@garyguo.net \
--cc=Jamie.Cunliffe@arm.com \
--cc=a.hindborg@samsung.com \
--cc=alex.gaynor@gmail.com \
--cc=aliceryhl@google.com \
--cc=aou@eecs.berkeley.edu \
--cc=ardb@kernel.org \
--cc=benno.lossin@proton.me \
--cc=bjorn3_gh@protonmail.com \
--cc=boqun.feng@gmail.com \
--cc=broonie@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=conor@kernel.org \
--cc=dirk.behme@gmail.com \
--cc=kees@kernel.org \
--cc=kernel@valentinobst.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=mark.rutland@arm.com \
--cc=masahiroy@kernel.org \
--cc=maz@kernel.org \
--cc=miguel.ojeda.sandonis@gmail.com \
--cc=nathan@kernel.org \
--cc=ndesaulniers@google.com \
--cc=nicolas@fjasle.eu \
--cc=ojeda@kernel.org \
--cc=palmer@dabbelt.com \
--cc=paul.walmsley@sifive.com \
--cc=rust-for-linux@vger.kernel.org \
--cc=samitolvanen@google.com \
--cc=wedsonaf@gmail.com \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).