kprobes: makes kprobes/enabled works correctly for optimized kprobes.
authorWang Nan <wangnan0@huawei.com>
Fri, 13 Feb 2015 22:40:26 +0000 (14:40 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 14 Feb 2015 05:21:42 +0000 (21:21 -0800)
commit69d54b916d83872a0a327778a01af2a096923f59
treeee62261a484b8e939ad763e2cf4e8039ca9658ea
parent977ad481b66ca91e1f6492b3c5c4748c68fdee9c
kprobes: makes kprobes/enabled works correctly for optimized kprobes.

debugfs/kprobes/enabled doesn't work correctly on optimized kprobes.
Masami Hiramatsu has a test report on x86_64 platform:

https://lkml.org/lkml/2015/1/19/274

This patch forces it to unoptimize kprobe if kprobes_all_disarmed is set.
It also checks the flag in unregistering path for skipping unneeded
disarming process when kprobes globally disarmed.

Signed-off-by: Wang Nan <wangnan0@huawei.com>
Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
kernel/kprobes.c