coredump masking: reimplementation of dumpable using two flags
This patch changes mm_struct.dumpable to a pair of bit flags. set_dumpable() converts three-value dumpable to two flags and stores it into lower two bits of mm_struct.flags instead of mm_struct.dumpable. get_dumpable() behaves in the opposite way. [akpm@linux-foundation.org: export set_dumpable] Signed-off-by: Hidehiro Kawai <hidehiro.kawai.ez@hitachi.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: David Howells <dhowells@redhat.com> Cc: Hugh Dickins <hugh@veritas.com> Cc: Nick Piggin <nickpiggin@yahoo.com.au> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
76fdbb25f9
commit
6c5d523826
@@ -295,9 +295,9 @@ struct thread_struct {
|
||||
regs->ar_bspstore = current->thread.rbs_bot; \
|
||||
regs->ar_fpsr = FPSR_DEFAULT; \
|
||||
regs->loadrs = 0; \
|
||||
regs->r8 = current->mm->dumpable; /* set "don't zap registers" flag */ \
|
||||
regs->r8 = get_dumpable(current->mm); /* set "don't zap registers" flag */ \
|
||||
regs->r12 = new_sp - 16; /* allocate 16 byte scratch area */ \
|
||||
if (unlikely(!current->mm->dumpable)) { \
|
||||
if (unlikely(!get_dumpable(current->mm))) { \
|
||||
/* \
|
||||
* Zap scratch regs to avoid leaking bits between processes with different \
|
||||
* uid/privileges. \
|
||||
|
Reference in New Issue
Block a user