<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/kernel/kprobes.c, branch v2.6.31</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>kprobes: Use kernel_text_address() for checking probe address</title>
<updated>2009-07-30T23:44:06+00:00</updated>
<author>
<name>Masami Hiramatsu</name>
<email>mhiramat@redhat.com</email>
</author>
<published>2009-07-28T23:47:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ec30c5f3a18722f8fcf8c83146a10b03ac4d9ff1'/>
<id>ec30c5f3a18722f8fcf8c83146a10b03ac4d9ff1</id>
<content type='text'>
Use kernel_text_address() for checking probe address instead of
__kernel_text_address(), because __kernel_text_address() returns true
for init functions even after relaseing those functions.

That will hit a BUG() in text_poke().

Signed-off-by: Masami Hiramatsu &lt;mhiramat@redhat.com&gt;
Cc: Ananth N Mavinakayanahalli &lt;ananth@in.ibm.com&gt;
Cc: Jim Keniston &lt;jkenisto@us.ibm.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use kernel_text_address() for checking probe address instead of
__kernel_text_address(), because __kernel_text_address() returns true
for init functions even after relaseing those functions.

That will hit a BUG() in text_poke().

Signed-off-by: Masami Hiramatsu &lt;mhiramat@redhat.com&gt;
Cc: Ananth N Mavinakayanahalli &lt;ananth@in.ibm.com&gt;
Cc: Jim Keniston &lt;jkenisto@us.ibm.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>kprobes: No need to unlock kprobe_insn_mutex</title>
<updated>2009-07-01T08:43:07+00:00</updated>
<author>
<name>Masami Hiramatsu</name>
<email>mhiramat@redhat.com</email>
</author>
<published>2009-06-30T21:08:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4a2bb6fcc80e6330ca2f2393e98605052cc7780b'/>
<id>4a2bb6fcc80e6330ca2f2393e98605052cc7780b</id>
<content type='text'>
Remove needless kprobe_insn_mutex unlocking during safety check
in garbage collection, because if someone releases a dirty slot
during safety check (which ensures other cpus doesn't execute
all dirty slots), the safety check must be fail. So, we need to
hold the mutex while checking safety.

Signed-off-by: Masami Hiramatsu &lt;mhiramat@redhat.com&gt;
Cc: Ananth N Mavinakayanahalli &lt;ananth@in.ibm.com&gt;
Cc: Jim Keniston &lt;jkenisto@us.ibm.com&gt;
Cc: Ananth N Mavinakayanahalli &lt;ananth@in.ibm.com&gt;
LKML-Reference: &lt;20090630210809.17851.28781.stgit@localhost.localdomain&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove needless kprobe_insn_mutex unlocking during safety check
in garbage collection, because if someone releases a dirty slot
during safety check (which ensures other cpus doesn't execute
all dirty slots), the safety check must be fail. So, we need to
hold the mutex while checking safety.

Signed-off-by: Masami Hiramatsu &lt;mhiramat@redhat.com&gt;
Cc: Ananth N Mavinakayanahalli &lt;ananth@in.ibm.com&gt;
Cc: Jim Keniston &lt;jkenisto@us.ibm.com&gt;
Cc: Ananth N Mavinakayanahalli &lt;ananth@in.ibm.com&gt;
LKML-Reference: &lt;20090630210809.17851.28781.stgit@localhost.localdomain&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>kprobes: fix to use text_mutex around arm/disarm kprobe</title>
<updated>2009-05-08T23:23:48+00:00</updated>
<author>
<name>Masami Hiramatsu</name>
<email>mhiramat@redhat.com</email>
</author>
<published>2009-05-07T20:31:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=201517a7f3ec497fff545a7659c6c876f89f9054'/>
<id>201517a7f3ec497fff545a7659c6c876f89f9054</id>
<content type='text'>
Fix kprobes to lock text_mutex around some arch_arm/disarm_kprobe() which
are newly added by commit de5bd88d5a5cce3cacea904d3503e5ebdb3852a2.

Signed-off-by: Masami Hiramatsu &lt;mhiramat@redhat.com&gt;
Acked-by: Ananth N Mavinakayanahalli &lt;ananth@in.ibm.com&gt;
Cc: Mathieu Desnoyers &lt;mathieu.desnoyers@polymtl.ca&gt;
Cc: Jim Keniston &lt;jkenisto@us.ibm.com&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix kprobes to lock text_mutex around some arch_arm/disarm_kprobe() which
are newly added by commit de5bd88d5a5cce3cacea904d3503e5ebdb3852a2.

Signed-off-by: Masami Hiramatsu &lt;mhiramat@redhat.com&gt;
Acked-by: Ananth N Mavinakayanahalli &lt;ananth@in.ibm.com&gt;
Cc: Mathieu Desnoyers &lt;mathieu.desnoyers@polymtl.ca&gt;
Cc: Jim Keniston &lt;jkenisto@us.ibm.com&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>kprobes: support per-kprobe disabling</title>
<updated>2009-04-07T15:31:08+00:00</updated>
<author>
<name>Masami Hiramatsu</name>
<email>mhiramat@redhat.com</email>
</author>
<published>2009-04-07T02:01:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=de5bd88d5a5cce3cacea904d3503e5ebdb3852a2'/>
<id>de5bd88d5a5cce3cacea904d3503e5ebdb3852a2</id>
<content type='text'>
Add disable_kprobe() and enable_kprobe() to disable/enable kprobes
temporarily.

disable_kprobe() asynchronously disables probe handlers of specified
kprobe.  So, after calling it, some handlers can be called at a while.
enable_kprobe() enables specified kprobe.

aggr_pre_handler and aggr_post_handler check disabled probes.  On the
other hand aggr_break_handler and aggr_fault_handler don't check it
because these handlers will be called while executing pre or post handlers
and usually those help error handling.

Signed-off-by: Masami Hiramatsu &lt;mhiramat@redhat.com&gt;
Acked-by: Ananth N Mavinakayanahalli &lt;ananth@in.ibm.com&gt;
Cc: Anil S Keshavamurthy &lt;anil.s.keshavamurthy@intel.com&gt;
Cc: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add disable_kprobe() and enable_kprobe() to disable/enable kprobes
temporarily.

disable_kprobe() asynchronously disables probe handlers of specified
kprobe.  So, after calling it, some handlers can be called at a while.
enable_kprobe() enables specified kprobe.

aggr_pre_handler and aggr_post_handler check disabled probes.  On the
other hand aggr_break_handler and aggr_fault_handler don't check it
because these handlers will be called while executing pre or post handlers
and usually those help error handling.

Signed-off-by: Masami Hiramatsu &lt;mhiramat@redhat.com&gt;
Acked-by: Ananth N Mavinakayanahalli &lt;ananth@in.ibm.com&gt;
Cc: Anil S Keshavamurthy &lt;anil.s.keshavamurthy@intel.com&gt;
Cc: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>kprobes: rename kprobe_enabled to kprobes_all_disarmed</title>
<updated>2009-04-07T15:31:08+00:00</updated>
<author>
<name>Masami Hiramatsu</name>
<email>mhiramat@redhat.com</email>
</author>
<published>2009-04-07T02:01:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e579abeb58eb4b8d7321c6eb44dd9e2d0cbaebaa'/>
<id>e579abeb58eb4b8d7321c6eb44dd9e2d0cbaebaa</id>
<content type='text'>
Rename kprobe_enabled to kprobes_all_disarmed and invert logic due to
avoiding naming confusion from per-probe disabling.

Signed-off-by: Masami Hiramatsu &lt;mhiramat@redhat.com&gt;
Acked-by: Ananth N Mavinakayanahalli &lt;ananth@in.ibm.com&gt;
Cc: Anil S Keshavamurthy &lt;anil.s.keshavamurthy@intel.com&gt;
Cc: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rename kprobe_enabled to kprobes_all_disarmed and invert logic due to
avoiding naming confusion from per-probe disabling.

Signed-off-by: Masami Hiramatsu &lt;mhiramat@redhat.com&gt;
Acked-by: Ananth N Mavinakayanahalli &lt;ananth@in.ibm.com&gt;
Cc: Anil S Keshavamurthy &lt;anil.s.keshavamurthy@intel.com&gt;
Cc: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>kprobes: move EXPORT_SYMBOL_GPL just after function definitions</title>
<updated>2009-04-07T15:31:08+00:00</updated>
<author>
<name>Masami Hiramatsu</name>
<email>mhiramat@redhat.com</email>
</author>
<published>2009-04-07T02:00:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=99081ab553d6a88dd6b3774af5eef94dbb8faad7'/>
<id>99081ab553d6a88dd6b3774af5eef94dbb8faad7</id>
<content type='text'>
Clean up positions of EXPORT_SYMBOL_GPL in kernel/kprobes.c according to
checkpatch.pl.

Signed-off-by: Masami Hiramatsu &lt;mhiramat@redhat.com&gt;
Acked-by: Ananth N Mavinakayanahalli &lt;ananth@in.ibm.com&gt;
Cc: Anil S Keshavamurthy &lt;anil.s.keshavamurthy@intel.com&gt;
Cc: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Clean up positions of EXPORT_SYMBOL_GPL in kernel/kprobes.c according to
checkpatch.pl.

Signed-off-by: Masami Hiramatsu &lt;mhiramat@redhat.com&gt;
Acked-by: Ananth N Mavinakayanahalli &lt;ananth@in.ibm.com&gt;
Cc: Anil S Keshavamurthy &lt;anil.s.keshavamurthy@intel.com&gt;
Cc: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>kprobes: cleanup aggr_kprobe related code</title>
<updated>2009-04-07T15:31:07+00:00</updated>
<author>
<name>Masami Hiramatsu</name>
<email>mhiramat@redhat.com</email>
</author>
<published>2009-04-07T02:00:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b918e5e60d775549478e4268155142156a95aa17'/>
<id>b918e5e60d775549478e4268155142156a95aa17</id>
<content type='text'>
Currently, kprobes can disable all probes at once, but can't disable it
individually (not unregister, just disable an kprobe, because
unregistering needs to wait for scheduler synchronization).  These patches
introduce APIs for on-the-fly per-probe disabling and re-enabling by
dis-arming/re-arming its breakpoint instruction.

This patch:

Change old_p to ap in add_new_kprobe() for readability, copy flags member
in add_aggr_kprobe(), and simplify the code flow of
register_aggr_kprobe().

Signed-off-by: Masami Hiramatsu &lt;mhiramat@redhat.com&gt;
Acked-by: Ananth N Mavinakayanahalli &lt;ananth@in.ibm.com&gt;
Cc: Anil S Keshavamurthy &lt;anil.s.keshavamurthy@intel.com&gt;
Cc: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently, kprobes can disable all probes at once, but can't disable it
individually (not unregister, just disable an kprobe, because
unregistering needs to wait for scheduler synchronization).  These patches
introduce APIs for on-the-fly per-probe disabling and re-enabling by
dis-arming/re-arming its breakpoint instruction.

This patch:

Change old_p to ap in add_new_kprobe() for readability, copy flags member
in add_aggr_kprobe(), and simplify the code flow of
register_aggr_kprobe().

Signed-off-by: Masami Hiramatsu &lt;mhiramat@redhat.com&gt;
Acked-by: Ananth N Mavinakayanahalli &lt;ananth@in.ibm.com&gt;
Cc: Anil S Keshavamurthy &lt;anil.s.keshavamurthy@intel.com&gt;
Cc: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>kprobes: Fix locking imbalance in kretprobes</title>
<updated>2009-03-18T11:51:16+00:00</updated>
<author>
<name>Ananth N Mavinakayanahalli</name>
<email>ananth@in.ibm.com</email>
</author>
<published>2009-03-18T11:36:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f02b8624fedca39886b0eef770dca70c2f0749b3'/>
<id>f02b8624fedca39886b0eef770dca70c2f0749b3</id>
<content type='text'>
Fix locking imbalance in kretprobes:

=====================================
[ BUG: bad unlock balance detected! ]
-------------------------------------
kthreadd/2 is trying to release lock (&amp;rp-&gt;lock) at:
[&lt;c06b3080&gt;] pre_handler_kretprobe+0xea/0xf4
but there are no more locks to release!

other info that might help us debug this:
1 lock held by kthreadd/2:
 #0:  (rcu_read_lock){..--}, at: [&lt;c06b2b24&gt;] __atomic_notifier_call_chain+0x0/0x5a

stack backtrace:
Pid: 2, comm: kthreadd Not tainted 2.6.29-rc8 #1
Call Trace:
 [&lt;c06ae498&gt;] ? printk+0xf/0x17
 [&lt;c06b3080&gt;] ? pre_handler_kretprobe+0xea/0xf4
 [&lt;c044ce6c&gt;] print_unlock_inbalance_bug+0xc3/0xce
 [&lt;c0444d4b&gt;] ? clocksource_read+0x7/0xa
 [&lt;c04450a4&gt;] ? getnstimeofday+0x5f/0xf6
 [&lt;c044a9ca&gt;] ? register_lock_class+0x17/0x293
 [&lt;c044b72c&gt;] ? mark_lock+0x1e/0x30b
 [&lt;c0448956&gt;] ? tick_dev_program_event+0x4a/0xbc
 [&lt;c0498100&gt;] ? __slab_alloc+0xa5/0x415
 [&lt;c06b2fbe&gt;] ? pre_handler_kretprobe+0x28/0xf4
 [&lt;c06b3080&gt;] ? pre_handler_kretprobe+0xea/0xf4
 [&lt;c044cf1b&gt;] lock_release_non_nested+0xa4/0x1a5
 [&lt;c06b3080&gt;] ? pre_handler_kretprobe+0xea/0xf4
 [&lt;c044d15d&gt;] lock_release+0x141/0x166
 [&lt;c06b07dd&gt;] _spin_unlock_irqrestore+0x19/0x50
 [&lt;c06b3080&gt;] pre_handler_kretprobe+0xea/0xf4
 [&lt;c06b20b5&gt;] kprobe_exceptions_notify+0x1c9/0x43e
 [&lt;c06b2b02&gt;] notifier_call_chain+0x26/0x48
 [&lt;c06b2b5b&gt;] __atomic_notifier_call_chain+0x37/0x5a
 [&lt;c06b2b24&gt;] ? __atomic_notifier_call_chain+0x0/0x5a
 [&lt;c06b2b8a&gt;] atomic_notifier_call_chain+0xc/0xe
 [&lt;c0442d0d&gt;] notify_die+0x2d/0x2f
 [&lt;c06b0f9c&gt;] do_int3+0x1f/0x71
 [&lt;c06b0e84&gt;] int3+0x2c/0x34
 [&lt;c042d476&gt;] ? do_fork+0x1/0x288
 [&lt;c040221b&gt;] ? kernel_thread+0x71/0x79
 [&lt;c043ed1b&gt;] ? kthread+0x0/0x60
 [&lt;c043ed1b&gt;] ? kthread+0x0/0x60
 [&lt;c04040b8&gt;] ? kernel_thread_helper+0x0/0x10
 [&lt;c043ec7f&gt;] kthreadd+0xac/0x148
 [&lt;c043ebd3&gt;] ? kthreadd+0x0/0x148
 [&lt;c04040bf&gt;] kernel_thread_helper+0x7/0x10

Signed-off-by: Ananth N Mavinakayanahalli &lt;ananth@in.ibm.com&gt;
Tested-by: Bharata B Rao &lt;bharata@linux.vnet.ibm.com&gt;
Cc: Masami Hiramatsu &lt;mhiramat@redhat.com&gt;
Cc: Jim Keniston &lt;jkenisto@us.ibm.com&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: &lt;stable@kernel.org&gt; [2.6.29.x, 2.6.28.x, 2.6.27.x]
LKML-Reference: &lt;20090318113621.GB4129@in.ibm.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix locking imbalance in kretprobes:

=====================================
[ BUG: bad unlock balance detected! ]
-------------------------------------
kthreadd/2 is trying to release lock (&amp;rp-&gt;lock) at:
[&lt;c06b3080&gt;] pre_handler_kretprobe+0xea/0xf4
but there are no more locks to release!

other info that might help us debug this:
1 lock held by kthreadd/2:
 #0:  (rcu_read_lock){..--}, at: [&lt;c06b2b24&gt;] __atomic_notifier_call_chain+0x0/0x5a

stack backtrace:
Pid: 2, comm: kthreadd Not tainted 2.6.29-rc8 #1
Call Trace:
 [&lt;c06ae498&gt;] ? printk+0xf/0x17
 [&lt;c06b3080&gt;] ? pre_handler_kretprobe+0xea/0xf4
 [&lt;c044ce6c&gt;] print_unlock_inbalance_bug+0xc3/0xce
 [&lt;c0444d4b&gt;] ? clocksource_read+0x7/0xa
 [&lt;c04450a4&gt;] ? getnstimeofday+0x5f/0xf6
 [&lt;c044a9ca&gt;] ? register_lock_class+0x17/0x293
 [&lt;c044b72c&gt;] ? mark_lock+0x1e/0x30b
 [&lt;c0448956&gt;] ? tick_dev_program_event+0x4a/0xbc
 [&lt;c0498100&gt;] ? __slab_alloc+0xa5/0x415
 [&lt;c06b2fbe&gt;] ? pre_handler_kretprobe+0x28/0xf4
 [&lt;c06b3080&gt;] ? pre_handler_kretprobe+0xea/0xf4
 [&lt;c044cf1b&gt;] lock_release_non_nested+0xa4/0x1a5
 [&lt;c06b3080&gt;] ? pre_handler_kretprobe+0xea/0xf4
 [&lt;c044d15d&gt;] lock_release+0x141/0x166
 [&lt;c06b07dd&gt;] _spin_unlock_irqrestore+0x19/0x50
 [&lt;c06b3080&gt;] pre_handler_kretprobe+0xea/0xf4
 [&lt;c06b20b5&gt;] kprobe_exceptions_notify+0x1c9/0x43e
 [&lt;c06b2b02&gt;] notifier_call_chain+0x26/0x48
 [&lt;c06b2b5b&gt;] __atomic_notifier_call_chain+0x37/0x5a
 [&lt;c06b2b24&gt;] ? __atomic_notifier_call_chain+0x0/0x5a
 [&lt;c06b2b8a&gt;] atomic_notifier_call_chain+0xc/0xe
 [&lt;c0442d0d&gt;] notify_die+0x2d/0x2f
 [&lt;c06b0f9c&gt;] do_int3+0x1f/0x71
 [&lt;c06b0e84&gt;] int3+0x2c/0x34
 [&lt;c042d476&gt;] ? do_fork+0x1/0x288
 [&lt;c040221b&gt;] ? kernel_thread+0x71/0x79
 [&lt;c043ed1b&gt;] ? kthread+0x0/0x60
 [&lt;c043ed1b&gt;] ? kthread+0x0/0x60
 [&lt;c04040b8&gt;] ? kernel_thread_helper+0x0/0x10
 [&lt;c043ec7f&gt;] kthreadd+0xac/0x148
 [&lt;c043ebd3&gt;] ? kthreadd+0x0/0x148
 [&lt;c04040bf&gt;] kernel_thread_helper+0x7/0x10

Signed-off-by: Ananth N Mavinakayanahalli &lt;ananth@in.ibm.com&gt;
Tested-by: Bharata B Rao &lt;bharata@linux.vnet.ibm.com&gt;
Cc: Masami Hiramatsu &lt;mhiramat@redhat.com&gt;
Cc: Jim Keniston &lt;jkenisto@us.ibm.com&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: &lt;stable@kernel.org&gt; [2.6.29.x, 2.6.28.x, 2.6.27.x]
LKML-Reference: &lt;20090318113621.GB4129@in.ibm.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tracing, Text Edit Lock - kprobes architecture independent support</title>
<updated>2009-03-06T15:49:00+00:00</updated>
<author>
<name>Mathieu Desnoyers</name>
<email>mathieu.desnoyers@polymtl.ca</email>
</author>
<published>2009-03-06T15:36:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4460fdad85becd569f11501ad5b91814814335ff'/>
<id>4460fdad85becd569f11501ad5b91814814335ff</id>
<content type='text'>
Use the mutual exclusion provided by the text edit lock in the kprobes code. It
allows coherent manipulation of the kernel code by other subsystems.

Changelog:

Move the kernel_text_lock/unlock out of the for loops.
Use text_mutex directly instead of a function.
Remove whitespace modifications.

(note : kprobes_mutex is always taken outside of text_mutex)

Signed-off-by: Mathieu Desnoyers &lt;mathieu.desnoyers@polymtl.ca&gt;
Acked-by: Ananth N Mavinakayanahalli &lt;ananth@in.ibm.com&gt;
Acked-by: Masami Hiramatsu &lt;mhiramat@redhat.com&gt;
LKML-Reference: &lt;49B14306.2080202@redhat.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use the mutual exclusion provided by the text edit lock in the kprobes code. It
allows coherent manipulation of the kernel code by other subsystems.

Changelog:

Move the kernel_text_lock/unlock out of the for loops.
Use text_mutex directly instead of a function.
Remove whitespace modifications.

(note : kprobes_mutex is always taken outside of text_mutex)

Signed-off-by: Mathieu Desnoyers &lt;mathieu.desnoyers@polymtl.ca&gt;
Acked-by: Ananth N Mavinakayanahalli &lt;ananth@in.ibm.com&gt;
Acked-by: Masami Hiramatsu &lt;mhiramat@redhat.com&gt;
LKML-Reference: &lt;49B14306.2080202@redhat.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>kprobes: check CONFIG_FREEZER instead of CONFIG_PM</title>
<updated>2009-01-16T19:32:17+00:00</updated>
<author>
<name>Masami Hiramatsu</name>
<email>mhiramat@redhat.com</email>
</author>
<published>2009-01-06T20:15:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=5a4ccaf37ffece09ef33f1cfec67efa8ee56f967'/>
<id>5a4ccaf37ffece09ef33f1cfec67efa8ee56f967</id>
<content type='text'>
Check CONFIG_FREEZER instead of CONFIG_PM because kprobe booster
depends on freeze_processes() and thaw_processes() when CONFIG_PREEMPT=y.

This fixes a linkage error which occurs when CONFIG_PREEMPT=y, CONFIG_PM=y
and CONFIG_FREEZER=n.

Reported-by: Cheng Renquan &lt;crquan@gmail.com&gt;
Signed-off-by: Masami Hiramatsu &lt;mhiramat@redhat.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Acked-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Check CONFIG_FREEZER instead of CONFIG_PM because kprobe booster
depends on freeze_processes() and thaw_processes() when CONFIG_PREEMPT=y.

This fixes a linkage error which occurs when CONFIG_PREEMPT=y, CONFIG_PM=y
and CONFIG_FREEZER=n.

Reported-by: Cheng Renquan &lt;crquan@gmail.com&gt;
Signed-off-by: Masami Hiramatsu &lt;mhiramat@redhat.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Acked-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
