Hi all,

We are working on a RHEL5.3 based system but we customized a little bit the kernel by setting the CONFIG_PREEMPT to yes. The kernel is a 2.6.18-168. We are facing an issue with ptrace/utrace which is not setting back the preempt_count to 0 for the process or thread analyzed. With a previous kernel version 2.6.18-8, we did not experiment such a trouble so it is related to patches applied between those two versions.

Any ideas ? What is the best way to analyze and fix this trouble ?

Regards.
Régis

# strace ls
BUG: warning at kernel/ptrace.c:1663/ptrace_report() (Tainted: G     )
[<c0452fa0>] ptrace_report+0xc1/0xef
[<c0453044>] ptrace_report_syscall_exit+0x7/0x9
[<c0452acd>] utrace_report_syscall+0x68/0x1d3
[<c04081c3>] do_syscall_trace+0x5f/0xb1
[<c04051ae>] syscall_exit_work+0x12/0x17
=======================
BUG: scheduling while atomic: ls/0x00000001/2360
[<c0617187>] schedule+0x43/0xa7c
[<c04257a5>] printk+0x18/0x8e
[<c0406265>] show_trace_log_lvl+0x1b/0x20
[<c040676c>] show_trace+0xa/0xc
[<c0406813>] dump_stack+0x15/0x17
[<c045110d>] utrace_quiescent+0xc6/0x219
[<c0452be2>] utrace_report_syscall+0x17d/0x1d3
[<c04081c3>] do_syscall_trace+0x5f/0xb1
[<c04051ae>] syscall_exit_work+0x12/0x17
=======================
BUG: warning at kernel/ptrace.c:1663/ptrace_report() (Tainted: G     )
[<c0452fa0>] ptrace_report+0xc1/0xef
[<c0453088>] ptrace_report_signal+0x39/0x42
[<c04509ad>] report_signal+0x5f/0x127
[<c0451f92>] utrace_get_signal+0x3aa/0x5e2
[<c04257a5>] printk+0x18/0x8e
[<c042f39d>] get_signal_to_deliver+0xec/0x39a
[<c0404726>] do_notify_resume+0x77/0x67a
[<c0617b8d>] schedule+0xa49/0xa7c
[<c04257a5>] printk+0x18/0x8e
[<c040676c>] show_trace+0xa/0xc
[<c0406813>] dump_stack+0x15/0x17
[<c045121c>] utrace_quiescent+0x1d5/0x219
[<c0452be2>] utrace_report_syscall+0x17d/0x1d3
[<c0405156>] work_notifysig+0x13/0x19
=======================
BUG: scheduling while atomic: ls/0x00000001/2360
[<c0617187>] schedule+0x43/0xa7c
[<c0453088>] ptrace_report_signal+0x39/0x42
[<c04509ad>] report_signal+0x5f/0x127
[<c045110d>] utrace_quiescent+0xc6/0x219
[<c04521b4>] utrace_get_signal+0x5cc/0x5e2
[<c04257a5>] printk+0x18/0x8e
[<c042f39d>] get_signal_to_deliver+0xec/0x39a
[<c0404726>] do_notify_resume+0x77/0x67a
[<c0617b8d>] schedule+0xa49/0xa7c
[<c04257a5>] printk+0x18/0x8e
[<c040676c>] show_trace+0xa/0xc
[<c0406813>] dump_stack+0x15/0x17
[<c045121c>] utrace_quiescent+0x1d5/0x219
[<c0452be2>] utrace_report_syscall+0x17d/0x1d3
[<c0405156>] work_notifysig+0x13/0x19
=======================
BUG: warning at kernel/ptrace.c:1663/ptrace_report() (Tainted: G     )
[<c0452fa0>] ptrace_report+0xc1/0xef
[<c0453088>] ptrace_report_signal+0x39/0x42
[<c04509ad>] report_signal+0x5f/0x127
[<c0451f92>] utrace_get_signal+0x3aa/0x5e2
[<c0421cdc>] kick_process+0x48/0x62
[<c042ec08>] specific_send_sig_info+0x8a/0x94
[<c061a5e7>] do_page_fault+0x0/0x5fe
[<c042f39d>] get_signal_to_deliver+0xec/0x39a
[<c061a5e7>] do_page_fault+0x0/0x5fe
[<c0404726>] do_notify_resume+0x77/0x67a
[<c0617b8d>] schedule+0xa49/0xa7c
[<c04257a5>] printk+0x18/0x8e
[<c0404726>] do_notify_resume+0x77/0x67a
[<c0430c5d>] atomic_notifier_call_chain+0x2d/0x46
[<c061abdc>] do_page_fault+0x5f5/0x5fe
[<c045121c>] utrace_quiescent+0x1d5/0x219
[<c0452be2>] utrace_report_syscall+0x17d/0x1d3
[<c061a5e7>] do_page_fault+0x0/0x5fe
[<c0405156>] work_notifysig+0x13/0x19
=======================
BUG: scheduling while atomic: ls/0x00000001/2360
[<c0617187>] schedule+0x43/0xa7c
[<c0453088>] ptrace_report_signal+0x39/0x42
[<c04509ad>] report_signal+0x5f/0x127
[<c045110d>] utrace_quiescent+0xc6/0x219
[<c061a5e7>] do_page_fault+0x0/0x5fe
[<c04521b4>] utrace_get_signal+0x5cc/0x5e2
[<c0421cdc>] kick_process+0x48/0x62
[<c042ec08>] specific_send_sig_info+0x8a/0x94
[<c061a5e7>] do_page_fault+0x0/0x5fe
[<c042f39d>] get_signal_to_deliver+0xec/0x39a
[<c061a5e7>] do_page_fault+0x0/0x5fe
[<c0404726>] do_notify_resume+0x77/0x67a
[<c0617b8d>] schedule+0xa49/0xa7c
[<c04257a5>] printk+0x18/0x8e
[<c0404726>] do_notify_resume+0x77/0x67a
[<c0430c5d>] atomic_notifier_call_chain+0x2d/0x46
[<c061abdc>] do_page_fault+0x5f5/0x5fe
[<c045121c>] utrace_quiescent+0x1d5/0x219
[<c0452be2>] utrace_report_syscall+0x17d/0x1d3
[<c061a5e7>] do_page_fault+0x0/0x5fe
[<c0405156>] work_notifysig+0x13/0x19
=======================
BUG: warning at kernel/ptrace.c:562/ptrace_exit() (Tainted: G     )
[<c04544b3>] ptrace_exit+0x3a/0x198
[<c04277aa>] do_exit+0xfd/0x83b
[<c061a5e7>] do_page_fault+0x0/0x5fe
[<c0427f5e>] sys_exit_group+0x0/0xd
[<c061a5e7>] do_page_fault+0x0/0x5fe
[<c042f623>] get_signal_to_deliver+0x372/0x39a
[<c061a5e7>] do_page_fault+0x0/0x5fe
[<c0404726>] do_notify_resume+0x77/0x67a
[<c0617b8d>] schedule+0xa49/0xa7c
[<c04257a5>] printk+0x18/0x8e
[<c0404726>] do_notify_resume+0x77/0x67a
[<c0430c5d>] atomic_notifier_call_chain+0x2d/0x46
[<c061abdc>] do_page_fault+0x5f5/0x5fe
[<c045121c>] utrace_quiescent+0x1d5/0x219
[<c0452be2>] utrace_report_syscall+0x17d/0x1d3
[<c061a5e7>] do_page_fault+0x0/0x5fe
[<c0405156>] work_notifysig+0x13/0x19
=======================
note: ls[2360] exited with preempt_count 1

--
Régis ODEYE

Kontron Modular Computers SA
150, rue M. Berthelot / ZI Toulon Est / BP 244 / Fr 83078 TOULON Cedex 9
Phone: (33) 4 98 16 34 86           Fax: (33) 4 98 16 34 01
E-mail: regis.od...@kontron.com  Web : www.kontron.com


Reply via email to