@@ -62,14 +62,14 @@ static int check_prot(int prot) {
6262 return 0 ;
6363}
6464
65- void * libos_syscall_mmap (void * addr , size_t length , int prot , int flags , int fd ,
66- unsigned long offset ) {
65+ long libos_syscall_mmap (unsigned long addr , unsigned long length , unsigned long prot ,
66+ unsigned long flags , unsigned long fd , unsigned long offset ) {
6767 struct libos_handle * hdl = NULL ;
6868 long ret = 0 ;
6969
7070 ret = check_prot (prot );
7171 if (ret < 0 )
72- return ( void * ) ret ;
72+ return ret ;
7373
7474 if (!(flags & MAP_FIXED ) && addr )
7575 addr = ALLOC_ALIGN_DOWN_PTR (addr );
@@ -79,20 +79,20 @@ void* libos_syscall_mmap(void* addr, size_t length, int prot, int flags, int fd,
7979 * but not the length. mmap() will automatically round up the length.
8080 */
8181 if (addr && !IS_ALLOC_ALIGNED_PTR (addr ))
82- return ( void * ) - EINVAL ;
82+ return - EINVAL ;
8383
84- if (fd >= 0 && !IS_ALLOC_ALIGNED (offset ))
85- return ( void * ) - EINVAL ;
84+ if (!IS_ALLOC_ALIGNED (offset ))
85+ return - EINVAL ;
8686
8787 if (!IS_ALLOC_ALIGNED (length ))
8888 length = ALLOC_ALIGN_UP (length );
8989
90- if (!length || !access_ok (addr , length ))
91- return ( void * ) - EINVAL ;
90+ if (!length || !access_ok (( void * ) addr , length ))
91+ return - EINVAL ;
9292
9393 /* This check is Gramine specific. */
9494 if (flags & (VMA_UNMAPPED | VMA_TAINTED | VMA_INTERNAL )) {
95- return ( void * ) - EINVAL ;
95+ return - EINVAL ;
9696 }
9797
9898 if (flags & MAP_ANONYMOUS ) {
@@ -101,7 +101,7 @@ void* libos_syscall_mmap(void* addr, size_t length, int prot, int flags, int fd,
101101 case MAP_PRIVATE :
102102 break ;
103103 default :
104- return ( void * ) - EINVAL ;
104+ return - EINVAL ;
105105 }
106106 } else {
107107 /* MAP_FILE is the opposite of MAP_ANONYMOUS and is implicit */
@@ -112,13 +112,13 @@ void* libos_syscall_mmap(void* addr, size_t length, int prot, int flags, int fd,
112112 case MAP_SHARED_VALIDATE :
113113 /* Currently we do not support additional flags like MAP_SYNC */
114114 if (flags & ~LEGACY_MAP_MASK ) {
115- return ( void * ) - EOPNOTSUPP ;
115+ return - EOPNOTSUPP ;
116116 }
117117 /* fall through */
118118 case MAP_PRIVATE :
119119 hdl = get_fd_handle (fd , NULL , NULL );
120120 if (!hdl ) {
121- return ( void * ) - EBADF ;
121+ return - EBADF ;
122122 }
123123
124124 if (!hdl -> fs || !hdl -> fs -> fs_ops || !hdl -> fs -> fs_ops -> mmap ) {
@@ -138,7 +138,7 @@ void* libos_syscall_mmap(void* addr, size_t length, int prot, int flags, int fd,
138138
139139 break ;
140140 default :
141- return ( void * ) - EINVAL ;
141+ return - EINVAL ;
142142 }
143143
144144 /* ignore MAP_NORESERVE for file-backed mappings as we consider this rare and not worth
@@ -166,27 +166,27 @@ void* libos_syscall_mmap(void* addr, size_t length, int prot, int flags, int fd,
166166 }
167167 if (flags & (MAP_FIXED | MAP_FIXED_NOREPLACE )) {
168168 /* We know that `addr + length` does not overflow (`access_ok` above). */
169- if (addr < memory_range_start || (uintptr_t )memory_range_end < ( uintptr_t ) addr + length ) {
169+ if (addr < ( uintptr_t ) memory_range_start || (uintptr_t )memory_range_end < addr + length ) {
170170 ret = - EINVAL ;
171171 goto out_handle ;
172172 }
173173 if (!(flags & MAP_FIXED_NOREPLACE )) {
174174 /* Flush any file mappings we're about to replace */
175- ret = msync_range (( uintptr_t ) addr , ( uintptr_t ) addr + length );
175+ ret = msync_range (addr , addr + length );
176176 if (ret < 0 ) {
177177 goto out_handle ;
178178 }
179179
180180 struct libos_vma_info * vmas ;
181181 size_t vmas_length ;
182- ret = dump_vmas_in_range (( uintptr_t ) addr , ( uintptr_t ) addr + length ,
182+ ret = dump_vmas_in_range (addr , addr + length ,
183183 /*include_unmapped=*/ false, & vmas , & vmas_length );
184184 if (ret < 0 ) {
185185 goto out_handle ;
186186 }
187187
188188 void * tmp_vma = NULL ;
189- ret = bkeep_munmap (addr , length , /*is_internal=*/ false, & tmp_vma );
189+ ret = bkeep_munmap (( void * ) addr , length , /*is_internal=*/ false, & tmp_vma );
190190 if (ret < 0 ) {
191191 free_vma_info_array (vmas , vmas_length );
192192 goto out_handle ;
@@ -207,12 +207,12 @@ void* libos_syscall_mmap(void* addr, size_t length, int prot, int flags, int fd,
207207
208208 bkeep_convert_tmp_vma_to_user (tmp_vma );
209209
210- ret = bkeep_mmap_fixed (addr , length , prot , flags , hdl , offset , NULL );
210+ ret = bkeep_mmap_fixed (( void * ) addr , length , prot , flags , hdl , offset , NULL );
211211 if (ret < 0 ) {
212212 BUG ();
213213 }
214214 } else {
215- ret = bkeep_mmap_fixed (addr , length , prot , flags , hdl , offset , NULL );
215+ ret = bkeep_mmap_fixed (( void * ) addr , length , prot , flags , hdl , offset , NULL );
216216 if (ret < 0 ) {
217217 goto out_handle ;
218218 }
@@ -221,20 +221,20 @@ void* libos_syscall_mmap(void* addr, size_t length, int prot, int flags, int fd,
221221 /* We know that `addr + length` does not overflow (`access_ok` above). */
222222 if (addr && (uintptr_t )memory_range_start <= (uintptr_t )addr
223223 && (uintptr_t )addr + length <= (uintptr_t )memory_range_end ) {
224- ret = bkeep_mmap_any_in_range (memory_range_start , (char * )addr + length , length , prot ,
225- flags , hdl , offset , NULL , & addr );
224+ ret = bkeep_mmap_any_in_range (memory_range_start , (void * )addr + length , length , prot ,
225+ flags , hdl , offset , NULL , ( void * * ) & addr );
226226 } else {
227227 /* Hacky way to mark we had no hit and need to search below. */
228228 ret = -1 ;
229229 }
230230 if (ret < 0 ) {
231231 /* We either had no hinted address or could not allocate memory at it. */
232232 if (memory_range_start == g_pal_public_state -> memory_address_start ) {
233- ret = bkeep_mmap_any_aslr (length , prot , flags , hdl , offset , NULL , & addr );
233+ ret = bkeep_mmap_any_aslr (length , prot , flags , hdl , offset , NULL , ( void * * ) & addr );
234234 } else {
235235 /* Shared memory range does not have ASLR. */
236236 ret = bkeep_mmap_any_in_range (memory_range_start , memory_range_end , length , prot ,
237- flags , hdl , offset , NULL , & addr );
237+ flags , hdl , offset , NULL , ( void * * ) & addr );
238238 }
239239 }
240240 if (ret < 0 ) {
@@ -246,7 +246,7 @@ void* libos_syscall_mmap(void* addr, size_t length, int prot, int flags, int fd,
246246 /* From now on `addr` contains the actual address we want to map (and already bookkeeped). */
247247
248248 if (!hdl ) {
249- ret = PalVirtualMemoryAlloc (addr , length , LINUX_PROT_TO_PAL (prot , flags ));
249+ ret = PalVirtualMemoryAlloc (( void * ) addr , length , LINUX_PROT_TO_PAL (prot , flags ));
250250 if (ret < 0 ) {
251251 if (ret == PAL_ERROR_DENIED ) {
252252 ret = - EPERM ;
@@ -256,22 +256,22 @@ void* libos_syscall_mmap(void* addr, size_t length, int prot, int flags, int fd,
256256 }
257257 } else {
258258 size_t valid_length ;
259- ret = hdl -> fs -> fs_ops -> mmap (hdl , addr , length , prot , flags , offset , & valid_length );
259+ ret = hdl -> fs -> fs_ops -> mmap (hdl , ( void * ) addr , length , prot , flags , offset , & valid_length );
260260 if (ret == 0 ) {
261- int update_valid_length_ret = bkeep_vma_update_valid_length (addr , valid_length );
261+ int update_valid_length_ret = bkeep_vma_update_valid_length (( void * ) addr , valid_length );
262262 if (update_valid_length_ret < 0 ) {
263- log_error ("[mmap] Failed to update valid length to %lu of bookkeeped memory %p-%p !" ,
264- valid_length , addr , ( char * ) addr + length );
263+ log_error ("[mmap] Failed to update valid length to %lu of bookkeeped memory %lu-%lu !" ,
264+ valid_length , addr , addr + length );
265265 BUG ();
266266 }
267267 }
268268 }
269269
270270 if (ret < 0 ) {
271271 void * tmp_vma = NULL ;
272- if (bkeep_munmap (addr , length , /*is_internal=*/ false, & tmp_vma ) < 0 ) {
273- log_error ("[mmap] Failed to remove bookkeeped memory that was not allocated at %p-%p !" ,
274- addr , ( char * ) addr + length );
272+ if (bkeep_munmap (( void * ) addr , length , /*is_internal=*/ false, & tmp_vma ) < 0 ) {
273+ log_error ("[mmap] Failed to remove bookkeeped memory that was not allocated at %lu-%lu !" ,
274+ addr , addr + length );
275275 BUG ();
276276 }
277277 bkeep_remove_tmp_vma (tmp_vma );
@@ -283,7 +283,7 @@ void* libos_syscall_mmap(void* addr, size_t length, int prot, int flags, int fd,
283283 }
284284
285285 if (ret < 0 ) {
286- return ( void * ) ret ;
286+ return ret ;
287287 }
288288 return addr ;
289289}
0 commit comments