mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 17:52:45 +00:00 
			
		
		
		
	Kernel: Mark sys$sendfd() and sys$recvfd() as not needing the big lock
These syscalls already perform the necessary locking and don't rely on the process big lock.
This commit is contained in:
		
							parent
							
								
									92dfcdb6b1
								
							
						
					
					
						commit
						bc4282c773
					
				
					 2 changed files with 4 additions and 4 deletions
				
			
		|  | @ -140,13 +140,13 @@ enum class NeedsBigProcessLock { | ||||||
|     S(readlink, NeedsBigProcessLock::No)                    \ |     S(readlink, NeedsBigProcessLock::No)                    \ | ||||||
|     S(readv, NeedsBigProcessLock::Yes)                      \ |     S(readv, NeedsBigProcessLock::Yes)                      \ | ||||||
|     S(realpath, NeedsBigProcessLock::No)                    \ |     S(realpath, NeedsBigProcessLock::No)                    \ | ||||||
|     S(recvfd, NeedsBigProcessLock::Yes)                     \ |     S(recvfd, NeedsBigProcessLock::No)                      \ | ||||||
|     S(recvmsg, NeedsBigProcessLock::Yes)                    \ |     S(recvmsg, NeedsBigProcessLock::Yes)                    \ | ||||||
|     S(rename, NeedsBigProcessLock::Yes)                     \ |     S(rename, NeedsBigProcessLock::Yes)                     \ | ||||||
|     S(rmdir, NeedsBigProcessLock::Yes)                      \ |     S(rmdir, NeedsBigProcessLock::Yes)                      \ | ||||||
|     S(sched_getparam, NeedsBigProcessLock::Yes)             \ |     S(sched_getparam, NeedsBigProcessLock::Yes)             \ | ||||||
|     S(sched_setparam, NeedsBigProcessLock::Yes)             \ |     S(sched_setparam, NeedsBigProcessLock::Yes)             \ | ||||||
|     S(sendfd, NeedsBigProcessLock::Yes)                     \ |     S(sendfd, NeedsBigProcessLock::No)                      \ | ||||||
|     S(sendmsg, NeedsBigProcessLock::Yes)                    \ |     S(sendmsg, NeedsBigProcessLock::Yes)                    \ | ||||||
|     S(set_coredump_metadata, NeedsBigProcessLock::Yes)      \ |     S(set_coredump_metadata, NeedsBigProcessLock::Yes)      \ | ||||||
|     S(set_mmap_name, NeedsBigProcessLock::Yes)              \ |     S(set_mmap_name, NeedsBigProcessLock::Yes)              \ | ||||||
|  |  | ||||||
|  | @ -12,7 +12,7 @@ namespace Kernel { | ||||||
| 
 | 
 | ||||||
| ErrorOr<FlatPtr> Process::sys$sendfd(int sockfd, int fd) | ErrorOr<FlatPtr> Process::sys$sendfd(int sockfd, int fd) | ||||||
| { | { | ||||||
|     VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this) |     VERIFY_NO_PROCESS_BIG_LOCK(this) | ||||||
|     TRY(require_promise(Pledge::sendfd)); |     TRY(require_promise(Pledge::sendfd)); | ||||||
|     auto socket_description = TRY(open_file_description(sockfd)); |     auto socket_description = TRY(open_file_description(sockfd)); | ||||||
|     if (!socket_description->is_socket()) |     if (!socket_description->is_socket()) | ||||||
|  | @ -31,7 +31,7 @@ ErrorOr<FlatPtr> Process::sys$sendfd(int sockfd, int fd) | ||||||
| 
 | 
 | ||||||
| ErrorOr<FlatPtr> Process::sys$recvfd(int sockfd, int options) | ErrorOr<FlatPtr> Process::sys$recvfd(int sockfd, int options) | ||||||
| { | { | ||||||
|     VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this) |     VERIFY_NO_PROCESS_BIG_LOCK(this) | ||||||
|     TRY(require_promise(Pledge::recvfd)); |     TRY(require_promise(Pledge::recvfd)); | ||||||
|     auto socket_description = TRY(open_file_description(sockfd)); |     auto socket_description = TRY(open_file_description(sockfd)); | ||||||
|     if (!socket_description->is_socket()) |     if (!socket_description->is_socket()) | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Andreas Kling
						Andreas Kling