From 90643abbadc7e8af8f1d141fcdb1e823d10cd905 Mon Sep 17 00:00:00 2001 From: Ibuki Omatsu Date: Wed, 25 Jun 2025 14:44:51 +0000 Subject: [PATCH] feat: Store caller's PID in Sqe during SYS_CALL --- src/scheme/user.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/scheme/user.rs b/src/scheme/user.rs index fd168bb3bb..e6198eb1df 100644 --- a/src/scheme/user.rs +++ b/src/scheme/user.rs @@ -1751,13 +1751,14 @@ impl KernelScheme for UserScheme { let inner = self.inner.upgrade().ok_or(Error::new(ENODEV))?; let mut address = inner.capture_user(payload)?; + let ctx = context::current().read().caller_ctx(); let mut sqe = Sqe { opcode: Opcode::Call as u8, sqe_flags: SqeFlags::empty(), _rsvd: 0, tag: inner.next_id()?, - caller: 0, // TODO? + caller: ctx.pid as u64, args: [ id as u64, address.base() as u64,