From 14cf1efc9dfa388c3dfec3815abd114f2a36bd38 Mon Sep 17 00:00:00 2001 From: Luca Dariz Date: Tue, 28 Jun 2022 12:10:44 +0200 Subject: sign-extend mask in vm_map() with 32-bit userspace * vm/vm_user.c: sign-extend mask with USER32 Signed-off-by: Luca Dariz Message-Id: <20220628101054.446126-6-luca@orpolo.org> --- vm/vm_user.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'vm') diff --git a/vm/vm_user.c b/vm/vm_user.c index 3ef64dfc..9e789eba 100644 --- a/vm/vm_user.c +++ b/vm/vm_user.c @@ -338,6 +338,11 @@ kern_return_t vm_map( if (size == 0) return KERN_INVALID_ARGUMENT; +#ifdef USER32 + if (mask & 0x80000000) + mask |= 0xffffffff00000000; +#endif + *address = trunc_page(*address); size = round_page(size); -- cgit v1.2.3