On 09/21, Ye Liu wrote:
>
> --- a/mm/ksm.c
> +++ b/mm/ksm.c
> @@ -3280,8 +3280,7 @@ void collect_procs_ksm(const struct folio *folio, const
> struct page *page,
> struct anon_vma *av = rmap_item->anon_vma;
>
> anon_vma_lock_read(av);
> - rcu_read_lock();
> - for_each_process(tsk) {
> + for_each_process_rculock(tsk) {
> struct anon_vma_chain *vmac;
> const unsigned long addr = rmap_item->address &
> PAGE_MASK;
> const unsigned long index =
> rmap_item->linear_page_index;
> @@ -3298,7 +3297,6 @@ void collect_procs_ksm(const struct folio *folio, const
> struct page *page,
> }
> }
> }
> - rcu_read_unlock();
Reviewed-by: Oleg Nesterov <[email protected]>