ftrace: Remove FTRACE_UPDATE_MODIFY_CALL_REGS flag
As the decision to what needs to be done (converting a call to the ftrace_caller to ftrace_caller_regs or to convert from ftrace_caller_regs to ftrace_caller) can easily be determined from the rec->flags of FTRACE_FL_REGS and FTRACE_FL_REGS_EN, there's no need to have the ftrace_check_record() return either a UPDATE_MODIFY_CALL_REGS or a UPDATE_MODIFY_CALL. Just he latter is enough. This added flag causes more complexity than is required. Remove it. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
This commit is contained in:
		
					parent
					
						
							
								7c0868e03b
							
						
					
				
			
			
				commit
				
					
						f1b2f2bd58
					
				
			
		
					 3 changed files with 4 additions and 14 deletions
				
			
		| 
						 | 
				
			
			@ -366,7 +366,6 @@ static int add_breakpoints(struct dyn_ftrace *rec, int enable)
 | 
			
		|||
		/* converting nop to call */
 | 
			
		||||
		return add_brk_on_nop(rec);
 | 
			
		||||
 | 
			
		||||
	case FTRACE_UPDATE_MODIFY_CALL_REGS:
 | 
			
		||||
	case FTRACE_UPDATE_MODIFY_CALL:
 | 
			
		||||
	case FTRACE_UPDATE_MAKE_NOP:
 | 
			
		||||
		/* converting a call to a nop */
 | 
			
		||||
| 
						 | 
				
			
			@ -469,7 +468,6 @@ static int add_update(struct dyn_ftrace *rec, int enable)
 | 
			
		|||
	case FTRACE_UPDATE_IGNORE:
 | 
			
		||||
		return 0;
 | 
			
		||||
 | 
			
		||||
	case FTRACE_UPDATE_MODIFY_CALL_REGS:
 | 
			
		||||
	case FTRACE_UPDATE_MODIFY_CALL:
 | 
			
		||||
	case FTRACE_UPDATE_MAKE_CALL:
 | 
			
		||||
		/* converting nop to call */
 | 
			
		||||
| 
						 | 
				
			
			@ -516,7 +514,6 @@ static int finish_update(struct dyn_ftrace *rec, int enable)
 | 
			
		|||
	case FTRACE_UPDATE_IGNORE:
 | 
			
		||||
		return 0;
 | 
			
		||||
 | 
			
		||||
	case FTRACE_UPDATE_MODIFY_CALL_REGS:
 | 
			
		||||
	case FTRACE_UPDATE_MODIFY_CALL:
 | 
			
		||||
	case FTRACE_UPDATE_MAKE_CALL:
 | 
			
		||||
		/* converting nop to call */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -362,14 +362,12 @@ enum {
 | 
			
		|||
 *  IGNORE           - The function is already what we want it to be
 | 
			
		||||
 *  MAKE_CALL        - Start tracing the function
 | 
			
		||||
 *  MODIFY_CALL      - Stop saving regs for the function
 | 
			
		||||
 *  MODIFY_CALL_REGS - Start saving regs for the function
 | 
			
		||||
 *  MAKE_NOP         - Stop tracing the function
 | 
			
		||||
 */
 | 
			
		||||
enum {
 | 
			
		||||
	FTRACE_UPDATE_IGNORE,
 | 
			
		||||
	FTRACE_UPDATE_MAKE_CALL,
 | 
			
		||||
	FTRACE_UPDATE_MODIFY_CALL,
 | 
			
		||||
	FTRACE_UPDATE_MODIFY_CALL_REGS,
 | 
			
		||||
	FTRACE_UPDATE_MAKE_NOP,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1701,18 +1701,14 @@ static int ftrace_check_record(struct dyn_ftrace *rec, int enable, int update)
 | 
			
		|||
		/*
 | 
			
		||||
		 * If this record is being updated from a nop, then
 | 
			
		||||
		 *   return UPDATE_MAKE_CALL.
 | 
			
		||||
		 * Otherwise, if the EN flag is set, then return
 | 
			
		||||
		 *   UPDATE_MODIFY_CALL_REGS to tell the caller to convert
 | 
			
		||||
		 *   from the non-save regs, to a save regs function.
 | 
			
		||||
		 * Otherwise,
 | 
			
		||||
		 *   return UPDATE_MODIFY_CALL to tell the caller to convert
 | 
			
		||||
		 *   from the save regs, to a non-save regs function.
 | 
			
		||||
		 *   from the save regs, to a non-save regs function or
 | 
			
		||||
		 *   vice versa.
 | 
			
		||||
		 */
 | 
			
		||||
		if (flag & FTRACE_FL_ENABLED)
 | 
			
		||||
			return FTRACE_UPDATE_MAKE_CALL;
 | 
			
		||||
		else if (rec->flags & FTRACE_FL_REGS_EN)
 | 
			
		||||
			return FTRACE_UPDATE_MODIFY_CALL_REGS;
 | 
			
		||||
		else
 | 
			
		||||
 | 
			
		||||
		return FTRACE_UPDATE_MODIFY_CALL;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1815,7 +1811,6 @@ __ftrace_replace_code(struct dyn_ftrace *rec, int enable)
 | 
			
		|||
	case FTRACE_UPDATE_MAKE_NOP:
 | 
			
		||||
		return ftrace_make_nop(NULL, rec, ftrace_addr);
 | 
			
		||||
 | 
			
		||||
	case FTRACE_UPDATE_MODIFY_CALL_REGS:
 | 
			
		||||
	case FTRACE_UPDATE_MODIFY_CALL:
 | 
			
		||||
		return ftrace_modify_call(rec, ftrace_old_addr, ftrace_addr);
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue