diff options
| author | Dmitry Torokhov <[email protected]> | 2023-05-01 15:20:08 -0700 | 
|---|---|---|
| committer | Dmitry Torokhov <[email protected]> | 2023-05-01 15:20:08 -0700 | 
| commit | 9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e (patch) | |
| tree | d57f3a63479a07b4e0cece029886e76e04feb984 /kernel/trace/trace_uprobe.c | |
| parent | 5dc63e56a9cf8df0b59c234a505a1653f1bdf885 (diff) | |
| parent | 53bea86b5712c7491bb3dae12e271666df0a308c (diff) | |
Merge branch 'next' into for-linus
Prepare input updates for 6.4 merge window.
Diffstat (limited to 'kernel/trace/trace_uprobe.c')
| -rw-r--r-- | kernel/trace/trace_uprobe.c | 13 | 
1 files changed, 5 insertions, 8 deletions
diff --git a/kernel/trace/trace_uprobe.c b/kernel/trace/trace_uprobe.c index 8d64b6553aed..8b92e34ff0c8 100644 --- a/kernel/trace/trace_uprobe.c +++ b/kernel/trace/trace_uprobe.c @@ -220,6 +220,7 @@ process_fetch_insn(struct fetch_insn *code, void *rec, void *dest,  {  	struct pt_regs *regs = rec;  	unsigned long val; +	int ret;  	/* 1st stage: get value from context */  	switch (code->op) { @@ -235,20 +236,16 @@ process_fetch_insn(struct fetch_insn *code, void *rec, void *dest,  	case FETCH_OP_RETVAL:  		val = regs_return_value(regs);  		break; -	case FETCH_OP_IMM: -		val = code->immediate; -		break;  	case FETCH_OP_COMM:  		val = FETCH_TOKEN_COMM;  		break; -	case FETCH_OP_DATA: -		val = (unsigned long)code->data; -		break;  	case FETCH_OP_FOFFS:  		val = translate_user_vaddr(code->immediate);  		break;  	default: -		return -EILSEQ; +		ret = process_common_fetch_insn(code, &val); +		if (ret < 0) +			return ret;  	}  	code++; @@ -1042,7 +1039,7 @@ print_uprobe_event(struct trace_iterator *iter, int flags, struct trace_event *e  		data = DATAOF_TRACE_ENTRY(entry, false);  	} -	if (print_probe_args(s, tu->tp.args, tu->tp.nr_args, data, entry) < 0) +	if (trace_probe_print_args(s, tu->tp.args, tu->tp.nr_args, data, entry) < 0)  		goto out;  	trace_seq_putc(s, '\n');  |