bsd-user: Implement shmat(2) and shmdt(2)

Use `WITH_MMAP_LOCK_GUARD` instead of mmap_lock() and mmap_unlock(),
to match linux-user implementation, according to the following commits:

69fa2708a2 linux-user: Use WITH_MMAP_LOCK_GUARD in target_{shmat,shmdt}
ceda5688b6 linux-user: Fix shmdt

Signed-off-by: Stacey Son <sson@FreeBSD.org>
Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com>
Message-Id: <20230925182709.4834-23-kariem.taha2.7@gmail.com>
This commit is contained in:
Stacey Son 2023-09-25 21:27:08 +03:00 committed by Warner Losh
parent f9bbe3cf28
commit 4e00b7d85d
4 changed files with 97 additions and 1 deletions

View file

@ -871,6 +871,14 @@ static abi_long freebsd_syscall(void *cpu_env, int num, abi_long arg1,
ret = do_bsd_shmctl(arg1, arg2, arg3);
break;
case TARGET_FREEBSD_NR_shmat: /* shmat(2) */
ret = do_bsd_shmat(arg1, arg2, arg3);
break;
case TARGET_FREEBSD_NR_shmdt: /* shmdt(2) */
ret = do_bsd_shmdt(arg1);
break;
/*
* Misc
*/