From 42f70fd779b3cd70a784b27af491c99c6da91830 Mon Sep 17 00:00:00 2001 From: Yuke Peng Date: Fri, 23 Aug 2024 17:15:18 +0800 Subject: [PATCH] Fix reachable unwrap panic in `check_sem()` --- kernel/aster-nix/src/syscall/semget.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kernel/aster-nix/src/syscall/semget.rs b/kernel/aster-nix/src/syscall/semget.rs index 515a20262..9b5a99fa4 100644 --- a/kernel/aster-nix/src/syscall/semget.rs +++ b/kernel/aster-nix/src/syscall/semget.rs @@ -16,6 +16,9 @@ pub fn sys_semget(key: i32, nsems: i32, semflags: i32, ctx: &Context) -> Result< if nsems < 0 || nsems as usize > SEMMSL { return_errno!(Errno::EINVAL); } + if key < 0 { + return_errno!(Errno::EINVAL); + } let flags = IpcFlags::from_bits_truncate(semflags as u32); let mode: u16 = (semflags as u32 & 0x1FF) as u16;