From: syzbot <syzbot+9d95beb2a3c260622518@syzkaller.appspotmail.com>
To: linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com
Subject: Re: [syzbot] possible deadlock in trie_delete_elem
Date: Thu, 06 Jun 2024 06:51:51 -0700 [thread overview]
Message-ID: <000000000000265027061a38fce6@google.com> (raw)
In-Reply-To: <000000000000adb08b061413919e@google.com>
For archival purposes, forwarding an incoming command email to
linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com.
***
Subject: possible deadlock in trie_delete_elem
Author: norkam41@gmail.com
#syz test: https://linux.googlesource.com/linux/kernel/git/torvalds/linux e377d803b65ee4130213b3c041fc25fdfec1bd90
diff --git a/kernel/trace/bpf_trace.c b/kernel/trace/bpf_trace.c
index 2d29bc0f21cc..75fdb8e3abaa 100644
--- a/kernel/trace/bpf_trace.c
+++ b/kernel/trace/bpf_trace.c
@@ -2393,12 +2393,21 @@ void __bpf_trace_run(struct bpf_raw_tp_link *link, u64 *args)
cant_sleep();
// return if instrumentation disabled, see: bpf_disable_instrumentation
- if (unlikely(__this_cpu_read(bpf_prog_active))) {
+ int instrumentation = unlikely(__this_cpu_read(bpf_prog_active));
+ if (instrumentation) {
+ printk("SKIP FOR INSTRUMENTATION: %s > %s > %p /%i ==============\n",
+ prog->aux->name,
+ link->btp->tp->name, prog, instrumentation);
bpf_prog_inc_misses_counter(prog);
return;
}
- if (unlikely(this_cpu_inc_return(*(prog->active)) != 1)) {
+ int active = this_cpu_inc_return(*(prog->active));
+ // printk("%s > %s > %p /%i\n", prog->aux->name, link->btp->tp->name, prog, active);
+ if (active != 1) {
+ printk("SKIP FOR ACTIVE: %s > %s > %p /%i =======================\n",
+ prog->aux->name,
+ link->btp->tp->name, prog, active);
bpf_prog_inc_misses_counter(prog);
goto out;
}
diff --git a/kernel/tracepoint.c b/kernel/tracepoint.c
index 8d1507dd0724..e756262d8df7 100644
--- a/kernel/tracepoint.c
+++ b/kernel/tracepoint.c
@@ -168,12 +169,21 @@ static inline void release_probes(struct tracepoint_func *old)
static void debug_print_probes(struct tracepoint_func *funcs)
{
int i;
+ struct bpf_raw_tp_link *link;
if (!tracepoint_debug || !funcs)
return;
- for (i = 0; funcs[i].func; i++)
- printk(KERN_DEBUG "Probe %d : %p\n", i, funcs[i].func);
+ for (i = 0; funcs[i].func; i++) {
+ link = funcs[i].data;
+ int active = this_cpu_read(*(link->link.prog->active));
+ printk("Probe %d : %p / %p: %s/%d / %i\n", i,
+ funcs[i].func,
+ link,
+ link->link.prog->aux->name,
+ active,
+ funcs[i].prio);
+ }
}
static struct tracepoint_func *
@@ -298,6 +308,8 @@ static enum tp_func_state nr_func_state(const struct tracepoint_func *tp_funcs)
{
if (!tp_funcs)
return TP_FUNC_0;
+ if (!tp_funcs[0].func)
+ return TP_FUNC_0;
if (!tp_funcs[1].func)
return TP_FUNC_1;
if (!tp_funcs[2].func)
next prev parent reply other threads:[~2024-06-06 13:51 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-20 8:42 [syzbot] [bpf?] possible deadlock in trie_delete_elem syzbot
2024-03-20 10:32 ` Hillf Danton
2024-03-20 19:42 ` syzbot
2024-03-20 14:20 ` syzbot
2024-06-05 7:16 ` [syzbot] Re: 000000000000fcfa6406141cc8ac@google.com syzbot
2024-06-05 7:22 ` [syzbot] Re: [syzbot] [bpf?] possible deadlock in trie_delete_elem syzbot
2024-06-05 7:25 ` [syzbot] Re: 000000000000fcfa6406141cc8ac@google.com syzbot
2024-06-05 8:07 ` syzbot
2024-06-06 8:57 ` syzbot
2024-06-06 11:29 ` syzbot
2024-06-06 12:03 ` syzbot
2024-06-06 12:14 ` syzbot
2024-06-06 13:05 ` syzbot
2024-06-06 13:13 ` syzbot
2024-06-06 13:24 ` syzbot
2024-06-06 13:27 ` [syzbot] possible deadlock in trie_delete_elem syzbot
2024-06-06 13:51 ` syzbot [this message]
2024-06-06 14:04 ` syzbot
2024-06-06 14:14 ` syzbot
2024-06-06 20:34 ` kernel test robot
2024-06-06 21:05 ` kernel test robot
2024-06-07 7:17 ` [syzbot] Re: 000000000000fcfa6406141cc8ac@google.com syzbot
2025-05-08 7:13 ` [syzbot] [bpf?] possible deadlock in trie_delete_elem syzbot
2025-05-08 18:00 ` Alexei Starovoitov
2025-05-08 23:39 ` Kumar Kartikeya Dwivedi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=000000000000265027061a38fce6@google.com \
--to=syzbot+9d95beb2a3c260622518@syzkaller.appspotmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=syzkaller-bugs@googlegroups.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.