[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <def25632-b983-950b-d2e6-b7c6478024ed@linux.alibaba.com>
Date: Mon, 26 Mar 2018 17:20:33 -0400
From: Yang Shi <yang.shi@...ux.alibaba.com>
To: Tetsuo Handa <penguin-kernel@...ove.sakura.ne.jp>,
Cyrill Gorcunov <gorcunov@...il.com>,
Matthew Wilcox <willy@...radead.org>
Cc: adobriyan@...il.com, mhocko@...nel.org, mguzik@...hat.com,
akpm@...ux-foundation.org, linux-mm@...ck.org,
linux-kernel@...r.kernel.org
Subject: Re: [v2 PATCH] mm: introduce arg_lock to protect arg_start|end and
env_start|end in mm_struct
On 3/26/18 5:10 PM, Tetsuo Handa wrote:
> On 2018/03/27 4:21, Cyrill Gorcunov wrote:
>> That said I think using read-lock here would be a bug.
> If I understand correctly, the caller can't set both fields atomically, for
> prctl() does not receive both fields at one call.
>
> prctl(PR_SET_MM, PR_SET_MM_ARG_START xor PR_SET_MM_ARG_END xor PR_SET_MM_ENV_START xor PR_SET_MM_ENV_END, new value, 0, 0);
>
> Then, I wonder whether reading arg_start|end and env_start|end atomically makes
> sense. Just retry reading if arg_start > env_end or env_start > env_end is fine?
It might trap into dead loop if those are set to wrong values, right?
Powered by blists - more mailing lists