[PATCH] rust: Ignore preserve-most functions

Matthew Maurer posted 1 patch 2 years, 2 months ago
rust/bindgen_parameters | 4 ++++
1 file changed, 4 insertions(+)
[PATCH] rust: Ignore preserve-most functions
Posted by Matthew Maurer 2 years, 2 months ago
Neither bindgen nor Rust know about the preserve-most calling
convention, and Clang describes it as unstable. Since we aren't using
functions with this calling convention from Rust, blocklist them.

These functions are only added to the build when list hardening is
enabled, which is likely why others didn't notice this yet.

Signed-off-by: Matthew Maurer <mmaurer@google.com>
---
 rust/bindgen_parameters | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/rust/bindgen_parameters b/rust/bindgen_parameters
index 552d9a85925b..8d9f82d350b8 100644
--- a/rust/bindgen_parameters
+++ b/rust/bindgen_parameters
@@ -20,3 +20,7 @@
 
 # `seccomp`'s comment gets understood as a doctest
 --no-doc-comments
+
+# These functions use the __preserve_most calling convention, which neither bindgen
+# nor Rust currently understand, and which Clang currently declares to be unstable.
+--blocklist-function __list_.*_report
-- 
2.42.0.820.g83a721a137-goog
Re: [PATCH] rust: Ignore preserve-most functions
Posted by Miguel Ojeda 2 years ago
On Tue, Oct 31, 2023 at 9:20 PM Matthew Maurer <mmaurer@google.com> wrote:
>
> Neither bindgen nor Rust know about the preserve-most calling
> convention, and Clang describes it as unstable. Since we aren't using
> functions with this calling convention from Rust, blocklist them.
>
> These functions are only added to the build when list hardening is
> enabled, which is likely why others didn't notice this yet.
>
> Signed-off-by: Matthew Maurer <mmaurer@google.com>

Applied to `rust-next` (used Markdown for consistency with the other
comments in the file).

Thanks everyone!

Cheers,
Miguel
Re: [PATCH] rust: Ignore preserve-most functions
Posted by Martin Rodriguez Reboredo 2 years, 1 month ago
On 10/31/23 17:19, Matthew Maurer wrote:
> Neither bindgen nor Rust know about the preserve-most calling
> convention, and Clang describes it as unstable. Since we aren't using
> functions with this calling convention from Rust, blocklist them.
> 
> These functions are only added to the build when list hardening is
> enabled, which is likely why others didn't notice this yet.
> 
> Signed-off-by: Matthew Maurer <mmaurer@google.com>
> ---
> [...]
Reviewed-by: Martin Rodriguez Reboredo <yakoyoku@gmail.com>
Re: [PATCH] rust: Ignore preserve-most functions
Posted by Alice Ryhl 2 years, 2 months ago
On Tue, Oct 31, 2023 at 9:20 PM Matthew Maurer <mmaurer@google.com> wrote:
>
> Neither bindgen nor Rust know about the preserve-most calling
> convention, and Clang describes it as unstable. Since we aren't using
> functions with this calling convention from Rust, blocklist them.
>
> These functions are only added to the build when list hardening is
> enabled, which is likely why others didn't notice this yet.
>
> Signed-off-by: Matthew Maurer <mmaurer@google.com>

Reviewed-by: Alice Ryhl <aliceryhl@google.com>