mirror of
				https://github.com/torvalds/linux.git
				synced 2025-10-31 16:48:26 +02:00 
			
		
		
		
	modpost: fix null pointer dereference
If the find_fromsym() call fails and returns NULL, the warn() call will dereference this NULL pointer and cause the program to crash. This happened when I tried to build with "test_user_copy" module. With this fix, it prints lots of warnings like this: WARNING: modpost: lib/test_user_copy: section mismatch in reference: (unknown)+0x4 (section: .text.fixup) -> (unknown) (section: .init.text) masahiroy@kernel.org: The issue is reproduced with ARCH=arm allnoconfig + CONFIG_MODULES=y + CONFIG_RUNTIME_TESTING_MENU=y + CONFIG_TEST_USER_COPY=m Signed-off-by: Max Kellermann <max.kellermann@ionos.com> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
This commit is contained in:
		
							parent
							
								
									44929bface
								
							
						
					
					
						commit
						23dfd914d2
					
				
					 1 changed files with 3 additions and 1 deletions
				
			
		|  | @ -1050,7 +1050,9 @@ static void default_mismatch_handler(const char *modname, struct elf_info *elf, | |||
| 	sec_mismatch_count++; | ||||
| 
 | ||||
| 	warn("%s: section mismatch in reference: %s+0x%x (section: %s) -> %s (section: %s)\n", | ||||
| 	     modname, fromsym, (unsigned int)(faddr - from->st_value), fromsec, tosym, tosec); | ||||
| 	     modname, fromsym, | ||||
| 	     (unsigned int)(faddr - (from ? from->st_value : 0)), | ||||
| 	     fromsec, tosym, tosec); | ||||
| 
 | ||||
| 	if (mismatch->mismatch == EXTABLE_TO_NON_TEXT) { | ||||
| 		if (match(tosec, mismatch->bad_tosec)) | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Max Kellermann
						Max Kellermann