diff options
Diffstat (limited to 'net/core/scm.c')
| -rw-r--r-- | net/core/scm.c | 2 | 
1 files changed, 2 insertions, 0 deletions
diff --git a/net/core/scm.c b/net/core/scm.c index 3b6899b7d810..8a1741b14302 100644 --- a/net/core/scm.c +++ b/net/core/scm.c @@ -305,6 +305,8 @@ void scm_detach_fds(struct msghdr *msg, struct scm_cookie *scm)  			err = put_user(cmlen, &cm->cmsg_len);  		if (!err) {  			cmlen = CMSG_SPACE(i*sizeof(int)); +			if (msg->msg_controllen < cmlen) +				cmlen = msg->msg_controllen;  			msg->msg_control += cmlen;  			msg->msg_controllen -= cmlen;  		}  | 
