From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Osmialowski Subject: Re: [RFC v3 8/9] kmsg: add predefined _PID, _TID, _COMM keywords to kmsg* log dict Date: Tue, 20 Oct 2015 13:16:33 +0200 (CEST) Message-ID: References: <1445259503-18158-1-git-send-email-p.osmialowsk@samsung.com> <1445259503-18158-9-git-send-email-p.osmialowsk@samsung.com> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Return-path: In-reply-to: Sender: linux-api-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Andy Lutomirski Cc: Jonathan Corbet , Arnd Bergmann , Andrew Morton , Petr Mladek , Greg Kroah-Hartman , Daniel Mack , Kay Sievers , Joe Perches , Tejun Heo , "linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , Linux API , Marcin Niesluchowski , Karol Lewandowski , Bartlomiej Zolnierkiewicz , Shuah Khan , Paul Osmialowski List-Id: linux-api@vger.kernel.org Hi Andy, On Mon, 19 Oct 2015, Andy Lutomirski wrote: > On Mon, Oct 19, 2015 at 5:58 AM, Paul Osmialowski > wrote: >> From: Marcin Niesluchowski >> >> 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