diff options
Diffstat (limited to 'net/unix/af_unix.c')
| -rw-r--r-- | net/unix/af_unix.c | 9 | 
1 files changed, 2 insertions, 7 deletions
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c index 533fb682c954..78be8b520cef 100644 --- a/net/unix/af_unix.c +++ b/net/unix/af_unix.c @@ -1794,13 +1794,8 @@ static int unix_attach_fds(struct scm_cookie *scm, struct sk_buff *skb)  	if (too_many_unix_fds(current))  		return -ETOOMANYREFS; -	/* Need to duplicate file references for the sake of garbage -	 * collection.  Otherwise a socket in the fps might become a -	 * candidate for GC while the skb is not yet queued. -	 */ -	UNIXCB(skb).fp = scm_fp_dup(scm->fp); -	if (!UNIXCB(skb).fp) -		return -ENOMEM; +	UNIXCB(skb).fp = scm->fp; +	scm->fp = NULL;  	if (unix_prepare_fpl(UNIXCB(skb).fp))  		return -ENOMEM;  | 
