mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-10-31 07:59:02 -05:00 
			
		
		
		
	KernelSVC: Assert that condition variable address is aligned to 4 bytes.
This commit is contained in:
		 Fernando Sahmkow
					Fernando Sahmkow
				
			
				
					committed by
					
						 FernandoS27
						FernandoS27
					
				
			
			
				
	
			
			
			 FernandoS27
						FernandoS27
					
				
			
						parent
						
							96b1b144af
						
					
				
				
					commit
					0b72b34d89
				
			| @@ -1608,6 +1608,8 @@ static ResultCode WaitProcessWideKeyAtomic(Core::System& system, VAddr mutex_add | ||||
|         return ERR_INVALID_ADDRESS; | ||||
|     } | ||||
|  | ||||
|     ASSERT(condition_variable_addr == Common::AlignDown(condition_variable_addr, 4)); | ||||
|  | ||||
|     auto* const current_process = system.Kernel().CurrentProcess(); | ||||
|     const auto& handle_table = current_process->GetHandleTable(); | ||||
|     SharedPtr<Thread> thread = handle_table.Get<Thread>(thread_handle); | ||||
| @@ -1639,6 +1641,8 @@ static ResultCode SignalProcessWideKey(Core::System& system, VAddr condition_var | ||||
|     LOG_TRACE(Kernel_SVC, "called, condition_variable_addr=0x{:X}, target=0x{:08X}", | ||||
|               condition_variable_addr, target); | ||||
|  | ||||
|     ASSERT(condition_variable_addr == Common::AlignDown(condition_variable_addr, 4)); | ||||
|  | ||||
|     // Retrieve a list of all threads that are waiting for this condition variable. | ||||
|     std::vector<SharedPtr<Thread>> waiting_threads; | ||||
|     const auto& scheduler = system.GlobalScheduler(); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user