On Wed, Dec 6, 2023 at 1:34 PM Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote: > > On Wed, Dec 06, 2023 at 11:59:50AM +0000, Alice Ryhl wrote: > > > diff --git a/rust/helpers.c b/rust/helpers.c > > index fd633d9db79a..58e3a9dff349 100644 > > --- a/rust/helpers.c > > +++ b/rust/helpers.c > > @@ -142,6 +142,51 @@ void rust_helper_put_task_struct(struct task_struct *t) > > } > > EXPORT_SYMBOL_GPL(rust_helper_put_task_struct); > > > > +kuid_t rust_helper_task_uid(struct task_struct *task) > > +{ > > + return task_uid(task); > > +} > > +EXPORT_SYMBOL_GPL(rust_helper_task_uid); > > + > > +kuid_t rust_helper_task_euid(struct task_struct *task) > > +{ > > + return task_euid(task); > > +} > > +EXPORT_SYMBOL_GPL(rust_helper_task_euid); > > So I still object to these on the ground that they're obvious and > trivial speculation gadgets. > > We should not have (exported) functions that are basically a single > dereference of a pointer argument. > > And I do not appreciate my feedback on the previous round being ignored. I'm sorry about that. I barely know what speculation gadgets are, so I didn't really know what to respond. But I should have responded by saying that. I can reimplement these specific functions as inline Rust functions, but I don't think I can give you a general solution to the rust_helper_* problem in this patch series. Alice