ftrace: allow NULL pointers in mcount_loc
Impact: make ftrace_convert_nops() more permissive Due to the way different architecture linkers combine the data sections of the mcount_loc (the section that lists all the locations that call mcount), there may be zeros added in that section. This is usually due to strange alignments that the linker performs, that pads in zeros. This patch makes the conversion code to nops skip any pointer in the mcount_loc section that is NULL. Signed-off-by: Steven Rostedt <srostedt@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
		
							parent
							
								
									31e889098a
								
							
						
					
					
						commit
						20e5227e9f
					
				| @ -1304,6 +1304,14 @@ static int ftrace_convert_nops(struct module *mod, | ||||
| 	p = start; | ||||
| 	while (p < end) { | ||||
| 		addr = ftrace_call_adjust(*p++); | ||||
| 		/*
 | ||||
| 		 * Some architecture linkers will pad between | ||||
| 		 * the different mcount_loc sections of different | ||||
| 		 * object files to satisfy alignments. | ||||
| 		 * Skip any NULL pointers. | ||||
| 		 */ | ||||
| 		if (!addr) | ||||
| 			continue; | ||||
| 		ftrace_record_ip(addr); | ||||
| 	} | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user