Re: [PATCH v7] rust: support for shadow call stack sanitizer

From: Conor Dooley
Date: Fri Sep 13 2024 - 17:48:08 EST


On Fri, Sep 13, 2024 at 11:44:26PM +0200, Alice Ryhl wrote:
> On Fri, Sep 13, 2024 at 11:18 PM Conor Dooley <conor@xxxxxxxxxx> wrote:
> >
> > On Fri, Sep 13, 2024 at 12:08:20AM +0200, Miguel Ojeda wrote:
> > > On Thu, Aug 29, 2024 at 10:23 AM Alice Ryhl <aliceryhl@xxxxxxxxxx> wrote:
> > > >
> > > > Add all of the flags that are needed to support the shadow call stack
> > > > (SCS) sanitizer with Rust, and updates Kconfig to allow only
> > > > configurations that work.
> > >
> > > Applied to `rust-next` -- thanks everyone!
> > >
> > > Paul/Palmer/Albert/RISC-V: I think you were not Cc'd (at least in this
> > > version?), so please shout if you have a problem with this.

> > error[E0425]: cannot find function `__mutex_init` in crate `bindings`
> > --> /stuff/linux/rust/kernel/sync/lock/mutex.rs:104:28
> > |
> > 104 | unsafe { bindings::__mutex_init(ptr, name, key) }
> > | ^^^^^^^^^^^^ help: a function with a similar name exists: `__mutex_rt_init`
> > |
> > ::: /stuff/brsdk/work/linux/rust/bindings/bindings_generated.rs:12907:5
> > |
> > 12907 | / pub fn __mutex_rt_init(
> > 12908 | | lock: *mut mutex,
> > 12909 | | name: *const core::ffi::c_char,
> > 12910 | | key: *mut lock_class_key,
> > 12911 | | );
> > | |_____- similarly named function `__mutex_rt_init` defined here
> >
> > error: aborting due to 1 previous error
>
> This looks like an unrelated problem to me. This patch only changes
> the rustc flags, but these errors have to do with the Rust
> helpers/bindings, which get generated before the rustc flags are used
> at all. Most likely, there is a problem under the particular
> configuration you are using. Were you able to reproduce these errors
> without this patch?

Oh I'm not blaming you for it, don't worry. I didn't think it would be
related, but it did stop me from being trivially able to check whether
there was any problems with the applied patch. I'll give it another go
tomorrow, with all of the other rust code stripped out and just this
patch applied.

Attachment: signature.asc
Description: PGP signature