[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200311061836.GA83589@google.com>
Date: Wed, 11 Mar 2020 15:18:36 +0900
From: Sergey Senozhatsky <sergey.senozhatsky.work@...il.com>
To: Jaewon Kim <jaewon31.kim@...sung.com>
Cc: adobriyan@...il.com, akpm@...ux-foundation.org, labbott@...hat.com,
sumit.semwal@...aro.org, minchan@...nel.org, ngupta@...are.org,
sergey.senozhatsky.work@...il.com, linux-mm@...ck.org,
linux-kernel@...r.kernel.org, jaewon31.kim@...il.com
Subject: Re: [RFC PATCH 1/3] proc/meminfo: introduce extra meminfo
On (20/03/11 12:44), Jaewon Kim wrote:
[..]
> +#define NAME_SIZE 15
> +#define NAME_BUF_SIZE (NAME_SIZE + 2) /* ':' and '\0' */
> +
> +struct extra_meminfo {
> + struct list_head list;
> + atomic_long_t *val;
> + int shift_for_page;
> + char name[NAME_BUF_SIZE];
> + char name_pad[NAME_BUF_SIZE];
> +};
> +
> +int register_extra_meminfo(atomic_long_t *val, int shift, const char *name)
> +{
> + struct extra_meminfo *meminfo, *memtemp;
> + int len;
> + int error = 0;
> +
> + meminfo = kzalloc(sizeof(*meminfo), GFP_KERNEL);
> + if (!meminfo) {
> + error = -ENOMEM;
> + goto out;
> + }
> +
> + meminfo->val = val;
> + meminfo->shift_for_page = shift;
> + strncpy(meminfo->name, name, NAME_SIZE);
> + len = strlen(meminfo->name);
> + meminfo->name[len] = ':';
> + strncpy(meminfo->name_pad, meminfo->name, NAME_BUF_SIZE);
What happens if there is no NULL byte among the first NAME_SIZE bytes
of passed `name'?
[..]
> + spin_lock(&meminfo_lock);
Does this need to be a spinlock?
-ss
Powered by blists - more mailing lists