From 411df4e53fdc58cfca2e473e54c1bed9cf17740d Mon Sep 17 00:00:00 2001 From: David Disseldorp Date: Thu, 20 Jun 2024 14:58:05 +1000 Subject: key: use c_long type for keyctl_search() helper fn The keyctl_search() C function returns a long, which is already reflected in the KeyHandle._id type. The search_keyring() helper function currently returns a Result, which breaks 32-bit builds for e.g. armv7l: error[E0308]: mismatched types --> src/key.rs:121:16 | 121 | Ok(key_id) | -- ^^^^^^ expected `i64`, found `i32` | | | arguments to this enum variant are incorrect ... error[E0308]: mismatched types --> src/key.rs:135:24 | 135 | _id: id, | ^^ expected `i32`, found `i64` Fix this by changing search_keyring() to return a Result. Fixes: f72ded6a ("fix(key): search for key in all relevant keyrings") Signed-off-by: David Disseldorp Signed-off-by: Kent Overstreet --- src/key.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/key.rs b/src/key.rs index 96eb491d..0e061ee5 100644 --- a/src/key.rs +++ b/src/key.rs @@ -110,7 +110,7 @@ impl KeyHandle { } } - fn search_keyring(keyring: i32, key_name: &CStr) -> Result { + fn search_keyring(keyring: i32, key_name: &CStr) -> Result { let key_name = CStr::as_ptr(key_name); let key_type = c_str!("user"); -- cgit v1.2.3