On 02/29, Michal Hocko wrote:
quoted hunk ↗ jump to hunk
--- 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.