Commit Diff


commit - 1e18d00d2fa0e623ef0d612616fcb6d01f2a2c10
commit + b8d611242cec2588168e3fc461c196f1a722bbfb
blob - 47890b492261bb487177b977cfe95e004065c75e
blob + 38c0ad2754ae80a4a1dd4adba133b9acecc02196
--- kernel/sched/task.c
+++ kernel/sched/task.c
@@ -1983,7 +1983,11 @@ sched_exit_current(void)
 			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
@@ -1454,6 +1454,12 @@ main(void)
 		    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. */