On Mon, 13 Jun 2016 19:20:19 -0400 Steven Rostedt <rost...@goodmis.org> wrote:
> On Mon, 13 Jun 2016 19:13:45 -0400 > Steven Rostedt <rost...@goodmis.org> wrote: > > > > > # cd /sys/kernel/debug/tracing > > > # echo p copy_user_enhanced_fast_string+5 > kprobe_events > > > # echo 1 > events/kprobes/enable > > > > > > And you'll see a kernel panic on do_debug(), since the debug > > > trap is not handled by kprobes. > > > > > > To fix this problem, we just need to clear the TF bit when > > > resetting running kprobe. > > > > > > > This should definitely be marked for stable, and I bisected it all the > > way down to this commit: f4cb1cc18f364d "x86-64, copy_user: Remove zero > > byte check before copy user buffer." I agree this is for stable. > > I reverted that commit and sure enough, this bug goes away. I'm not > > saying the revert should be done. I'm just doing an FYI, and showing how > > changes that appear to be a nice clean up can have subtle effects. I'm > > not even sure how that change caused this to be a problem with kprobes. > > > > Nevermind, reverting that commit only moved the location of the > "rep movsb" that you were placing the kprobe on. When I do: > > echo "p copy_user_enhanced_fast_string+9" > kprobe_events > > I get the same result. > > That means we need to make that stable tag even earlier. Yeah, I think it may never be tested from beginning, so more thant 10 years we have this issue on the kernel. I recommend this for all the stable/long term support kernels. Thank you, -- Masami Hiramatsu <mhira...@kernel.org>