From 10256b331c9c7c4943a7bb6224f022b3aeb447c1 Mon Sep 17 00:00:00 2001 From: 4lDO2 <4lDO2@protonmail.com> Date: Mon, 11 Sep 2023 18:18:00 +0200 Subject: [PATCH] Ensure only the kernel can return EINTR. --- src/scheme/user.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/scheme/user.rs b/src/scheme/user.rs index 530c73eb47..9d464db2bc 100644 --- a/src/scheme/user.rs +++ b/src/scheme/user.rs @@ -689,7 +689,12 @@ impl UserInner { _ => return Err(Error::new(EINVAL)), } } else { - self.respond(packet.id, Response::Regular(packet.a))?; + let response = if Error::demux(packet.a) == Err(Error::new(EINTR)) { + Error::mux(Err(Error::new(EIO))) + } else { + packet.a + }; + self.respond(packet.id, Response::Regular(response))?; } Ok(())