On 2013/7/29 5:37, Ben Hutchings wrote: > 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. > Sorry, I screwed up. Since it's a bit too late to change for linux-3.0.y and linux-3.4.y, I will make a new patch based on new 3.0 and 3.4 stable release. Thanks Ben. jovi. -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html