Re: siginfo memory leak?

From: Martin Schwidefsky
Date: Mon May 23 2016 - 09:29:37 EST


On Mon, 23 May 2016 15:05:38 +0200
Michal Hocko <mhocko@xxxxxxxxxx> wrote:

> On Mon 23-05-16 14:43:19, Martin Schwidefsky wrote:
> > On Mon, 23 May 2016 13:16:30 +0200
> [...]
> > > diff --git a/arch/s390/mm/fault.c b/arch/s390/mm/fault.c
> > > index 791a4146052c..41913fac14e4 100644
> > > --- a/arch/s390/mm/fault.c
> > > +++ b/arch/s390/mm/fault.c
> > > @@ -248,6 +248,7 @@ static noinline void do_sigsegv(struct pt_regs *regs, int si_code)
> > > si.si_signo = SIGSEGV;
> > > si.si_code = si_code;
> > > si.si_addr = (void __user *)(regs->int_parm_long & __FAIL_ADDR_MASK);
> > > + si.si_errno = 0;
> > > force_sig_info(SIGSEGV, &si, current);
> > > }
> > >
> >
> > The other for place where s390 calls force_sig_info are correct.
> > Only do_sigsegv misses the clear of si_errno.
>
> I can send a full patch with the proper changelog but I am really
> wondering whether we can plug this in a more systematic way. If you
> prefer a small s390 specific I will do it right away though. Same
> applies to x86 one.

Why not fix the bug with a small patch and then provide the "big"
solution? A potential information leak is not good ..

--
blue skies,
Martin.

"Reality continues to ruin my life." - Calvin.