# Re: \[PATCH 08/18\] mm, fork: make dup\_mmap wait for mmap\_sem for write killable

- From: Oleg Nesterov \<oleg@redhat.com\>
- Date: 2016-02-29 17:54:29 
- List: linux-arch
- Page: https://ratatoskr.run/linux-arch/2016/02/4697176
- Thread: https://ratatoskr.run/linux-mm/2016/02/4696944/t.md

```text
On 02/29, Michal Hocko wrote:
>
> --- a/kernel/fork.c
> +++ b/kernel/fork.c
> @@ -413,7 +413,10 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
>  	unsigned long charge;
>  
>  	uprobe_start_dup_mmap();
> -	down_write(&oldmm->mmap_sem);
> +	if (down_write_killable(&oldmm->mmap_sem)) {
> +		uprobe_end_dup_mmap();
> +		return -EINTR;
> +	}

This is really cosmetic and subjective, I won't insist if you prefer it this way.

But perhaps it makes sense to add another "fail" label above uprobe_end_dup_mmap()
we already have... IMO it is always better to avoid duplicating when it comes to
"unlock".

Oleg.
```
