On Tue 08-03-16 11:15:50, Davidlohr Bueso wrote:
> On Mon, 29 Feb 2016, Michal Hocko wrote:
>
> >From: Michal Hocko <[email protected]>
> >
> >shmat and shmdt rely on mmap_sem for write. If the waiting task
> >gets killed by the oom killer it would block oom_reaper from
> >asynchronous address space reclaim and reduce the chances of timely
> >OOM resolving. Wait for the lock in the killable mode and return with
> >EINTR if the task got killed while waiting.
> >
> >Cc: Davidlohr Bueso <[email protected]>
> >Cc: Hugh Dickins <[email protected]>
> >Signed-off-by: Michal Hocko <[email protected]>
>
> I have no objection to this perse, just one comment below.
>
> Acked-by: Davidlohr Bueso <[email protected]>
Thanks!
[...]
> >- down_write(¤t->mm->mmap_sem);
> >+ if (down_write_killable(¤t->mm->mmap_sem)) {
> >+ err = -EINVAL;
> >+ goto out_fput;
> >+ }
>
> This should be EINTR, no?
Of course. Thanks for catching that.
--
Michal Hocko
SUSE Labs