Skip to content

Commit 61734d5

Browse files
neuschaefertgross35
authored andcommitted
Move keyctl to new/linux_uapi
These constants are entirely defined in the Linux UAPI. https://elixir.bootlin.com/linux/v6.16.9/source/include/uapi/linux/keyctl.h (backport <#4725>) (cherry picked from commit 2bf1f66)
1 parent d089c54 commit 61734d5

File tree

4 files changed

+72
-80
lines changed

4 files changed

+72
-80
lines changed

src/new/linux_uapi/linux/keyctl.rs

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
//! Header: `uapi/linux/keyctl.h`
2+
3+
// linux/keyctl.h
4+
pub const KEY_SPEC_THREAD_KEYRING: i32 = -1;
5+
pub const KEY_SPEC_PROCESS_KEYRING: i32 = -2;
6+
pub const KEY_SPEC_SESSION_KEYRING: i32 = -3;
7+
pub const KEY_SPEC_USER_KEYRING: i32 = -4;
8+
pub const KEY_SPEC_USER_SESSION_KEYRING: i32 = -5;
9+
pub const KEY_SPEC_GROUP_KEYRING: i32 = -6;
10+
pub const KEY_SPEC_REQKEY_AUTH_KEY: i32 = -7;
11+
pub const KEY_SPEC_REQUESTOR_KEYRING: i32 = -8;
12+
13+
pub const KEY_REQKEY_DEFL_NO_CHANGE: i32 = -1;
14+
pub const KEY_REQKEY_DEFL_DEFAULT: i32 = 0;
15+
pub const KEY_REQKEY_DEFL_THREAD_KEYRING: i32 = 1;
16+
pub const KEY_REQKEY_DEFL_PROCESS_KEYRING: i32 = 2;
17+
pub const KEY_REQKEY_DEFL_SESSION_KEYRING: i32 = 3;
18+
pub const KEY_REQKEY_DEFL_USER_KEYRING: i32 = 4;
19+
pub const KEY_REQKEY_DEFL_USER_SESSION_KEYRING: i32 = 5;
20+
pub const KEY_REQKEY_DEFL_GROUP_KEYRING: i32 = 6;
21+
pub const KEY_REQKEY_DEFL_REQUESTOR_KEYRING: i32 = 7;
22+
23+
pub const KEYCTL_GET_KEYRING_ID: u32 = 0;
24+
pub const KEYCTL_JOIN_SESSION_KEYRING: u32 = 1;
25+
pub const KEYCTL_UPDATE: u32 = 2;
26+
pub const KEYCTL_REVOKE: u32 = 3;
27+
pub const KEYCTL_CHOWN: u32 = 4;
28+
pub const KEYCTL_SETPERM: u32 = 5;
29+
pub const KEYCTL_DESCRIBE: u32 = 6;
30+
pub const KEYCTL_CLEAR: u32 = 7;
31+
pub const KEYCTL_LINK: u32 = 8;
32+
pub const KEYCTL_UNLINK: u32 = 9;
33+
pub const KEYCTL_SEARCH: u32 = 10;
34+
pub const KEYCTL_READ: u32 = 11;
35+
pub const KEYCTL_INSTANTIATE: u32 = 12;
36+
pub const KEYCTL_NEGATE: u32 = 13;
37+
pub const KEYCTL_SET_REQKEY_KEYRING: u32 = 14;
38+
pub const KEYCTL_SET_TIMEOUT: u32 = 15;
39+
pub const KEYCTL_ASSUME_AUTHORITY: u32 = 16;
40+
pub const KEYCTL_GET_SECURITY: u32 = 17;
41+
pub const KEYCTL_SESSION_TO_PARENT: u32 = 18;
42+
pub const KEYCTL_REJECT: u32 = 19;
43+
pub const KEYCTL_INSTANTIATE_IOV: u32 = 20;
44+
pub const KEYCTL_INVALIDATE: u32 = 21;
45+
pub const KEYCTL_GET_PERSISTENT: u32 = 22;
46+
pub const KEYCTL_DH_COMPUTE: u32 = 23;
47+
pub const KEYCTL_PKEY_QUERY: u32 = 24;
48+
pub const KEYCTL_PKEY_ENCRYPT: u32 = 25;
49+
pub const KEYCTL_PKEY_DECRYPT: u32 = 26;
50+
pub const KEYCTL_PKEY_SIGN: u32 = 27;
51+
pub const KEYCTL_PKEY_VERIFY: u32 = 28;
52+
pub const KEYCTL_RESTRICT_KEYRING: u32 = 29;
53+
pub const KEYCTL_MOVE: u32 = 30;
54+
pub const KEYCTL_CAPABILITIES: u32 = 31;
55+
56+
pub const KEYCTL_SUPPORTS_ENCRYPT: u32 = 0x01;
57+
pub const KEYCTL_SUPPORTS_DECRYPT: u32 = 0x02;
58+
pub const KEYCTL_SUPPORTS_SIGN: u32 = 0x04;
59+
pub const KEYCTL_SUPPORTS_VERIFY: u32 = 0x08;
60+
61+
pub const KEYCTL_CAPS0_CAPABILITIES: u32 = 0x01;
62+
pub const KEYCTL_CAPS0_PERSISTENT_KEYRINGS: u32 = 0x02;
63+
pub const KEYCTL_CAPS0_DIFFIE_HELLMAN: u32 = 0x04;
64+
pub const KEYCTL_CAPS0_PUBLIC_KEY: u32 = 0x08;
65+
pub const KEYCTL_CAPS0_BIG_KEY: u32 = 0x10;
66+
pub const KEYCTL_CAPS0_INVALIDATE: u32 = 0x20;
67+
pub const KEYCTL_CAPS0_RESTRICT_KEYRING: u32 = 0x40;
68+
pub const KEYCTL_CAPS0_MOVE: u32 = 0x80;
69+
pub const KEYCTL_CAPS1_NS_KEYRING_NAME: u32 = 0x01;
70+
pub const KEYCTL_CAPS1_NS_KEY_TAG: u32 = 0x02;

src/new/linux_uapi/linux/mod.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,5 @@
22
33
pub(crate) mod can;
44
pub use can::*;
5+
pub(crate) mod keyctl;
6+
pub use keyctl::*;

src/unix/linux_like/linux/gnu/mod.rs

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -892,42 +892,6 @@ pub const CLONE_NEWTIME: c_int = 0x80;
892892
pub const CLONE_CLEAR_SIGHAND: c_int = 0x100000000;
893893
pub const CLONE_INTO_CGROUP: c_int = 0x200000000;
894894

895-
// linux/keyctl.h
896-
pub const KEYCTL_DH_COMPUTE: u32 = 23;
897-
pub const KEYCTL_PKEY_QUERY: u32 = 24;
898-
pub const KEYCTL_PKEY_ENCRYPT: u32 = 25;
899-
pub const KEYCTL_PKEY_DECRYPT: u32 = 26;
900-
pub const KEYCTL_PKEY_SIGN: u32 = 27;
901-
pub const KEYCTL_PKEY_VERIFY: u32 = 28;
902-
pub const KEYCTL_RESTRICT_KEYRING: u32 = 29;
903-
904-
pub const KEYCTL_SUPPORTS_ENCRYPT: u32 = 0x01;
905-
pub const KEYCTL_SUPPORTS_DECRYPT: u32 = 0x02;
906-
pub const KEYCTL_SUPPORTS_SIGN: u32 = 0x04;
907-
pub const KEYCTL_SUPPORTS_VERIFY: u32 = 0x08;
908-
cfg_if! {
909-
if #[cfg(not(any(
910-
target_arch = "mips",
911-
target_arch = "mips32r6",
912-
target_arch = "mips64",
913-
target_arch = "mips64r6"
914-
)))] {
915-
pub const KEYCTL_MOVE: u32 = 30;
916-
pub const KEYCTL_CAPABILITIES: u32 = 31;
917-
918-
pub const KEYCTL_CAPS0_CAPABILITIES: u32 = 0x01;
919-
pub const KEYCTL_CAPS0_PERSISTENT_KEYRINGS: u32 = 0x02;
920-
pub const KEYCTL_CAPS0_DIFFIE_HELLMAN: u32 = 0x04;
921-
pub const KEYCTL_CAPS0_PUBLIC_KEY: u32 = 0x08;
922-
pub const KEYCTL_CAPS0_BIG_KEY: u32 = 0x10;
923-
pub const KEYCTL_CAPS0_INVALIDATE: u32 = 0x20;
924-
pub const KEYCTL_CAPS0_RESTRICT_KEYRING: u32 = 0x40;
925-
pub const KEYCTL_CAPS0_MOVE: u32 = 0x80;
926-
pub const KEYCTL_CAPS1_NS_KEYRING_NAME: u32 = 0x01;
927-
pub const KEYCTL_CAPS1_NS_KEY_TAG: u32 = 0x02;
928-
}
929-
}
930-
931895
pub const M_MXFAST: c_int = 1;
932896
pub const M_NLBLKS: c_int = 2;
933897
pub const M_GRAIN: c_int = 3;

src/unix/linux_like/linux/mod.rs

Lines changed: 0 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -4823,50 +4823,6 @@ const fn issecure_mask(x: c_int) -> c_int {
48234823
1 << x
48244824
}
48254825

4826-
// linux/keyctl.h
4827-
pub const KEY_SPEC_THREAD_KEYRING: i32 = -1;
4828-
pub const KEY_SPEC_PROCESS_KEYRING: i32 = -2;
4829-
pub const KEY_SPEC_SESSION_KEYRING: i32 = -3;
4830-
pub const KEY_SPEC_USER_KEYRING: i32 = -4;
4831-
pub const KEY_SPEC_USER_SESSION_KEYRING: i32 = -5;
4832-
pub const KEY_SPEC_GROUP_KEYRING: i32 = -6;
4833-
pub const KEY_SPEC_REQKEY_AUTH_KEY: i32 = -7;
4834-
pub const KEY_SPEC_REQUESTOR_KEYRING: i32 = -8;
4835-
4836-
pub const KEY_REQKEY_DEFL_NO_CHANGE: i32 = -1;
4837-
pub const KEY_REQKEY_DEFL_DEFAULT: i32 = 0;
4838-
pub const KEY_REQKEY_DEFL_THREAD_KEYRING: i32 = 1;
4839-
pub const KEY_REQKEY_DEFL_PROCESS_KEYRING: i32 = 2;
4840-
pub const KEY_REQKEY_DEFL_SESSION_KEYRING: i32 = 3;
4841-
pub const KEY_REQKEY_DEFL_USER_KEYRING: i32 = 4;
4842-
pub const KEY_REQKEY_DEFL_USER_SESSION_KEYRING: i32 = 5;
4843-
pub const KEY_REQKEY_DEFL_GROUP_KEYRING: i32 = 6;
4844-
pub const KEY_REQKEY_DEFL_REQUESTOR_KEYRING: i32 = 7;
4845-
4846-
pub const KEYCTL_GET_KEYRING_ID: u32 = 0;
4847-
pub const KEYCTL_JOIN_SESSION_KEYRING: u32 = 1;
4848-
pub const KEYCTL_UPDATE: u32 = 2;
4849-
pub const KEYCTL_REVOKE: u32 = 3;
4850-
pub const KEYCTL_CHOWN: u32 = 4;
4851-
pub const KEYCTL_SETPERM: u32 = 5;
4852-
pub const KEYCTL_DESCRIBE: u32 = 6;
4853-
pub const KEYCTL_CLEAR: u32 = 7;
4854-
pub const KEYCTL_LINK: u32 = 8;
4855-
pub const KEYCTL_UNLINK: u32 = 9;
4856-
pub const KEYCTL_SEARCH: u32 = 10;
4857-
pub const KEYCTL_READ: u32 = 11;
4858-
pub const KEYCTL_INSTANTIATE: u32 = 12;
4859-
pub const KEYCTL_NEGATE: u32 = 13;
4860-
pub const KEYCTL_SET_REQKEY_KEYRING: u32 = 14;
4861-
pub const KEYCTL_SET_TIMEOUT: u32 = 15;
4862-
pub const KEYCTL_ASSUME_AUTHORITY: u32 = 16;
4863-
pub const KEYCTL_GET_SECURITY: u32 = 17;
4864-
pub const KEYCTL_SESSION_TO_PARENT: u32 = 18;
4865-
pub const KEYCTL_REJECT: u32 = 19;
4866-
pub const KEYCTL_INSTANTIATE_IOV: u32 = 20;
4867-
pub const KEYCTL_INVALIDATE: u32 = 21;
4868-
pub const KEYCTL_GET_PERSISTENT: u32 = 22;
4869-
48704826
pub const IN_MASK_CREATE: u32 = 0x1000_0000;
48714827
pub const IN_MASK_ADD: u32 = 0x2000_0000;
48724828
pub const IN_ISDIR: u32 = 0x4000_0000;

0 commit comments

Comments
 (0)