Subject: Re: [PATCH v4] sctp: check the rto_min and rto_max

From: Daniel Borkmann <[email-masked]>
Date: Thu, 05 Dec 2013 17:25:17 +0100

On 12/05/2013 03:07 PM, Wang Weidong wrote:
> From: Wang Weidong <[email-masked]>
> On 2013/12/5 21:32, Neil Horman wrote:
>> On Thu, Dec 05, 2013 at 10:19:25AM +0800, Wang Weidong wrote:
>>> rto_min should be smaller than rto_max while rto_max should be larger
>>> than rto_min. Add two proc_handler for the checking. Add the check in
>>> sctp_setsockopt_rtoinfo.
>>> delete a blank line in proc_sctp_do_hmac_alg() declaration.
>>>
>>> Suggested-by: Vlad Yasevich <[email-masked]>
>>> Signed-off-by: Wang Weidong <[email-masked]>
>>> ---
>>>   net/sctp/socket.c |  5 ++++
>>>   net/sctp/sysctl.c | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++----
>>>   2 files changed, 74 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/net/sctp/socket.c b/net/sctp/socket.c
>>> index 72046b9..2e1af1b 100644
>>> --- a/net/sctp/socket.c
>>> +++ b/net/sctp/socket.c
>>> @@ -2818,6 +2818,11 @@ static int sctp_setsockopt_rtoinfo(struct sock *sk, char __user *optval, unsigne
>>>       if (copy_from_user(&rtoinfo, optval, optlen))
>>>           return -EFAULT;
>>>
>>> +    if (rtoinfo.srto_min < 1 ||
>>> +        rtoinfo.srto_max > 86400000 ||
>> These should be defiend to some descriptive value.
>>
> Thanks for your suggestion. I will fix it in v5.

While you're on v5 anyway, please also fix up spacing in your
commit from ...

static int proc_sctp_do_rto_min(struct ctl_table *ctl,
				int write,
				void __user*buffer, size_t *lenp,
				loff_t *ppos)

... to something like ...

static int proc_sctp_do_rto_min(struct ctl_table *ctl, int write,
				void __user *buffer, size_t *lenp,
				loff_t *ppos)

Thanks !