All of lore.kernel.org
 help / color / mirror / Atom feed
From: Masami Hiramatsu <mhiramat@redhat.com>
To: Ingo Molnar <mingo@elte.hu>,
	Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>,
	Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Cc: LKML <linux-kernel@vger.kernel.org>,
	systemtap-ml <systemtap@sources.redhat.com>
Subject: [BUG][-tip] kprobes on module functions hits kernel BUG in text_poke on x86-32
Date: Sat, 04 Apr 2009 10:34:39 -0400	[thread overview]
Message-ID: <49D76FFF.6020202@redhat.com> (raw)

Hi,

I found text_poke() problem on x86-32 with the latest-tip tree.
When I put a kprobe on a module function, text_poke() hit a BUG.

This bug can be reproduced on x86-32, but not on x86-64.
And inserting kprobes on a kernel-core function is OK.

Thank you,

------------[ cut here ]------------
kernel BUG at /home/mhiramat/ksrc/linux-2.6-tip/arch/x86/kernel/alternative.c:543!
invalid opcode: 0000 [#1] SMP DEBUG_PAGEALLOC
last sysfs file: /sys/devices/pci0000:00/0000:00:03.0/0000:02:00.0/net/eth0/broadcast
Modules linked in: probe_bench(+) netconsole configfs sunrpc ipt_REJECT nf_conntrack_ipv4 nf_defrag_ipv4 xt_state
nf_conntrack iptable_filter ip_tables ip6table_filter ip6_tables ipv6 cpufreq_ondemand powernow_k8 dm_mirror
dm_region_hash dm_log dm_multipath uinput snd_hda_codec_idt snd_hda_intel snd_hda_codec snd_hwdep snd_seq_dummy
snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd soundcore dcdbas
i2c_nforce2 pcspkr tg3 snd_page_alloc rtc_cmos rtc_core i2c_core libphy rtc_lib ata_generic pata_acpi sata_nv [last
unloaded: scsi_wait_scan]

Pid: 5411, comm: insmod Not tainted (2.6.29-tip #8) OptiPlex 740
EIP: 0060:[<c06e97ef>] EFLAGS: 00210893 CPU: 0
EIP is at text_poke+0x168/0x1a4
EAX: 00040f55 EBX: 00020800 ECX: f45d8f03 EDX: 00000000
ESI: f45d8f04 EDI: ffc58001 EBP: f45d8ef8 ESP: f45d8ed8
 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
Process insmod (pid: 5411, ti=f45d8000 task=f4490000 task.ti=f45d8000)
Stack:
 00000001 f45d8f03 f8464000 00200286 00000000 00000000 00000000 f846492c
 f45d8f04 c06ea30d cc46492c f45d8f30 c06eb4bb 000000d8 f8464934 f84647e4
 f84647e4 00936fc0 f45d8f30 f84647e4 fffffffc 00936fc0 f45d8f40 f8464110
Call Trace:
 [<f8464000>] ? dummy_function+0x0/0xb [probe_bench]
 [<c06ea30d>] ? arch_arm_kprobe+0x1a/0x1c
 [<c06eb4bb>] ? register_kprobe+0x3b8/0x40a
 [<f8464110>] ? install_probe+0x31/0x13d [probe_bench]
 [<c040304f>] ? do_one_initcall+0x4a/0x11a
 [<f84640df>] ? install_probe+0x0/0x13d [probe_bench]
 [<c044b8fe>] ? up_read+0x16/0x2c
 [<c044c14e>] ? __blocking_notifier_call_chain+0x40/0x4c
 [<c045e5e4>] ? sys_init_module+0x89/0x18c
 [<c0407b44>] ? sysenter_do_call+0x12/0x38
Code: 00 00 6a 00 ff 15 04 83 85 c0 58 5a e8 86 82 d3 ff 90 b8 01 00 00 00 0f a2 31 d2 eb 13 8b 4d e8 8a 04 11 8b 4d e4
3a 04 11 74 04 <0f> 0b eb fe 42 3b 55 e0 72 e8 f7 45 ec 00 02 00 00 75 10 8b 45
EIP: [<c06e97ef>] text_poke+0x168/0x1a4 SS:ESP 0068:f45d8ed8
---[ end trace 12f1ca8c7f7964a0 ]---
Kernel panic - not syncing: Fatal exception
Pid: 5411, comm: insmod Tainted: G      D    2.6.29-tip #8
Call Trace:
 [<c06e6081>] ? printk+0xf/0x16
 [<c06e5fc8>] panic+0x39/0xe3
 [<c06e9526>] oops_end+0x96/0xa5
 [<c040a486>] die+0x54/0x5a
 [<c06e8e43>] do_trap+0x89/0xa2
 [<c0408bbe>] ? do_invalid_op+0x0/0x7b
 [<c0408c2f>] do_invalid_op+0x71/0x7b
 [<c06e97ef>] ? text_poke+0x168/0x1a4
 [<c045567d>] ? mark_lock+0x1e/0x1e0
 [<c042672c>] ? set_pte_vaddr+0xac/0xcf
 [<c054d6fc>] ? trace_hardirqs_off_thunk+0xc/0x10
 [<c06e8bfa>] error_code+0x72/0x78
 [<c0408bbe>] ? do_invalid_op+0x0/0x7b
 [<c06e97ef>] ? text_poke+0x168/0x1a4
 [<f8464000>] ? dummy_function+0x0/0xb [probe_bench]
 [<c06ea30d>] arch_arm_kprobe+0x1a/0x1c
 [<c06eb4bb>] register_kprobe+0x3b8/0x40a
 [<f8464110>] install_probe+0x31/0x13d [probe_bench]
 [<c040304f>] do_one_initcall+0x4a/0x11a
 [<f84640df>] ? install_probe+0x0/0x13d [probe_bench]
 [<c044b8fe>] ? up_read+0x16/0x2c
 [<c044c14e>] ? __blocking_notifier_call_chain+0x40/0x4c
 [<c045e5e4>] sys_init_module+0x89/0x18c
 [<c0407b44>] sysenter_do_call+0x12/0x38
Rebooting in 5 seconds..

-- 
Masami Hiramatsu

Software Engineer
Hitachi Computer Products (America) Inc.
Software Solutions Division

e-mail: mhiramat@redhat.com



             reply	other threads:[~2009-04-04 14:34 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-04 14:34 Masami Hiramatsu [this message]
2009-04-04 15:42 ` [BUG][-tip] kprobes on module functions hits kernel BUG in text_poke on x86-32 Mathieu Desnoyers
2009-04-04 18:28   ` Masami Hiramatsu
2009-04-04 19:04     ` Masami Hiramatsu
2009-04-05  3:46       ` Masami Hiramatsu
2009-04-05  3:49         ` Masami Hiramatsu
2009-04-06 17:11         ` [BUGFIX][PATCH -tip] x86: fix text_poke to handle highmem pages Masami Hiramatsu
2009-04-06 17:32           ` Mathieu Desnoyers
2009-04-06 17:44             ` Masami Hiramatsu
2009-04-06 17:58               ` Mathieu Desnoyers
2009-04-06 20:23                 ` Masami Hiramatsu
2009-04-08 12:31           ` Ingo Molnar
2009-04-08 14:57             ` Masami Hiramatsu
2009-04-08 14:59               ` Ingo Molnar
2009-04-09 17:55                 ` [BUGFIX][PATCH] x86: fix set_fixmap to use phys_addr_t Masami Hiramatsu
2009-04-09 18:46                   ` Mathieu Desnoyers
2009-04-09 21:52                     ` Masami Hiramatsu
2009-04-10 14:06                   ` [tip:x86/urgent] " Masami Hiramatsu
2009-04-10 15:20                     ` Masami Hiramatsu
2009-04-10 16:05                       ` Mathieu Desnoyers
2009-04-10 17:48                         ` Masami Hiramatsu
2009-04-10 18:30                   ` Masami Hiramatsu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=49D76FFF.6020202@redhat.com \
    --to=mhiramat@redhat.com \
    --cc=ananth@in.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mathieu.desnoyers@polymtl.ca \
    --cc=mingo@elte.hu \
    --cc=systemtap@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.