All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cyrill Gorcunov <gorcunov@gmail.com>
To: "Michal Koutný" <mkoutny@suse.com>
Cc: akpm@linux-foundation.org, arunks@codeaurora.org, brgl@bgdev.pl,
	geert+renesas@glider.be, ldufour@linux.ibm.com,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	mguzik@redhat.com, mhocko@kernel.org, rppt@linux.ibm.com,
	vbabka@suse.cz, ktkhai@virtuozzo.com
Subject: Re: [PATCH v3 2/2] prctl_set_mm: downgrade mmap_sem to read lock
Date: Thu, 2 May 2019 23:57:34 +0300	[thread overview]
Message-ID: <20190502205734.GE2488@uranus.lan> (raw)
In-Reply-To: <20190502125203.24014-3-mkoutny@suse.com>

On Thu, May 02, 2019 at 02:52:03PM +0200, Michal Koutný wrote:
> The commit a3b609ef9f8b ("proc read mm's {arg,env}_{start,end} with mmap
> semaphore taken.") added synchronization of reading argument/environment
> boundaries under mmap_sem. Later commit 88aa7cc688d4 ("mm: introduce
> arg_lock to protect arg_start|end and env_start|end in mm_struct")
> avoided the coarse use of mmap_sem in similar situations. But there
> still remained two places that (mis)use mmap_sem.
> 
> get_cmdline should also use arg_lock instead of mmap_sem when it reads the
> boundaries.
> 
> The second place that should use arg_lock is in prctl_set_mm. By
> protecting the boundaries fields with the arg_lock, we can downgrade
> mmap_sem to reader lock (analogous to what we already do in
> prctl_set_mm_map).
> 
> v2: call find_vma without arg_lock held
> v3: squashed get_cmdline arg_lock patch
> 
> Fixes: 88aa7cc688d4 ("mm: introduce arg_lock to protect arg_start|end and env_start|end in mm_struct")
> Cc: Yang Shi <yang.shi@linux.alibaba.com>
> Cc: Mateusz Guzik <mguzik@redhat.com>
> CC: Cyrill Gorcunov <gorcunov@gmail.com>
> Co-developed-by: Laurent Dufour <ldufour@linux.ibm.com>
> Signed-off-by: Laurent Dufour <ldufour@linux.ibm.com>
> Signed-off-by: Michal Koutný <mkoutny@suse.com>
Reviewed-by: Cyrill Gorcunov <gorcunov@gmail.com>

  reply	other threads:[~2019-05-02 20:57 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-17 12:03 [PATCH] mm: get_cmdline use arg_lock instead of mmap_sem Michal Koutný
2019-04-17 13:41 ` Michal Hocko
2019-04-17 14:41   ` Michal Koutný
2019-04-17 14:55     ` Michal Hocko
2019-04-18 13:50       ` [PATCH] prctl_set_mm: downgrade mmap_sem to read lock Michal Koutný
2019-04-18 14:09         ` Cyrill Gorcunov
2019-04-18 14:15         ` Michal Hocko
2019-04-18 14:27         ` Laurent Dufour
2019-04-18 18:23         ` Cyrill Gorcunov
2019-04-30  8:18           ` [PATCH 0/3] Reduce mmap_sem usage for args manipulation Michal Koutný
2019-04-30  8:18             ` [PATCH 1/3] mm: get_cmdline use arg_lock instead of mmap_sem Michal Koutný
2019-04-30  9:09               ` Kirill Tkhai
2019-04-30  9:38                 ` Cyrill Gorcunov
2019-04-30  9:53                   ` Kirill Tkhai
2019-04-30 10:45                     ` Cyrill Gorcunov
2019-04-30 10:56                       ` Michal Koutný
2019-04-30 13:24                         ` Cyrill Gorcunov
2019-04-30  8:18             ` [PATCH 2/3] prctl_set_mm: Refactor checks from validate_prctl_map Michal Koutný
2019-04-30  9:27               ` Kirill Tkhai
2019-04-30  8:18             ` [PATCH 3/3] prctl_set_mm: downgrade mmap_sem to read lock Michal Koutný
2019-04-30  8:55               ` Kirill Tkhai
2019-04-30  9:08                 ` Cyrill Gorcunov
2019-04-30  9:11                   ` Kirill Tkhai
2019-05-02 12:52                     ` [PATCH v3 0/2] Reduce mmap_sem usage for args manipulation Michal Koutný
2019-05-02 12:52                       ` [PATCH v3 1/2] prctl_set_mm: Refactor checks from validate_prctl_map Michal Koutný
2019-05-02 20:57                         ` Cyrill Gorcunov
2019-05-02 12:52                       ` [PATCH v3 2/2] prctl_set_mm: downgrade mmap_sem to read lock Michal Koutný
2019-05-02 20:57                         ` Cyrill Gorcunov [this message]
2019-05-06  9:28                         ` Kirill Tkhai
2019-05-07 17:42                         ` Michal Hocko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190502205734.GE2488@uranus.lan \
    --to=gorcunov@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=arunks@codeaurora.org \
    --cc=brgl@bgdev.pl \
    --cc=geert+renesas@glider.be \
    --cc=ktkhai@virtuozzo.com \
    --cc=ldufour@linux.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mguzik@redhat.com \
    --cc=mhocko@kernel.org \
    --cc=mkoutny@suse.com \
    --cc=rppt@linux.ibm.com \
    --cc=vbabka@suse.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.