Received: by 2002:a25:e7d8:0:0:0:0:0 with SMTP id e207csp2416766ybh; Mon, 9 Mar 2020 05:32:20 -0700 (PDT) X-Google-Smtp-Source: ADFU+vu43eFKAbzJpiej7F8iP3kQzeUs9u9GmwrMbpJBLsVLRIs/en4LL/2AozvqVzjeh/F0VxDk X-Received: by 2002:aca:ebca:: with SMTP id j193mr3128163oih.124.1583757140322; Mon, 09 Mar 2020 05:32:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1583757140; cv=none; d=google.com; s=arc-20160816; b=d7wYQ9HB8k8VQeVWo6Gaqk96F/9quPJmQNZEonWSNH0IHSFGXMevPhV8pLIqoFuYku KRG0Lmgw8aVS7rc63C8G+xqFk2cjRX0qdGkiVd9QzUkmEOHNlYUYJctDQ+FXiazTHsDA bb3JfWRDTP7Rbde362zyCJ0XrHYjteqWm/tmiDp5r7+hBzHxhLZMsR82X8am8jggP5sa 0GQWI7bIcGqi9UPlrKh83M1ZwzTOE7gTDO2YRylobnS/lXiy49ZES52sQeP4DkLadh7p B15AcYWTAy1G+TRKyoWkVa3D5eoU3iWPcb1FxjtU045/uoBHH5XdBY2Yru6VqrIkALWL bjew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature; bh=4uzsPQ+ZsiFXUNzM64RYqffPOnfhsKcEvaN4HId4EK8=; b=iQbDy+DvVu24vZGp2eudDZf3/17vR7LElWXd8gs2tiu8rGetE8C4jC44VfodU96H60 lzBed1e/DSkdKpjMIXGbjmcOPprcDSEajy4j/4LI9dmIbG6x7rNOjuii5z6qBg33/7vp N9QiLlrd30ndQ5ojUJ+UDgZpQ6kTSWZtjd8ofBoqE6hzRyqIoAbpLkOxN1tmdhNYokOk no1mcGw3KqyF1XB45OzC3gW+XNYATVGQo81x5MK5WZLByugsvPdQJ0GpCVU35GAesOI6 8HVNHUbbpIZRLQ1UHvdzlchzavZNm3wr1USMwXrk0Q8pP/gOAiYtfln5HZbCo5m1fdBh Foew== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b="ei/vdRMA"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id u137si1510647oia.148.2020.03.09.05.32.08; Mon, 09 Mar 2020 05:32:20 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b="ei/vdRMA"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726567AbgCIMau (ORCPT + 99 others); Mon, 9 Mar 2020 08:30:50 -0400 Received: from us-smtp-2.mimecast.com ([207.211.31.81]:32166 "EHLO us-smtp-delivery-1.mimecast.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726368AbgCIMau (ORCPT ); Mon, 9 Mar 2020 08:30:50 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1583757049; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=4uzsPQ+ZsiFXUNzM64RYqffPOnfhsKcEvaN4HId4EK8=; b=ei/vdRMA/XJIWkZk3OORtBaT4F0mxQC2IzcxjxGW7T7nri+8Bb6OvwfGO9cxyt2z7ikbF6 kqwPt3Lz59OnJpO9R8EWI6xProRl0FF5F4EbXwyszoZ1rYwmEnRCfsqWLRQ4Z5XOgZn1cj dbE9IAa50ArvrngvI3jxCKuLa5Zcjgs= Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-347-w9AuBev5M0S_n1KIjm7j1A-1; Mon, 09 Mar 2020 08:30:47 -0400 X-MC-Unique: w9AuBev5M0S_n1KIjm7j1A-1 Received: by mail-wm1-f71.google.com with SMTP id g26so2399899wmk.6 for ; Mon, 09 Mar 2020 05:30:47 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=4uzsPQ+ZsiFXUNzM64RYqffPOnfhsKcEvaN4HId4EK8=; b=AHd8oD6Ql4ZxjoT+es/4KkrzvTTynL5t+Cp1KICKkbBv4R0BDNRpkVOIqHLQlJQki0 OMG9abJRQ5JIvlscPjRT0FS52tcb2sbfJc88DKOm+YAQEjB7suMen6zngqjkfrxwazsW NXTZxv5IeniM3BxoE8+DaRiyWsnk/hafAYC/iMQF481wOx1gSRlzZBA0zHeSmRJRrYhj HP16xKQ77v+T240l27ByhPORvIUkM7rKwpZj69jYgVQoJMjd6iWXqek1FC0wogyDY04m qjPKsHKJ/fVE4DBu85bF4ignvfXSEAhD0cJ18Y5kWmWh9KcePR7LlwPiYc+TU9ARnP/J ty+Q== X-Gm-Message-State: ANhLgQ2IDMtlQd5SgPoDO2TQxuwlaBUA8k7ea0O0k0vHY9uXRXfK1+fW ZmL+vxVyMoPenhJSlbJp+QoZaxouoLCmZ3BTfFnI0JGbWkkVsRx9hlN8xz8i4kKBYy29MEE18W4 ojW2NaWW4kA4PGm7T40mzbULz X-Received: by 2002:adf:ef92:: with SMTP id d18mr20470475wro.193.1583757046853; Mon, 09 Mar 2020 05:30:46 -0700 (PDT) X-Received: by 2002:adf:ef92:: with SMTP id d18mr20470437wro.193.1583757046644; Mon, 09 Mar 2020 05:30:46 -0700 (PDT) Received: from localhost (nat-pool-brq-t.redhat.com. [213.175.37.10]) by smtp.gmail.com with ESMTPSA id c5sm9841274wma.3.2020.03.09.05.30.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Mar 2020 05:30:45 -0700 (PDT) Date: Mon, 9 Mar 2020 13:30:45 +0100 From: Oleksandr Natalenko To: Vlastimil Babka Cc: Minchan Kim , Andrew Morton , LKML , linux-mm , linux-api@vger.kernel.org, Suren Baghdasaryan , Tim Murray , Daniel Colascione , Sandeep Patil , Sonny Rao , Brian Geffon , Michal Hocko , Johannes Weiner , Shakeel Butt , John Dias , Joel Fernandes , Jann Horn , alexander.h.duyck@linux.intel.com, sj38.park@gmail.com Subject: Re: [PATCH v7 6/7] mm/madvise: employ mmget_still_valid for write lock Message-ID: <20200309123045.o4cwni3ra6zq6ha2@butterfly.localdomain> References: <20200302193630.68771-1-minchan@kernel.org> <20200302193630.68771-7-minchan@kernel.org> <20200306130303.kztv64f52qknxb6k@butterfly.localdomain> <86fc8d7b-ad6b-1691-b022-025d01e9e8e3@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <86fc8d7b-ad6b-1691-b022-025d01e9e8e3@suse.cz> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Mar 06, 2020 at 05:03:50PM +0100, Vlastimil Babka wrote: > On 3/6/20 2:03 PM, Oleksandr Natalenko wrote: > > Hello. > > > > On Fri, Mar 06, 2020 at 01:52:07PM +0100, Vlastimil Babka wrote: > >> > diff --git a/mm/madvise.c b/mm/madvise.c > >> > index e794367f681e..e77c6c1fad34 100644 > >> > --- a/mm/madvise.c > >> > +++ b/mm/madvise.c > >> > @@ -1118,6 +1118,8 @@ int do_madvise(struct task_struct *target_task, struct mm_struct *mm, > >> > if (write) { > >> > if (down_write_killable(&mm->mmap_sem)) > >> > return -EINTR; > >> > + if (current->mm != mm && !mmget_still_valid(mm)) > >> > + goto skip_mm; > >> > >> This will return 0, is that correct? Shoudln't there be a similar error e.g. as > >> when finding the task by pid fails (-ESRCH ?), because IIUC the task here is > >> going away and dumping the core? > > > > Yeah. > > > > Something like this then: > > > > === > > diff --git a/mm/madvise.c b/mm/madvise.c > > index 48d1da08c160..7ed2f4d13924 100644 > > --- a/mm/madvise.c > > +++ b/mm/madvise.c > > @@ -1122,6 +1122,10 @@ int do_madvise(struct task_struct *target_task, struct mm_struct *mm, > > if (write) { > > if (down_write_killable(&mm->mmap_sem)) > > return -EINTR; > > + if (current->mm != mm && !mmget_still_valid(mm)) { > > + error = -ESRCH; > > + goto skip_mm; > > + } > > } else { > > down_read(&mm->mmap_sem); > > } > > @@ -1173,6 +1177,7 @@ int do_madvise(struct task_struct *target_task, struct mm_struct *mm, > > } > > out: > > blk_finish_plug(&plug); > > +skip_mm: > > if (write) > > up_write(&mm->mmap_sem); > > else > > > > === > > > > ? > > Yep, thanks. > Minchan, shall you take this change into the next submission, or you'd prefer me sending it to you as a new patch? -- Best regards, Oleksandr Natalenko (post-factum) Principal Software Maintenance Engineer