mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 16:32:45 +00:00 
			
		
		
		
	Kernel: Mark sys$dup2() as not needing the big lock
This syscall doesn't access any data that was implicitly protected by the big lock.
This commit is contained in:
		
							parent
							
								
									8aad9e7448
								
							
						
					
					
						commit
						d074aae422
					
				
					 2 changed files with 2 additions and 2 deletions
				
			
		|  | @ -62,7 +62,7 @@ enum class NeedsBigProcessLock { | ||||||
|     S(detach_thread, NeedsBigProcessLock::Yes)              \ |     S(detach_thread, NeedsBigProcessLock::Yes)              \ | ||||||
|     S(disown, NeedsBigProcessLock::Yes)                     \ |     S(disown, NeedsBigProcessLock::Yes)                     \ | ||||||
|     S(dump_backtrace, NeedsBigProcessLock::No)              \ |     S(dump_backtrace, NeedsBigProcessLock::No)              \ | ||||||
|     S(dup2, NeedsBigProcessLock::Yes)                       \ |     S(dup2, NeedsBigProcessLock::No)                        \ | ||||||
|     S(emuctl, NeedsBigProcessLock::Yes)                     \ |     S(emuctl, NeedsBigProcessLock::Yes)                     \ | ||||||
|     S(execve, NeedsBigProcessLock::Yes)                     \ |     S(execve, NeedsBigProcessLock::Yes)                     \ | ||||||
|     S(exit, NeedsBigProcessLock::Yes)                       \ |     S(exit, NeedsBigProcessLock::Yes)                       \ | ||||||
|  |  | ||||||
|  | @ -11,7 +11,7 @@ namespace Kernel { | ||||||
| 
 | 
 | ||||||
| ErrorOr<FlatPtr> Process::sys$dup2(int old_fd, int new_fd) | ErrorOr<FlatPtr> Process::sys$dup2(int old_fd, int new_fd) | ||||||
| { | { | ||||||
|     VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this); |     VERIFY_NO_PROCESS_BIG_LOCK(this); | ||||||
|     TRY(require_promise(Pledge::stdio)); |     TRY(require_promise(Pledge::stdio)); | ||||||
|     return m_fds.with_exclusive([&](auto& fds) -> ErrorOr<FlatPtr> { |     return m_fds.with_exclusive([&](auto& fds) -> ErrorOr<FlatPtr> { | ||||||
|         auto description = TRY(fds.open_file_description(old_fd)); |         auto description = TRY(fds.open_file_description(old_fd)); | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Andreas Kling
						Andreas Kling