RE: [PATCH v3 0/3] Make core_pattern support namespace

From: Zhao Lei
Date: Mon Sep 05 2016 - 23:45:45 EST


Ping

> -----Original Message-----
> From: Zhao Lei [mailto:zhaolei@xxxxxxxxxxxxxx]
> Sent: Monday, August 29, 2016 8:07 PM
> To: linux-kernel@xxxxxxxxxxxxxxx
> Cc: containers@xxxxxxxxxxxxxxxxxxxxxxxxxx; Eric W. Biederman
> <ebiederm@xxxxxxxxxxxx>; Mateusz Guzik <mguzik@xxxxxxxxxx>;
> Kamezawa Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>; StÃphane Graber
> <stgraber@xxxxxxxxxx>; Andrei Vagin <avagin@xxxxxxxxx>; Zhao Lei
> <zhaolei@xxxxxxxxxxxxxx>
> Subject: [PATCH v3 0/3] Make core_pattern support namespace
>
> This patchset includes following function points:
> 1: Let usermodehelper function possible to set pid namespace
> done by: [PATCH v3 1/3] Make call_usermodehelper_exec possible
> to set pid namespace.
> 2: Let pipe_type core_pattern write dump into container's rootfs
> done by: [PATCH v3 2/3] Limit dump_pipe program's permission to
> init for container.
> 2: Make separate core_pattern setting for each container
> done by: [PATCH v3 3/3] Make core_pattern support namespace
> 3: Compatibility with current system
> also included in: [PATCH v3 3/3] Make core_pattern support namespace
> If container hadn't change core_pattern setting, it will keep
> same setting with host.
>
> Test:
> 1: Pass a test script for each function of this patchset
> ## TEST IN HOST ##
> [root@kerneldev dumptest]# ./test_host
> Set file core_pattern: OK
> ./test_host: line 41: 2366 Segmentation fault (core dumped)
> "$SCRIPT_BASE_DIR"/make_dump
> Checking dumpfile: OK
> Set file core_pattern: OK
> ./test_host: line 41: 2369 Segmentation fault (core dumped)
> "$SCRIPT_BASE_DIR"/make_dump
> Checking dump_pipe triggered: OK
> Checking rootfs: OK
> Checking dumpfile: OK
> Checking namespace: OK
> Checking process list: OK
> Checking capabilities: OK
>
> ## TEST IN GUEST ##
> # ./test
> Segmentation fault (core dumped)
> Checking dump_pipe triggered: OK
> Checking rootfs: OK
> Checking dumpfile: OK
> Checking namespace: OK
> Checking process list: OK
> Checking cg pids: OK
> Checking capabilities: OK
> [ 64.940734] make_dump[2432]: segfault at 0 ip 000000000040049d sp
> 00007ffc4af025f0 error 6 in make_dump[400000+a6000]
> #
> 2: Pass other test(which is not easy to do in script) by hand.
>
> Changelog v2->v3:
> 1: Fix problem of setting pid namespace, pointed out by:
> Andrei Vagin <avagin@xxxxxxxxx>
>
> Changelog v1(RFC)->v2:
> 1: Add [PATCH 2/2] which was todo in [RFC v1].
> 2: Pass a test script for each function.
> 3: Rebase on top of v4.7.
>
> Suggested-by: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
> Suggested-by: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx>
> Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx>
>
> Zhao Lei (3):
> Make call_usermodehelper_exec possible to set pid namespace
> Limit dump_pipe program's permission to init for container
> Make core_pattern support namespace
>
> fs/coredump.c | 126
> ++++++++++++++++++++++++++++++++++++---
> include/linux/binfmts.h | 1 +
> include/linux/kmod.h | 2 +
> include/linux/pid_namespace.h | 3 +
> init/do_mounts_initrd.c | 3 +-
> kernel/kmod.c | 133
> +++++++++++++++++++++++++++++++++++++-----
> kernel/pid.c | 2 +
> kernel/pid_namespace.c | 2 +
> kernel/sysctl.c | 50 ++++++++++++++--
> lib/kobject_uevent.c | 3 +-
> security/keys/request_key.c | 4 +-
> 11 files changed, 296 insertions(+), 33 deletions(-)
>
> --
> 1.8.5.1