Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1341106 > unrolled thread

Re: [PATCH 3.2 08/67] af_unix: fix struct pid memory leak

Started byRainer Weikusat <rweikusat@mobileactivedefense.com>
First post2016-02-23 23:10 +0100
Last post2016-02-25 08:30 +0100
Articles 3 — 3 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH 3.2 08/67] af_unix: fix struct pid memory leak Rainer Weikusat <rweikusat@mobileactivedefense.com> - 2016-02-23 23:10 +0100
    Re: [PATCH 3.2 08/67] af_unix: fix struct pid memory leak Ben Hutchings <ben@decadent.org.uk> - 2016-02-25 01:20 +0100
      Re: [PATCH 3.2 08/67] af_unix: fix struct pid memory leak Willy Tarreau <w@1wt.eu> - 2016-02-25 08:30 +0100

#1341106 — Re: [PATCH 3.2 08/67] af_unix: fix struct pid memory leak

FromRainer Weikusat <rweikusat@mobileactivedefense.com>
Date2016-02-23 23:10 +0100
SubjectRe: [PATCH 3.2 08/67] af_unix: fix struct pid memory leak
Message-ID<r5tjA-3kK-19@gated-at.bofh.it>
Ben Hutchings <ben@decadent.org.uk> writes:
> 3.2.78-rc1 review patch.  If anyone has any objections, please let me know.
>
> ------------------
>
> From: Eric Dumazet <edumazet@google.com>
>
> commit fa0dc04df259ba2df3ce1920e9690c7842f8fa4b upstream.

[...]

> Fixes: b3ca9b02b007 ("net: fix multithreaded signal handling in unix recv routines")

[...]

>  net/unix/af_unix.c | 1 +
>  1 file changed, 1 insertion(+)
>
> --- a/net/unix/af_unix.c
> +++ b/net/unix/af_unix.c
> @@ -2100,6 +2100,7 @@ static int unix_stream_recvmsg(struct ki
>  
>  			if (signal_pending(current)) {
>  				err = sock_intr_errno(timeo);
> +				scm_destroy(siocb->scm);
>  				goto out;
>  			}

JFTR: The commit mentioned in the fixes is (just the relevant part)

@@ -1895,11 +1903,12 @@ static int unix_stream_recvmsg(struct kiocb *iocb, struct socket *sock,
 
                        timeo = unix_stream_data_wait(sk, timeo);
 
-                       if (signal_pending(current)) {
+                       if (signal_pending(current)
+                           ||  mutex_lock_interruptible(&u->readlock)) {
                                err = sock_intr_errno(timeo);
                                goto out;
                        }
-                       mutex_lock(&u->readlock);
+
                        continue;
  unlock:
                        unix_state_unlock(sk);

This not only didn't add the block triggering the error but this change
isn't even part of the (version of) the function which was fixed
anymore.

[toc] | [next] | [standalone]


#1342534

FromBen Hutchings <ben@decadent.org.uk>
Date2016-02-25 01:20 +0100
Message-ID<r5ROV-40H-5@gated-at.bofh.it>
In reply to#1341106

[Multipart message — attachments visible in raw view] — view raw

On Tue, 2016-02-23 at 22:07 +0000, Rainer Weikusat wrote:
> Ben Hutchings <ben@decadent.org.uk> writes:
> > 3.2.78-rc1 review patch.  If anyone has any objections, please let me know.
> > 
> > ------------------
> > 
> > From: Eric Dumazet <edumazet@google.com>
> > 
> > commit fa0dc04df259ba2df3ce1920e9690c7842f8fa4b upstream.
> 
> [...]
> 
> > Fixes: b3ca9b02b007 ("net: fix multithreaded signal handling in unix recv routines")
> 
> [...]
> 
> >  net/unix/af_unix.c | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > --- a/net/unix/af_unix.c
> > +++ b/net/unix/af_unix.c
> > @@ -2100,6 +2100,7 @@ static int unix_stream_recvmsg(struct ki
> >  
> >  			if (signal_pending(current)) {
> >  				err = sock_intr_errno(timeo);
> > +				scm_destroy(siocb->scm);
> >  				goto out;
> >  			}
> 
> JFTR: The commit mentioned in the fixes is (just the relevant part)
[...]
> This not only didn't add the block triggering the error but this change
> isn't even part of the (version of) the function which was fixed
> anymore.

Yes, it looks like the bug was really introduced way back in 2.5.65 by
"[NET]: Simplify scm handling and sendmsg/recvmsg invocation,
consolidate net compat syscalls."

So I think this is also needed for 2.6.32.

Ben.

-- 
Ben Hutchings
Beware of programmers who carry screwdrivers. - Leonard Brandwein

[toc] | [prev] | [next] | [standalone]


#1342889

FromWilly Tarreau <w@1wt.eu>
Date2016-02-25 08:30 +0100
Message-ID<r5Yx4-mB-13@gated-at.bofh.it>
In reply to#1342534
On Wed, Feb 24, 2016 at 09:24:39PM +0000, Ben Hutchings wrote:
(...)
> Yes, it looks like the bug was really introduced way back in 2.5.65 by
> "[NET]: Simplify scm handling and sendmsg/recvmsg invocation,
> consolidate net compat syscalls."
> 
> So I think this is also needed for 2.6.32.

Thanks for letting me know, Ben!

Willy

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web