Re: [PATCH v2 2/7] proc/kcore: replace kclist_lock rwlock with rwsem

From: Andrew Morton
Date: Tue Jul 17 2018 - 22:38:46 EST


On Thu, 12 Jul 2018 17:09:34 -0700 Omar Sandoval <osandov@xxxxxxxxxxx> wrote:

> From: Omar Sandoval <osandov@xxxxxx>
>
> Now we only need kclist_lock from user context and at fs init time, and
> the following changes need to sleep while holding the kclist_lock.
>
> ...
>
> --- a/fs/proc/kcore.c
> +++ b/fs/proc/kcore.c
> @@ -59,8 +59,8 @@ struct memelfnote
> };
>
> static LIST_HEAD(kclist_head);
> -static DEFINE_RWLOCK(kclist_lock);
> -static int kcore_need_update = 1;
> +static DECLARE_RWSEM(kclist_lock);
> +static atomic_t kcore_need_update = ATOMIC_INIT(1);

It's unclear why kcore_need_update was changed to atomic_t - it's still
updated under kclist_lock?

Maybe it's for a later patch.