Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934413AbbHLI6C (ORCPT ); Wed, 12 Aug 2015 04:58:02 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:60691 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934322AbbHLI54 (ORCPT ); Wed, 12 Aug 2015 04:57:56 -0400 From: Luis Henriques To: linux-kernel@vger.kernel.org, stable@vger.kernel.org, kernel-team@lists.ubuntu.com Cc: Eric Dumazet , "David S. Miller" , Luis Henriques Subject: [PATCH 3.16.y-ckt 059/118] net: graceful exit from netif_alloc_netdev_queues() Date: Wed, 12 Aug 2015 09:56:01 +0100 Message-Id: <1439369820-27005-60-git-send-email-luis.henriques@canonical.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1439369820-27005-1-git-send-email-luis.henriques@canonical.com> References: <1439369820-27005-1-git-send-email-luis.henriques@canonical.com> X-Extended-Stable: 3.16 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1361 Lines: 42 3.16.7-ckt16 -stable review patch. If anyone has any objections, please let me know. ------------------ From: Eric Dumazet commit d339727c2b1a10f25e6636670ab6e1841170e328 upstream. User space can crash kernel with ip link add ifb10 numtxqueues 100000 type ifb We must replace a BUG_ON() by proper test and return -EINVAL for crazy values. Fixes: 60877a32bce00 ("net: allow large number of tx queues") Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller Signed-off-by: Luis Henriques --- net/core/dev.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/net/core/dev.c b/net/core/dev.c index afa766c453e0..2e616d68a7aa 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -6049,7 +6049,8 @@ static int netif_alloc_netdev_queues(struct net_device *dev) struct netdev_queue *tx; size_t sz = count * sizeof(*tx); - BUG_ON(count < 1 || count > 0xffff); + if (count < 1 || count > 0xffff) + return -EINVAL; tx = kzalloc(sz, GFP_KERNEL | __GFP_NOWARN | __GFP_REPEAT); if (!tx) { -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/