[LTP] [PATCH] syscalls/shmat01: avoid dumping corefile for expected crash

Cyril Hrubis chrubis@suse.cz
Mon Sep 11 14:21:14 CEST 2017


Hi!
> > > -static void do_child(int *in_addr)
> > > +static void do_child(int *in_addr, int expect_crash)
> > >  {
> > > +	if (expect_crash) {
> > > +		/* crash is expected, avoid dumping corefile */
> > > +		struct rlimit r;
> > > +
> > > +		r.rlim_cur = 1;
> > > +		r.rlim_max = 1;
> > > +		SAFE_SETRLIMIT(RLIMIT_CORE, &r);
> > 
> > Hmm, why not 0?
> 
> 1 is a special case, that disables also coredump-into-pipe,
> and it also happens to be small enough to skip coredump-to-file.
> 
> fs/coredump.c:
>   "if (cprm.limit == 1) {"
> 
> > The manual says that when we set it to 0 no core file are created. I
> > find that better than setting it to 1 which supposedly creates 1 byte
> > file...
> 
> That shouldn't happen because of this check:
>   if (cprm.limit < binfmt->min_coredump)

I guess that we should get the setrlimit manual page update then.

Looking at the kernel code it will skip the core-file creation silently
unless the minimal size > PAGE_SIZE for most of the binfmt handlers.

-- 
Cyril Hrubis
chrubis@suse.cz


More information about the ltp mailing list