Tracing fixes:
- Check for NULL in kretprobe_dispatcher() NULL can now be passed in, make sure it can handle it - Clean up unneeded #endif #ifdef of the same preprocessor check in the middle of the block. - Comment clean up - Remove unneeded initialization of the "ret" variable in __trace_uprobe_create() -----BEGIN PGP SIGNATURE----- iIoEABYIADIWIQRRSw7ePDh/lE+zeZMp5XQQmuv6qgUCYrMu9hQccm9zdGVkdEBn b29kbWlzLm9yZwAKCRAp5XQQmuv6qpuZAP9gS8Xcd7nenV3i9j4lCFktWQrvQwvh wyNb9UuLqPVMUQEAkk4hzq38P2UvEOZ+v+WdJnXfOb3wpFhrxWFycz5ZVAw= =9WXA -----END PGP SIGNATURE----- Merge tag 'trace-v5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace Pull tracing fixes from Steven Rostedt: - Check for NULL in kretprobe_dispatcher() NULL can now be passed in, make sure it can handle it - Clean up unneeded #endif #ifdef of the same preprocessor check in the middle of the block. - Comment clean up - Remove unneeded initialization of the "ret" variable in __trace_uprobe_create() * tag 'trace-v5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: tracing/uprobes: Remove unwanted initialization in __trace_uprobe_create() tracefs: Fix syntax errors in comments tracing: Simplify conditional compilation code in tracing_set_tracer() tracing/kprobes: Check whether get_kretprobe() returns NULL in kretprobe_dispatcher()
This commit is contained in:
commit
fa1796a835
@ -553,7 +553,7 @@ struct dentry *tracefs_create_dir(const char *name, struct dentry *parent)
|
|||||||
*
|
*
|
||||||
* Only one instances directory is allowed.
|
* Only one instances directory is allowed.
|
||||||
*
|
*
|
||||||
* The instances directory is special as it allows for mkdir and rmdir to
|
* The instances directory is special as it allows for mkdir and rmdir
|
||||||
* to be done by userspace. When a mkdir or rmdir is performed, the inode
|
* to be done by userspace. When a mkdir or rmdir is performed, the inode
|
||||||
* locks are released and the methods passed in (@mkdir and @rmdir) are
|
* locks are released and the methods passed in (@mkdir and @rmdir) are
|
||||||
* called without locks and with the name of the directory being created
|
* called without locks and with the name of the directory being created
|
||||||
|
@ -6424,9 +6424,7 @@ int tracing_set_tracer(struct trace_array *tr, const char *buf)
|
|||||||
synchronize_rcu();
|
synchronize_rcu();
|
||||||
free_snapshot(tr);
|
free_snapshot(tr);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_TRACER_MAX_TRACE
|
|
||||||
if (t->use_max_tr && !had_max_tr) {
|
if (t->use_max_tr && !had_max_tr) {
|
||||||
ret = tracing_alloc_snapshot_instance(tr);
|
ret = tracing_alloc_snapshot_instance(tr);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
|
@ -1718,8 +1718,17 @@ static int
|
|||||||
kretprobe_dispatcher(struct kretprobe_instance *ri, struct pt_regs *regs)
|
kretprobe_dispatcher(struct kretprobe_instance *ri, struct pt_regs *regs)
|
||||||
{
|
{
|
||||||
struct kretprobe *rp = get_kretprobe(ri);
|
struct kretprobe *rp = get_kretprobe(ri);
|
||||||
struct trace_kprobe *tk = container_of(rp, struct trace_kprobe, rp);
|
struct trace_kprobe *tk;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* There is a small chance that get_kretprobe(ri) returns NULL when
|
||||||
|
* the kretprobe is unregister on another CPU between kretprobe's
|
||||||
|
* trampoline_handler and this function.
|
||||||
|
*/
|
||||||
|
if (unlikely(!rp))
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
tk = container_of(rp, struct trace_kprobe, rp);
|
||||||
raw_cpu_inc(*tk->nhit);
|
raw_cpu_inc(*tk->nhit);
|
||||||
|
|
||||||
if (trace_probe_test_flag(&tk->tp, TP_FLAG_TRACE))
|
if (trace_probe_test_flag(&tk->tp, TP_FLAG_TRACE))
|
||||||
|
@ -546,7 +546,6 @@ static int __trace_uprobe_create(int argc, const char **argv)
|
|||||||
bool is_return = false;
|
bool is_return = false;
|
||||||
int i, ret;
|
int i, ret;
|
||||||
|
|
||||||
ret = 0;
|
|
||||||
ref_ctr_offset = 0;
|
ref_ctr_offset = 0;
|
||||||
|
|
||||||
switch (argv[0][0]) {
|
switch (argv[0][0]) {
|
||||||
|
Loading…
Reference in New Issue
Block a user