From patchwork Fri Dec 9 01:24:43 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xi Wang X-Patchwork-Id: 130272 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 959391007D6 for ; Fri, 9 Dec 2011 12:26:48 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754002Ab1LIB0n (ORCPT ); Thu, 8 Dec 2011 20:26:43 -0500 Received: from mail-qy0-f174.google.com ([209.85.216.174]:41647 "EHLO mail-qy0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753568Ab1LIB0m (ORCPT ); Thu, 8 Dec 2011 20:26:42 -0500 Received: by qcqz2 with SMTP id z2so1824719qcq.19 for ; Thu, 08 Dec 2011 17:26:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer; bh=qWL7mWJC++rGMdH+FLL9fJJsFROJ9GbG6cvvKFre/Q8=; b=iIUnqedPiJoXCj32BoN7L+qO0fmCKoJ5dtB+YDkdjGBzy009dsTYhe79SO8zA2og+V TKd/5DjUgk8iwKQh9iqluOmz9mGSH8rjra3RKqA7TFg8fgJMzcTVaoP4mi9aUTXqXfTO mZL3PZRo581Ofz8e/D1g3DQX45xSPiCRm8kmw= Received: by 10.224.33.202 with SMTP id i10mr5300746qad.91.1323394001899; Thu, 08 Dec 2011 17:26:41 -0800 (PST) Received: from localhost.localdomain (hchen.csail.mit.edu. [18.26.5.5]) by mx.google.com with ESMTPS id bw9sm13234870qab.18.2011.12.08.17.26.39 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 08 Dec 2011 17:26:40 -0800 (PST) From: Xi Wang To: netdev@vger.kernel.org Cc: linux-sctp@vger.kernel.org, Xi Wang , Andrew Morton , Andrei Pelinescu-Onciul , Vlad Yasevich , "David S. Miller" Subject: [PATCH RESEND] sctp: fix incorrect overflow check on autoclose Date: Thu, 8 Dec 2011 20:24:43 -0500 Message-Id: <1323393883-3759-1-git-send-email-xi.wang@gmail.com> X-Mailer: git-send-email 1.7.5.4 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The commit 8ffd3208 voids the previous patches f6778aab and 810c0719 for limiting the maximum autoclose value. If userspace passes in -1 on 32-bit platform, the overflow check didn't work and autoclose would be set to 0xffffffff. Signed-off-by: Xi Wang Cc: Andrew Morton Cc: Andrei Pelinescu-Onciul Cc: Vlad Yasevich Cc: David S. Miller --- net/sctp/socket.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/net/sctp/socket.c b/net/sctp/socket.c index 13bf5fc..bb91281 100644 --- a/net/sctp/socket.c +++ b/net/sctp/socket.c @@ -2201,7 +2201,8 @@ static int sctp_setsockopt_autoclose(struct sock *sk, char __user *optval, if (copy_from_user(&sp->autoclose, optval, optlen)) return -EFAULT; /* make sure it won't exceed MAX_SCHEDULE_TIMEOUT */ - sp->autoclose = min_t(long, sp->autoclose, MAX_SCHEDULE_TIMEOUT / HZ); + sp->autoclose = min_t(unsigned long, sp->autoclose, + MAX_SCHEDULE_TIMEOUT / HZ); return 0; }