Messages in this thread | | | Date | Wed, 11 Mar 2020 15:18:36 +0900 | From | Sergey Senozhatsky <> | 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
| |