From: Alice Ryhl <aliceryhl@google.com>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: "Ke Sun" <sunke@kylinos.cn>, "Dirk Behme" <dirk.behme@gmail.com>,
"Boqun Feng" <boqun.feng@gmail.com>,
"Miguel Ojeda" <ojeda@kernel.org>,
"Petr Mladek" <pmladek@suse.com>,
"Steven Rostedt" <rostedt@goodmis.org>,
"Timur Tabi" <ttabi@nvidia.com>,
"Danilo Krummrich" <dakr@kernel.org>,
"Benno Lossin" <lossin@kernel.org>,
"John Ogness" <john.ogness@linutronix.de>,
"Rasmus Villemoes" <linux@rasmusvillemoes.dk>,
"Andrew Morton" <akpm@linux-foundation.org>,
"Gary Guo" <gary@garyguo.net>,
"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
"Andreas Hindborg" <a.hindborg@kernel.org>,
"Trevor Gross" <tmgross@umich.edu>,
"Tamir Duberstein" <tamird@gmail.com>,
"Ke Sun" <sk.alvin.x@gmail.com>,
rust-for-linux@vger.kernel.org
Subject: Re: [PATCH v7 1/4] lib/vsprintf: Export functions for Rust pointer formatting support
Date: Wed, 31 Dec 2025 10:04:39 +0000 [thread overview]
Message-ID: <aVT1N1NHQDCe2Dn8@google.com> (raw)
In-Reply-To: <aVKN0Q-6bsHGq_Gy@smile.fi.intel.com>
On Mon, Dec 29, 2025 at 04:18:57PM +0200, Andy Shevchenko wrote:
> On Mon, Dec 29, 2025 at 03:21:19PM +0800, Ke Sun wrote:
> > Export ptr_to_hashval() and extract kptr_restrict_value() to enable
> > Rust code to use kernel pointer formatting functionality.
> >
> > - Export ptr_to_hashval() with EXPORT_SYMBOL_GPL for pointer hashing.
> > This function is used to hash kernel pointers before printing them,
> > preventing information leaks about kernel memory layout.
> >
> > - Extract kptr_restrict handling logic from restricted_pointer() into
> > a separate exported function kptr_restrict_value() that can be
> > reused by both restricted_pointer() (for %pK format specifier) and
> > Rust code.
> >
> > The kptr_restrict_value() function:
> > - Returns 0, 1, or 2 to indicate the kptr_restrict sysctl value
> > - Returns -1 for error case (IRQ context with kptr_restrict==1)
> > - Modifies the pointer value through @pptr parameter when needed
> > (sets to NULL when access should be restricted)
> >
> > These functions are needed for the HashedPtr and RestrictedPtr wrapper
> > types in rust/kernel/ptr.rs to provide safe pointer formatting that
> > matches C kernel patterns.
> >
> > This refactoring:
> > - Allows restricted_pointer() to reuse the common logic while
> > maintaining the same behavior
> > - Enables Rust code to use the same kptr_restrict handling logic
> > - Reduces code duplication
>
> ...
>
> > +EXPORT_SYMBOL_GPL(ptr_to_hashval);
>
> I do not like this. At bare minimum we should make sure it's namespaced, so the
> author of the code deliberately needs to import it (I'm talking about C side).
>
> Ideally we should have something which is Rust specific, like
>
> EXPORT_SYMBOL_FOR_RUST_ONLY(foo);
>
> Can we do that first?
We don't have an EXPORT_SYMBOL_FOR_RUST_ONLY(). The closest there is
would be to place it in rust/helpers/, since such symbols won't be
available to C modules once we land this:
https://lore.kernel.org/all/20251202-inline-helpers-v1-0-879dae33a66a@google.com/
But since the current file also needs to access this, I don't think it
will fly.
Alice
next prev parent reply other threads:[~2025-12-31 10:04 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-29 7:21 [PATCH v7 0/4] rust: Add safe pointer formatting support Ke Sun
2025-12-29 7:21 ` [PATCH v7 1/4] lib/vsprintf: Export functions for Rust " Ke Sun
2025-12-29 10:44 ` Dirk Behme
2025-12-31 2:46 ` Ke Sun
2025-12-31 11:07 ` Alice Ryhl
2025-12-29 14:18 ` Andy Shevchenko
2025-12-29 15:00 ` Ke Sun
2025-12-31 10:04 ` Alice Ryhl [this message]
2026-01-01 1:43 ` 孙科
2026-01-01 1:46 ` Alice Ryhl
2025-12-29 7:21 ` [PATCH v7 2/4] rust: kernel: Add pointer wrapper types for safe pointer formatting Ke Sun
2025-12-29 9:03 ` Alice Ryhl
2025-12-29 14:07 ` Ke Sun
2025-12-29 7:21 ` [PATCH v7 3/4] rust: fmt: Default raw pointer formatting to HashedPtr Ke Sun
2025-12-29 7:21 ` [PATCH v7 4/4] docs: rust: Add pointer formatting documentation Ke Sun
2025-12-29 14:11 ` [PATCH v7 0/4] rust: Add safe pointer formatting support Andy Shevchenko
2025-12-30 2:03 ` Ke Sun
2025-12-30 8:40 ` Andy Shevchenko
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=aVT1N1NHQDCe2Dn8@google.com \
--to=aliceryhl@google.com \
--cc=a.hindborg@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=andriy.shevchenko@linux.intel.com \
--cc=bjorn3_gh@protonmail.com \
--cc=boqun.feng@gmail.com \
--cc=dakr@kernel.org \
--cc=dirk.behme@gmail.com \
--cc=gary@garyguo.net \
--cc=john.ogness@linutronix.de \
--cc=linux@rasmusvillemoes.dk \
--cc=lossin@kernel.org \
--cc=ojeda@kernel.org \
--cc=pmladek@suse.com \
--cc=rostedt@goodmis.org \
--cc=rust-for-linux@vger.kernel.org \
--cc=sk.alvin.x@gmail.com \
--cc=sunke@kylinos.cn \
--cc=tamird@gmail.com \
--cc=tmgross@umich.edu \
--cc=ttabi@nvidia.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.