mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	powerpc/prom: Remove VLA in prom_check_platform_support()
In prom_check_platform_support() we retrieve and parse the "ibm,arch-vec-5-platform-support" property of the chosen node. Currently we use a variable length array however to avoid this use an array of constant length 8. This property is used to indicate the supported options of vector 5 bytes 23-26 of the ibm,architecture.vec node. Each of these options is a pair of bytes, thus for 4 options we have a max length of 8 bytes. Signed-off-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com> Reviewed-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
		
							parent
							
								
									e00d93ac9a
								
							
						
					
					
						commit
						ab91239942
					
				
					 1 changed files with 5 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -1131,12 +1131,15 @@ static void __init prom_check_platform_support(void)
 | 
			
		|||
				       "ibm,arch-vec-5-platform-support");
 | 
			
		||||
	if (prop_len > 1) {
 | 
			
		||||
		int i;
 | 
			
		||||
		u8 vec[prop_len];
 | 
			
		||||
		u8 vec[8];
 | 
			
		||||
		prom_debug("Found ibm,arch-vec-5-platform-support, len: %d\n",
 | 
			
		||||
			   prop_len);
 | 
			
		||||
		if (prop_len > sizeof(vec))
 | 
			
		||||
			prom_printf("WARNING: ibm,arch-vec-5-platform-support longer than expected (len: %d)\n",
 | 
			
		||||
				    prop_len);
 | 
			
		||||
		prom_getprop(prom.chosen, "ibm,arch-vec-5-platform-support",
 | 
			
		||||
			     &vec, sizeof(vec));
 | 
			
		||||
		for (i = 0; i < prop_len; i += 2) {
 | 
			
		||||
		for (i = 0; i < sizeof(vec); i += 2) {
 | 
			
		||||
			prom_debug("%d: index = 0x%x val = 0x%x\n", i / 2
 | 
			
		||||
								  , vec[i]
 | 
			
		||||
								  , vec[i + 1]);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue