Re: [PATCH v19 27/40] dept: assign dept map to mmu notifier invalidation synchronization

[email protected] Tue, 07 Jul 2026 07:33:42 +0000
Newsgroups org.kernel.vger.linux-ide,dev.linux.lists.linux-rt-devel,org.freedesktop.lists.dri-devel,org.kernel.vger.linux-kernel,org.kernel.vger.linux-modules
Message-ID <[email protected]>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] Unbalanced DEPT tracking context leak in mmu_notifier_invalidate_range_start_nonblock()
--

commit 10f75b8cdecfe9a5cbc6804a1d8ae1770fc9fe67
Author: Byungchul Park <[email protected]>

dept: assign dept map to mmu notifier invalidation synchronization

This commit introduces explicit DEPT tracking contexts to resolve false
positive deadlock reports in mmu_notifier invalidation synchronization.
It annotates the start and end of the event contexts delimited by
mmu_notifier_invalidate_range_start() and _end().

> diff --git a/include/linux/mmu_notifier.h b/include/linux/mmu_notifier.h
> --- a/include/linux/mmu_notifier.h
> +++ b/include/linux/mmu_notifier.h
[ ... ]
> @@ -460,6 +474,12 @@ mmu_notifier_invalidate_range_start_nonblock(struct mmu_notifier_range *range)
>  		ret = __mmu_notifier_invalidate_range_start(range);
>  	}
>  	lock_map_release(&__mmu_notifier_invalidate_range_start_map);
> +
> +	/*
> +	 * From now on, waiters could be there by this start until
> +	 * mmu_notifier_invalidate_range_end().
> +	 */
> +	mmu_notifier_invalidate_dept_ecxt_start(range);
>  	return ret;
>  }

[Severity: Medium]
Does this unconditionally start the DEPT event context even if the
non-blocking start fails?

If mmu_notifier_invalidate_range_start_nonblock() returns an error, callers
typically abort and skip calling mmu_notifier_invalidate_range_end(). For
example, in mm/oom_kill.c:__oom_reap_task_mm():

    if (mmu_notifier_invalidate_range_start_nonblock(&range)) {
        tlb_finish_mmu(&tlb);
        ret = false;
        continue;
    }

Could this lead to an unbalanced DEPT context being leaked, as the
corresponding mmu_notifier_invalidate_dept_ecxt_end() will never be called
on the error path?

-- 
Sashiko AI review ยท https://sashiko.dev/#/patchset/[email protected]?part=27