mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-11-01 09:13:37 +00:00 
			
		
		
		
	ACPI / memhotplug: Fix a stale pointer in error path
device->driver_data needs to be cleared when releasing its data, mem_device, in an error path of acpi_memory_device_add(). The function evaluates the _CRS of memory device objects, and fails when it gets an unexpected resource or cannot allocate memory. A kernel crash or data corruption may occur when the kernel accesses the stale pointer. Signed-off-by: Toshi Kani <toshi.kani@hp.com> Reviewed-by: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com> Cc: 2.6.32+ <stable@vger.kernel.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
		
							parent
							
								
									8832f7e43f
								
							
						
					
					
						commit
						d19f503e22
					
				
					 1 changed files with 1 additions and 0 deletions
				
			
		| 
						 | 
					@ -323,6 +323,7 @@ static int acpi_memory_device_add(struct acpi_device *device,
 | 
				
			||||||
	/* Get the range from the _CRS */
 | 
						/* Get the range from the _CRS */
 | 
				
			||||||
	result = acpi_memory_get_device_resources(mem_device);
 | 
						result = acpi_memory_get_device_resources(mem_device);
 | 
				
			||||||
	if (result) {
 | 
						if (result) {
 | 
				
			||||||
 | 
							device->driver_data = NULL;
 | 
				
			||||||
		kfree(mem_device);
 | 
							kfree(mem_device);
 | 
				
			||||||
		return result;
 | 
							return result;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue