kernel: fix kfdwrite signature to match RB-modified trait (add arg param, cloexec field)

The RB fork's KernelScheme trait has an extra 'arg: u64' parameter in
kfdwrite (not in upstream). Also RB's FileDescriptor has a 'cloexec' field.
Both are now handled correctly.
This commit is contained in:
2026-07-11 23:00:30 +03:00
parent 6933d715a2
commit 19b936efff
+3 -1
View File
@@ -940,6 +940,7 @@ impl KernelScheme for ProcScheme {
id: usize,
descs: Vec<Arc<context::file::LockedFileDescription>>,
flags: CallFlags,
_arg: u64,
metadata: &[u64],
token: &mut CleanLockToken,
) -> Result<usize> {
@@ -969,7 +970,7 @@ impl KernelScheme for ProcScheme {
file.close(token)?;
}
let mut file = descs.get(0).unwrap();
let file = descs.get(0).unwrap();
let mut context = context.write(token.token());
let (context, mut token) = context.token_split();
context
@@ -977,6 +978,7 @@ impl KernelScheme for ProcScheme {
FileHandle(usize::try_from(*target_fd).map_err(|_| Error::new(EBADFD))?),
context::file::FileDescriptor {
description: file.clone(),
cloexec: false,
},
&mut token,
)