bcachefs: Use trylock in bch2_prt_backtrace()
authorKent Overstreet <kent.overstreet@linux.dev>
Wed, 25 Jan 2023 15:18:32 +0000 (10:18 -0500)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:09:49 +0000 (17:09 -0400)
Easy workaround for a lockdep splat - and since bch2_prt_backtrace() is
only used in debug code this is fine.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/util.c

index 31934f7a6436a5ada1746215b68d7c4a1bc819a1..e6672b67ae32a01afae44471e5bb661ca151ca2c 100644 (file)
@@ -270,11 +270,9 @@ int bch2_prt_backtrace(struct printbuf *out, struct task_struct *task)
 {
        unsigned long entries[32];
        unsigned i, nr_entries;
-       int ret;
 
-       ret = down_read_killable(&task->signal->exec_update_lock);
-       if (ret)
-               return ret;
+       if (!down_read_trylock(&task->signal->exec_update_lock))
+               return 0;
 
        nr_entries = stack_trace_save_tsk(task, entries, ARRAY_SIZE(entries), 0);
        for (i = 0; i < nr_entries; i++) {