mirror of
				https://github.com/FreeRTOS/FreeRTOS-Kernel.git
				synced 2025-11-04 11:09:01 +01:00 
			
		
		
		
	Add missing stack alignment adjustment if stack grows upwards (#751)
Signed-off-by: Chien Wong <m@xv97.com> Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>
This commit is contained in:
		
							parent
							
								
									bd720c316a
								
							
						
					
					
						commit
						b1a85116bd
					
				
							
								
								
									
										5
									
								
								tasks.c
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								tasks.c
									
									
									
									
									
								
							@ -1532,9 +1532,10 @@ static void prvInitialiseNewTask( TaskFunction_t pxTaskCode,
 | 
			
		||||
    #else /* portSTACK_GROWTH */
 | 
			
		||||
    {
 | 
			
		||||
        pxTopOfStack = pxNewTCB->pxStack;
 | 
			
		||||
        pxTopOfStack = ( StackType_t * ) ( ( ( ( portPOINTER_SIZE_TYPE ) pxTopOfStack ) + portBYTE_ALIGNMENT_MASK ) & ( ~( ( portPOINTER_SIZE_TYPE ) portBYTE_ALIGNMENT_MASK ) ) ); /*lint !e923 !e9033 !e9078 MISRA exception.  Avoiding casts between pointers and integers is not practical.  Size differences accounted for using portPOINTER_SIZE_TYPE type.  Checked by assert(). */
 | 
			
		||||
 | 
			
		||||
        /* Check the alignment of the stack buffer is correct. */
 | 
			
		||||
        configASSERT( ( ( ( portPOINTER_SIZE_TYPE ) pxNewTCB->pxStack & ( portPOINTER_SIZE_TYPE ) portBYTE_ALIGNMENT_MASK ) == 0UL ) );
 | 
			
		||||
        /* Check the alignment of the calculated top of stack is correct. */
 | 
			
		||||
        configASSERT( ( ( ( portPOINTER_SIZE_TYPE ) pxTopOfStack & ( portPOINTER_SIZE_TYPE ) portBYTE_ALIGNMENT_MASK ) == 0UL ) );
 | 
			
		||||
 | 
			
		||||
        /* The other extreme of the stack space is required if stack checking is
 | 
			
		||||
         * performed. */
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user