Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Mon, 16 Dec 2002 05:04:06 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Mon, 16 Dec 2002 05:02:28 -0500 Received: from cmailm3.svr.pol.co.uk ([195.92.193.19]:15888 "EHLO cmailm3.svr.pol.co.uk") by vger.kernel.org with ESMTP id ; Mon, 16 Dec 2002 05:02:19 -0500 Date: Mon, 16 Dec 2002 10:10:25 +0000 To: Joe Thornber Cc: Linus Torvalds , Kernel Mailing List Subject: 7/19 Message-ID: <20021216101025.GH7407@reti> References: <20021211121749.GA20782@reti> <20021216100457.GA7407@reti> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20021216100457.GA7407@reti> User-Agent: Mutt/1.4i From: Joe Thornber Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1138 Lines: 39 There's a bug in the dm-stripe.c constructor failing top check if enough destinations are handed in. [Heinz Mauelshagen] --- diff/drivers/md/dm-stripe.c 2002-12-16 09:40:48.000000000 +0000 +++ source/drivers/md/dm-stripe.c 2002-12-16 09:40:53.000000000 +0000 @@ -131,6 +131,15 @@ return -EINVAL; } + /* + * Do we have enough arguments for that many stripes ? + */ + if (argc != (2 + 2 * stripes)) { + ti->error = "dm-stripe: Not enough destinations " + "specified"; + return -EINVAL; + } + sc = alloc_context(stripes); if (!sc) { ti->error = "dm-stripe: Memory allocation for striped context " @@ -151,13 +160,6 @@ * Get the stripe destinations. */ for (i = 0; i < stripes; i++) { - if (argc < 2) { - ti->error = "dm-stripe: Not enough destinations " - "specified"; - kfree(sc); - return -EINVAL; - } - argv += 2; r = get_stripe(ti, sc, i, argv); - 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/