Re: FAILED: patch "[PATCH] tracing: Fix irqs-off tag display in syscall tracing" failed to apply to 3.4-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2013-07-26 at 09:33 +0800, zhangwei(Jovi) wrote:
> On 2013/7/24 5:15, gregkh@xxxxxxxxxxxxxxxxxxx wrote:
> > 
> > The patch below does not apply to the 3.4-stable tree.
> > If someone wants it applied there, or to any other stable or longterm
> > tree, then please email the backport, including the original git commit
> > id to <stable@xxxxxxxxxxxxxxx>.
> > 
> > thanks,
> > 
> > greg k-h
> > 
> > ------------------ original commit in Linus's tree ------------------
> > 
> >>From 11034ae9c20f4057a6127fc965906417978e69b2 Mon Sep 17 00:00:00 2001
> > From: "zhangwei(Jovi)" <jovi.zhangwei@xxxxxxxxxx>
> > Date: Wed, 10 Apr 2013 11:26:23 +0800
> > Subject: [PATCH] tracing: Fix irqs-off tag display in syscall tracing
> 
> Hi Greg,
> 
> The patch already backport to linux-3.4.y and linux-3.0.y as below with one patch.
> Thanks.
> 
> -----------------------------------------------------------------------
> 
> From 1f44654cfbb24c7fa7b6339f5fe51a56181506b0 Mon Sep 17 00:00:00 2001
> From: "zhangwei(Jovi)" <jovi.zhangwei@xxxxxxxxxx>
> Date: Fri, 26 Jul 2013 08:47:14 +0800
> Subject: [PATCH] tracing: Fix irqs-off tag display in syscall tracing
> 
> All syscall tracing irqs-off tags are wrong, the syscall enter entry doesn't
> disable irqs.
[...]
> --- a/kernel/trace/trace_syscalls.c
> +++ b/kernel/trace/trace_syscalls.c
[...]
> @@ -338,6 +344,8 @@ void ftrace_syscall_exit(void *ignore, struct pt_regs *regs, long ret)
>  	struct ring_buffer_event *event;
>  	struct ring_buffer *buffer;
>  	int syscall_nr;
> +	unsigned long irq_flags;
> +	int pc;
> 
>  	syscall_nr = syscall_get_nr(current, regs);
>  	if (syscall_nr < 0)

In this version, irq_flags and pc are not initialised.

> @@ -350,7 +358,8 @@ void ftrace_syscall_exit(void *ignore, struct pt_regs *regs, long ret)
>  		return;
> 
>  	event = trace_current_buffer_lock_reserve(&buffer,
> -			sys_data->exit_event->event.type, sizeof(*entry), 0, 0);
> +			sys_data->exit_event->event.type, sizeof(*entry),
> +			irq_flags, pc);
>  	if (!event)
>  		return;
> 
> @@ -360,7 +369,8 @@ void ftrace_syscall_exit(void *ignore, struct pt_regs *regs, long ret)
> 
>  	if (!filter_current_check_discard(buffer, sys_data->exit_event,
>  					  entry, event))
> -		trace_current_buffer_unlock_commit(buffer, event, 0, 0);
> +		trace_current_buffer_unlock_commit(buffer, event,
> +						   irq_flags, pc);
>  }
> 
>  int reg_event_syscall_enter(struct ftrace_event_call *call)

I backported this to 3.2 as commit
11034ae9c20f4057a6127fc965906417978e69b2.  Doesn't that work?

Ben.

-- 
Ben Hutchings
All extremists should be taken out and shot.

Attachment: signature.asc
Description: This is a digitally signed message part


[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]