Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: - [High] Missing `sdt_might_sleep_end()` cleanup in the error path of wait macros (e.g., `___wait_var_event`, `___wait_event`, `___swait_event`) bypasses `dept_clean_stage()`, leaking the staged wait event state and corrupting DEPT tracking. --
commit cf04720896ab037609320947c88e8faa57dbddd7 Author: Byungchul Park <[email protected]> dept: apply timeout consideration to hashed-waitqueue wait Now that CONFIG_DEPT_AGGRESSIVE_TIMEOUT_WAIT was introduced, apply the consideration to hashed-waitqueue wait, assuming an input 'ret' in ___wait_var_event() macro is used as a timeout value. > diff --git a/include/linux/wait_bit.h b/include/linux/wait_bit.h > index 179a616ad245a..9885ac4e1ded5 100644 > --- a/include/linux/wait_bit.h > +++ b/include/linux/wait_bit.h > @@ -258,7 +258,7 @@ extern wait_queue_head_t *__var_waitqueue(void *p); > struct wait_bit_queue_entry __wbq_entry; \ > long __ret = ret; /* explicit shadow */ \ > \ > - sdt_might_sleep_start(NULL); \ > + sdt_might_sleep_start_timeout(NULL, __ret); \ [Severity: High] Does this error path properly clean up the dept wait state? Lower in the ___wait_var_event() macro, if a signal is received it jumps to __out: if (___wait_is_interruptible(state) && __int) { \ __ret = __int; \ goto __out; \ } \ ... sdt_might_sleep_end(); \ __out: __ret; \ Because the goto __out branch skips sdt_might_sleep_end(), does it leave a dangling stage context in the dept subsystem's tracking graph? If the stage context remains populated, could a subsequent wait on the same task be incorrectly seen as a nested stage, potentially corrupting dept tracking or leading to false deadlock reports? (Note: A similar goto __out pattern skipping sdt_might_sleep_end() also exists in ___wait_event() in include/linux/wait.h and ___swait_event() in include/linux/swait.h). > init_wait_var_entry(&__wbq_entry, var, \ > exclusive ? WQ_FLAG_EXCLUSIVE : 0); \ > for (;;) { \ -- Sashiko AI review ยท https://sashiko.dev/#/patchset/[email protected]?part=19

