lkml.org 
[lkml]   [2007]   [Jan]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] binfmt_elf: core dump masking support
    Hi Pavel,

    >>>>The /proc/<pid>/ approach doesn't have these demerits, and it
    >>>>has an advantage that users can change the bitmask of any process
    >>>>at anytime.
    >>>
    >>>Well... not sure if it is advantage.
    >>
    >>For example, consider the following case:
    >> a process forks many children and system administrator wants to
    >> allow only one of these processes to dump shared memory.
    >>
    >>This is accomplished as follows:
    >>
    >> $ echo 1 > /proc/self/coremask
    >> $ ./some_program
    >> (fork children)
    >> $ echo 0 > /proc/<a child's pid>/coremask
    >>
    >>With the /proc/<pid>/ interface, we don't need to modify the
    >>user program. In contrast, with the ulimit or setrlimit interface,
    >>the administrator can't do it without modifying the user program
    >>to call setrlimit. This will not be preferred.
    >
    > Yep, otoh process coremask setting can change while it is running,
    > that is not expected. Hmm, it can also change while it is dumping
    > core, are you sure it is not racy?

    Good point, thanks. I never thought of that.
    We can change the coremask setting while dumping the process's
    memory, and it is problematic.

    maydump() function which decides a given VMA may be dumped or not
    is invoked twice per VMAs. One is at the time of writing a program
    header for a VMA, another is at the time of writing its contents.
    If the coremask setting differs between the two, the program
    header will point wrong place in the core file as its contents.


    > (run echo 1 > coremask, echo 0 > coremask in a loop while dumping
    > core. Do you have enough locking to make it work as expected?)

    Currently, any lock isn't acquired. But I think the kernel only
    have to preserve the coremask setting in a local variable at the
    begining of core dumping. I'm going to do this in the next version.

    Best regards,
    --
    Hidehiro Kawai
    Hitachi, Ltd., Systems Development Laboratory


    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-01-22 04:11    [W:2.623 / U:0.112 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site