Explorar o código

sctp: limit maximum autoclose setsockopt value

To avoid overflowing the maximum timer interval when transforming
the  autoclose interval from seconds to jiffies, limit the maximum
autoclose value to MAX_SCHEDULE_TIMEOUT/HZ.

Signed-off-by: Andrei Pelinescu-Onciul <andrei@iptel.org>
Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Andrei Pelinescu-Onciul %!s(int64=16) %!d(string=hai) anos
pai
achega
f6778aab6c
Modificáronse 1 ficheiros con 3 adicións e 0 borrados
  1. 3 0
      net/sctp/socket.c

+ 3 - 0
net/sctp/socket.c

@@ -2086,6 +2086,9 @@ static int sctp_setsockopt_autoclose(struct sock *sk, char __user *optval,
 		return -EINVAL;
 		return -EINVAL;
 	if (copy_from_user(&sp->autoclose, optval, optlen))
 	if (copy_from_user(&sp->autoclose, optval, optlen))
 		return -EFAULT;
 		return -EFAULT;
+	/* make sure it won't exceed MAX_SCHEDULE_TIMEOUT */
+	if (sp->autoclose > (MAX_SCHEDULE_TIMEOUT / HZ) )
+		sp->autoclose = MAX_SCHEDULE_TIMEOUT / HZ ;
 
 
 	return 0;
 	return 0;
 }
 }