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 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




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