Messages in this thread | | | Date | Tue, 20 Oct 2015 13:16:33 +0200 (CEST) | From | Paul Osmialowski <> | Subject | Re: [RFC v3 8/9] kmsg: add predefined _PID, _TID, _COMM keywords to kmsg* log dict |
| |
Hi Andy,
On Mon, 19 Oct 2015, Andy Lutomirski wrote:
> On Mon, Oct 19, 2015 at 5:58 AM, Paul Osmialowski > <p.osmialowsk@samsung.com> wrote: >> From: Marcin Niesluchowski <m.niesluchow@samsung.com> >> >> kmsg* devices write operation wrote no dict along with message >> Due to usage of kmsg devices in userspace dict has been added >> identifying pid, tid and comm of writing process. > > Does this affect even the normal /dev/kmsg?
Yes.
> >> -static int kmsg_sys_write(int minor, int level, const char *fmt, ...) >> +static size_t set_kmsg_dict(char *buf) >> +{ >> + size_t len; >> + >> + len = sprintf(buf, "_PID=%d", task_tgid_nr(current)) + 1; >> + len += sprintf(buf + len, "_TID=%d", task_pid_nr(current)) + 1; >> + memcpy(buf + len, "_COMM=", 6); >> + len += 6; >> + get_task_comm(buf + len, current); >> + while (buf[len] != '\0') >> + len++; > > len += strlen(buf); ? > > Is it obvious for some reason that this doesn't overflow buf? >
KMSG_DICT_MAX_LEN sets architecture-intepentent max size.
> Why is task_pid_nr acceptable here? Isn't this intended for use in namespaces? >
task_tgid_nr - process id (pid as seen in userspace), task_pid_nr - thread id
Thanks, Paul
| |