]> xenbits.xensource.com Git - qemu-xen.git/commit
linux-user: fix /proc/self/stat handling
authorAlex Bennée <alex.bennee@linaro.org>
Tue, 14 Apr 2020 20:06:23 +0000 (21:06 +0100)
committerAlex Bennée <alex.bennee@linaro.org>
Wed, 15 Apr 2020 10:38:23 +0000 (11:38 +0100)
commit7ad4d5a43e7e6098acfc28df7666efeb117d22dd
treeb17fae7f039707a849f5da38c15199efd3decf52
parent469a788cdd3c618ef1b8a23a339510082b3eeea7
linux-user: fix /proc/self/stat handling

In the original bug report long files names in Guix caused
/proc/self/stat be truncated without the trailing ") " as specified in
proc manpage which says:
    (2) comm  %s
           The  filename of the executable, in parentheses.  This
           is visible whether or not the  executable  is  swapped
           out.

In the kernel this is currently done by do_task_stat calling
proc_task_name() which uses a structure limited by TASK_COMM_LEN (16).

Additionally it should only be reporting the executable name rather
than the full path. Fix both these failings while cleaning up the code
to use GString to build up the reported values. As the whole function
is cleaned up also adjust the white space to the current coding style.

Message-ID: <fb4c55fa-d539-67ee-c6c9-de8fb63c8488@inria.fr>
Reported-by: Brice Goglin <Brice.Goglin@inria.fr>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20200414200631.12799-10-alex.bennee@linaro.org>
linux-user/syscall.c