--- x/fs/proc/task_mmu.c +++ y/fs/proc/task_mmu.c @@ -187,6 +187,7 @@ static struct vm_area_struct *get_next_v } #else /* CONFIG_PER_VMA_LOCK */ +static void unlock_vma(struct proc_maps_private *priv) {} static inline bool lock_vma_range(struct seq_file *m, struct proc_maps_private *priv) @@ -582,6 +583,7 @@ skip_vma: if (flags & PROCMAP_QUERY_COVERING_OR_NEXT_VMA) goto next_vma; + unlock_vma(priv); no_vma: return ERR_PTR(-ENOENT); }