ping

在 2017年08月02日 14:37, Cao Shufeng 写道:
This patchset includes following function points:
1: Let usermodehelper function possible to set pid namespace
    done by: [PATCH_v4.1_1/3] Make call_usermodehelper_exec possible
    to set namespaces
2: Let pipe_type core_pattern write dump into container's rootfs
    done by: [PATCH_v4.1_2/3] Limit dump_pipe program's permission to
    init for container
3: Make separate core_pattern setting for each container
    done by: [PATCH_v4.1_3/3] Make core_pattern support namespace
4: Compatibility with current system
    also included in: [PATCH_v4.1_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) "$SCRI=
PT_BASE_DIR"/make_dump
    Checking dumpfile: OK
    Set file core_pattern: OK
    ./test_host: line 41:  2369 Segmentation fault      (core dumped) "$SCRI=
PT_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 000=
07ffc4af025f0 error 6 in make_dump[400000+a6000]
    #
2: Pass other test(which is not easy to do in script) by hand.

Changelog v3.1-v4:
1. remove extra fork pointed out by:
    Andrei Vagin <ava...@gmail.com>
2: Rebase on top of v4.9-rc8.
3: Rebase on top of v4.12.

Changelog v3-v3.1:
1. Switch "pwd" of pipe program to container's root fs.
2. Rebase on top of v4.9-rc1.

Changelog v2->v3:
1: Fix problem of setting pid namespace, pointed out by:
    Andrei Vagin <ava...@gmail.com>

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 <ebied...@xmission.com>
Suggested-by: KOSAKI Motohiro <kosaki.motoh...@jp.fujitsu.com>
Signed-off-by: Cao Shufeng <caosf.f...@cn.fujitsu.com>

Cao Shufeng (3):
   Make call_usermodehelper_exec possible to set namespaces
   Limit dump_pipe program's permission to init for container
   Make core_pattern support namespace

  fs/coredump.c                 | 150 +++++++++++++++++++++++++++++++++++++++---
  include/linux/binfmts.h       |   2 +
  include/linux/kmod.h          |   5 ++
  include/linux/pid_namespace.h |   3 +
  init/do_mounts_initrd.c       |   3 +-
  kernel/kmod.c                 |  56 +++++++++++++---
  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, 253 insertions(+), 27 deletions(-)




Reply via email to