commit - 1e18d00d2fa0e623ef0d612616fcb6d01f2a2c10
commit + b8d611242cec2588168e3fc461c196f1a722bbfb
blob - 47890b492261bb487177b977cfe95e004065c75e
blob + 38c0ad2754ae80a4a1dd4adba133b9acecc02196
--- kernel/sched/task.c
+++ kernel/sched/task.c
task->stdio_portal = IPC_PORTAL_INVALID_HANDLE;
task->stdio_portal_ready = false;
} else {
- ipc_portal_revoke(task, task->stdio_portal);
+ /*
+ * If transfer failed, best-effort revoke. Ignore owner
+ * mismatch to avoid noisy logs when ownership changed.
+ */
+ (void)ipc_portal_revoke(task, task->stdio_portal);
task->stdio_portal = IPC_PORTAL_INVALID_HANDLE;
task->stdio_portal_ready = false;
}
blob - 1603303b7941f4580a445d3e055b26ac96ba2fea
blob + c5cfda2764ec5bfc70f9aeba9808660469bedb16
--- servers/fs/tmpfs/main.c
+++ servers/fs/tmpfs/main.c
sizeof(fs_request_buffer));
if (got <= 0)
continue;
+ if (got < (ssize_t)sizeof(fs_request_buffer) &&
+ fs_request_buffer.opcode == 0 &&
+ fs_request_buffer.token == 0) {
+ /* Likely a wake for namesvc resolve failure; skip */
+ continue;
+ }
/* Require exact size match: reject truncated or oversized messages.
* A malicious or buggy client sending a short message would leave
* stale data in the buffer, which handlers would then use unsafely. */