Re: __ftrace_hash_rec_update FTRACE_WARN_ON.

From: Steven Rostedt
Date: Thu Jul 25 2013 - 14:59:33 EST


On Wed, 2013-07-24 at 22:46 -0700, Steve Hodgson wrote:

> No, nothing so complicated.
>
> I added symbols from a kernel module into
> /sys/kernel/debug/tracing/set_ftrace_filter, enabled tracing, then
> unloaded the kernel module.
>
> Which I'll admit is a stupid thing to do. I was then punished for my
> stupidity by being unable to use ftrace until the next reboot.

It's not stupid. ftrace should be robust enough to handle this. Anyway,
thank you, I found a reproducer.

Removing the module isn't good enough. You need to load it again.

# cd /sys/kernel/debug/tracing
# cat set_ftrace_filter
#### all functions enabled ####
# modprobe uinput
# echo uniput_release > set_ftrace_filter
# cat set_ftrace_filter
uinput_release [uinput]
# rmmod uinput
# cat set_ftrace_filter
# # note this is empty
# modprobe uinput
# cat set_ftrace_filter
uinput_release [uinput]
# # '<it magically appeared>'
# echo > set_ftrace_filter
[BOOM]

Now that I know what's the problem, it shouldn't be too hard to fix.

Thanks!

-- Steve


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/