From: Greg KH <greg@kroah.com>
To: Alice Ryhl <aliceryhl@google.com>
Cc: Thomas Bertschinger <tahbertschinger@gmail.com>,
ojeda@kernel.org, alex.gaynor@gmail.com, wedsonaf@gmail.com,
rust-for-linux@vger.kernel.org,
Martin Rodriguez Reboredo <yakoyoku@gmail.com>
Subject: Re: [PATCH v2] rust: place generated init_module() function in .init.text
Date: Tue, 6 Feb 2024 10:50:26 +0000 [thread overview]
Message-ID: <2024020613-illusion-quirk-14d4@gregkh> (raw)
In-Reply-To: <CAH5fLgjYCg+m7+Q63gFr425NiMkhTPWkDufB82pPHCZNhYAk9g@mail.gmail.com>
On Tue, Feb 06, 2024 at 11:29:05AM +0100, Alice Ryhl wrote:
> On Tue, Feb 6, 2024 at 11:01 AM Greg KH <greg@kroah.com> wrote:
> >
> > On Mon, Feb 05, 2024 at 06:25:35PM -0700, Thomas Bertschinger wrote:
> > > // Loadable modules need to export the `{{init,cleanup}}_module` identifiers.
> > > + /// # Safety
> > > + /// This function must only be called once, during module initialization, because it
> > > + /// may be freed after it returns.
> >
> > Oh, and the compiler will catch this if you get it wrong, correct?
> >
> > If not, you all should work on that, as it is caught in C code :)
>
> Based on the commit message, it sounds like the warning that C uses to
> catch this happens a link-time, which means that it is also triggered
> on Rust code:
>
> > If a Rust `init_module()` function (that lives in `.text`) calls a C
> > function annotated with `__init`, then a warning is generated because
> > the C function lives in `.init.text`.
Cool, but has anyone tested it?
> I suggested that we make this function unsafe too, to make it even
> harder to call incorrectly.
It's not "unsafe" at all! It's totally normal, and "safe" and should be
used for many types of modules. If you get it "wrong" the linker will
catch the issue, so what is unsafe?
> But I think for the more general case of this problem, it makes sense
> to rely on the existing warning for this.
If the linker catches this, yes.
thanks,
greg k-h
next prev parent reply other threads:[~2024-02-06 10:50 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-06 1:25 [PATCH v2] rust: place generated init_module() function in .init.text Thomas Bertschinger
2024-02-06 1:39 ` Martin Rodriguez Reboredo
2024-02-06 2:13 ` Thomas Bertschinger
2024-02-06 3:10 ` Trevor Gross
2024-02-06 3:17 ` Trevor Gross
2024-02-06 10:01 ` Greg KH
2024-02-06 10:51 ` Miguel Ojeda
2024-02-06 10:58 ` Greg KH
2024-02-06 11:31 ` Miguel Ojeda
2024-02-06 14:49 ` Thomas Bertschinger
2024-02-06 16:07 ` Martin Rodriguez Reboredo
2024-02-06 17:19 ` Miguel Ojeda
2024-02-06 21:28 ` Martin Rodriguez Reboredo
2024-02-06 17:19 ` Miguel Ojeda
2024-02-06 10:01 ` Greg KH
2024-02-06 10:29 ` Alice Ryhl
2024-02-06 10:50 ` Greg KH [this message]
2024-02-06 11:18 ` Miguel Ojeda
2024-02-06 10:57 ` 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=2024020613-illusion-quirk-14d4@gregkh \
--to=greg@kroah.com \
--cc=alex.gaynor@gmail.com \
--cc=aliceryhl@google.com \
--cc=ojeda@kernel.org \
--cc=rust-for-linux@vger.kernel.org \
--cc=tahbertschinger@gmail.com \
--cc=wedsonaf@gmail.com \
--cc=yakoyoku@gmail.com \
/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).