Skip to contentSkip to conversation

FAILED: patch "[PATCH] scripts: generate_rust_analyzer: Add ffi crate" failed to apply to 6.12-stable tree

PATCH In review [email protected] 3 participants 3 messages Apr 21, 2025 – Apr 22, 2025

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

The patch below does not apply to the 6.12-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

To reproduce the conflict and resubmit, you may use the following commands:

git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.12.y
git checkout FETCH_HEAD
git cherry-pick -x 05a2b0011c4b6cbbc9b577f6abebe4e9333b0cf6
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2025042132-trial-subtext-ae03@gregkh' --subject-prefix 'PATCH 6.12.y' HEAD^..

Possible dependencies:

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

From 05a2b0011c4b6cbbc9b577f6abebe4e9333b0cf6 Mon Sep 17 00:00:00 2001
From: Lukas Fischer <[email protected]>
Date: Fri, 4 Apr 2025 14:51:51 +0200
Subject: [PATCH] scripts: generate_rust_analyzer: Add ffi crate

Commit d072acda4862 ("rust: use custom FFI integer types") did not update rust-analyzer to include the new crate.

To enable rust-analyzer support for these custom ffi types, add the ffi crate as a dependency to the bindings, uapi and kernel crates, which all directly depend on it.

scripts/generate_rust_analyzer.py +9 -3
index cd41bc906fbd..fe663dd0c43b 100755
@@ -112,6 +112,12 @@ def generate_crates(srctree, objtree, sysroot_src, external_src, cfgs):
         cfg=["kernel"],
     )
 
+    append_crate(
+        "ffi",
+        srctree / "rust" / "ffi.rs",
+        ["core", "compiler_builtins"],
+    )
+
     def append_crate_with_generated(
         display_name,
         deps,
@@ -131,9 +137,9 @@ def generate_crates(srctree, objtree, sysroot_src, external_src, cfgs):
             "exclude_dirs": [],
         }
 
-    append_crate_with_generated("bindings", ["core"])
-    append_crate_with_generated("uapi", ["core"])
-    append_crate_with_generated("kernel", ["core", "macros", "build_error", "pin_init", "bindings", "uapi"])
+    append_crate_with_generated("bindings", ["core", "ffi"])
+    append_crate_with_generated("uapi", ["core", "ffi"])
+    append_crate_with_generated("kernel", ["core", "macros", "build_error", "pin_init", "ffi", "bindings", "uapi"])
 
     def is_root_crate(build_file, target):
         try:
maintainer
#1 lore raw

PATCH 1/1 scripts: generate_rust_analyzer: Add ffi crate

From: Lukas Fischer <[email protected]>

commit 05a2b0011c4b6cbbc9b577f6abebe4e9333b0cf6 upstream.

Commit d072acda4862 ("rust: use custom FFI integer types") did not update rust-analyzer to include the new crate.

To enable rust-analyzer support for these custom ffi types, add the ffi crate as a dependency to the bindings, uapi and kernel crates, which all directly depend on it.

Fixes d072acda4862 ("rust: use custom FFI integer types")
[ Fixed conflicts. - Miguel ]
---
 scripts/generate_rust_analyzer.py | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)
scripts/generate_rust_analyzer.py +9 -3
index d1f5adbf33f9..690f9830f064 100755
@@ -90,6 +90,12 @@ def generate_crates(srctree, objtree, sysroot_src, external_src, cfgs):
         ["core", "compiler_builtins"],
     )
 
+    append_crate(
+        "ffi",
+        srctree / "rust" / "ffi.rs",
+        ["core", "compiler_builtins"],
+    )
+
     def append_crate_with_generated(
         display_name,
         deps,
@@ -109,9 +115,9 @@ def generate_crates(srctree, objtree, sysroot_src, external_src, cfgs):
             "exclude_dirs": [],
         }
 
-    append_crate_with_generated("bindings", ["core"])
-    append_crate_with_generated("uapi", ["core"])
-    append_crate_with_generated("kernel", ["core", "macros", "build_error", "bindings", "uapi"])
+    append_crate_with_generated("bindings", ["core", "ffi"])
+    append_crate_with_generated("uapi", ["core", "ffi"])
+    append_crate_with_generated("kernel", ["core", "macros", "build_error", "ffi", "bindings", "uapi"])
 
     def is_root_crate(build_file, target):
         try:
Signature · 1 line
2.49.0
maintainer
#2 lore raw

Re: [PATCH 6.12.y] scripts: generate_rust_analyzer: Add ffi crate

[ Sasha's backport helper bot ]

Hi,

✅ All tests passed successfully. No issues detected. No action required from the submitter.

The upstream commit SHA1 provided is correct: 05a2b0011c4b6cbbc9b577f6abebe4e9333b0cf6

WARNING: Author mismatch between patch and upstream commit:
Backport author: Miguel Ojeda<[email protected]> Commit author: Lukas Fischer<[email protected]>

Status in newer kernel trees:
6.14.y | Not found

Note: The patch differs from the upstream commit:
---
1: 05a2b0011c4b6 ! 1: dfc4475fa6764 scripts: generate_rust_analyzer: Add ffi crate
@@ Metadata
## Commit message ##
scripts: generate_rust_analyzer: Add ffi crate

+ commit 05a2b0011c4b6cbbc9b577f6abebe4e9333b0cf6 upstream.
+
Commit d072acda4862 ("rust: use custom FFI integer types") did not update rust-analyzer to include the new crate.

@@ Commit message

+ [ Fixed conflicts. - Miguel ]
+ Signed-off-by: Miguel Ojeda <[email protected]>

## scripts/generate_rust_analyzer.py ##
@@ scripts/generate_rust_analyzer.py: def generate_crates(srctree, objtree, sysroot_src, external_src, cfgs):
- cfg=["kernel"],
+ ["core", "compiler_builtins"],
)

+ append_crate(
@@ scripts/generate_rust_analyzer.py: def generate_crates(srctree, objtree, sysroot

- append_crate_with_generated("bindings", ["core"])
- append_crate_with_generated("uapi", ["core"])
-- append_crate_with_generated("kernel", ["core", "macros", "build_error", "pin_init", "bindings", "uapi"])
+- append_crate_with_generated("kernel", ["core", "macros", "build_error", "bindings", "uapi"])
+ append_crate_with_generated("bindings", ["core", "ffi"])
+ append_crate_with_generated("uapi", ["core", "ffi"])
-+ append_crate_with_generated("kernel", ["core", "macros", "build_error", "pin_init", "ffi", "bindings", "uapi"])
++ append_crate_with_generated("kernel", ["core", "macros", "build_error", "ffi", "bindings", "uapi"])

def is_root_crate(build_file, target):
try:
---

Results of testing on various branches:

| Branch                    | Patch Apply | Build Test |
|---------------------------|-------------|------------|
| stable/linux-6.12.y       |  Success    |  Success   |