From patchwork Tue Dec 2 21:01:14 2008 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: roel kluin X-Patchwork-Id: 11836 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.176.167]) by ozlabs.org (Postfix) with ESMTP id 8ED70DDD0B for ; Wed, 3 Dec 2008 08:01:16 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751315AbYLBVBO (ORCPT ); Tue, 2 Dec 2008 16:01:14 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751428AbYLBVBO (ORCPT ); Tue, 2 Dec 2008 16:01:14 -0500 Received: from ug-out-1314.google.com ([66.249.92.169]:17196 "EHLO ug-out-1314.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751315AbYLBVBN (ORCPT ); Tue, 2 Dec 2008 16:01:13 -0500 Received: by ug-out-1314.google.com with SMTP id 39so3185195ugf.37 for ; Tue, 02 Dec 2008 13:01:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:cc:subject:references:in-reply-to :content-type:content-transfer-encoding; bh=S7U/LRfmzyxNp0K95qgP1GPNkA8U9el3/KqbBhEkZMk=; b=nvUpV+LbwQ5Sxt5TlsVbfT5rzNy0l8Bq0JoZGsxJfUSnZNTkQwXyR7M1MBh4V/B76R ClwPyTp/TxEitd5vPQDqk9hTNR8oBQaj1OPIWzJMRRFV6Vt83BrhlRHwiRjBjsW2i/1i /coP9eSeK//rbhfw0A1u76YRnnVjrwaM4orh4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; b=laj1YGNRD/st+Rm6bkwEPO4yzE1lVwvpEhECbw6zAiI/mREC64zUCp7obKoT6vpLUc DXIfEpmRCuX3d2JO8wrgwbO4oEbu1MclU9Dp/GvzeH4CQcw/qKZJ60O3yiI2oAiiymYm AdgzuYIO0DlcqXWyT+dSUuKjOYuFi0EJOrgYA= Received: by 10.66.248.5 with SMTP id v5mr1020978ugh.75.1228251671356; Tue, 02 Dec 2008 13:01:11 -0800 (PST) Received: from ?192.168.1.148? (d133062.upc-d.chello.nl [213.46.133.62]) by mx.google.com with ESMTPS id o7sm7030824uge.0.2008.12.02.13.01.09 (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 02 Dec 2008 13:01:10 -0800 (PST) Message-ID: <4935A21A.60509@gmail.com> Date: Tue, 02 Dec 2008 22:01:14 +0100 From: Roel Kluin User-Agent: Thunderbird 2.0.0.14 (X11/20080421) MIME-Version: 1.0 To: Andrew Morton CC: sct@redhat.com, adilger@sun.com, linux-ext4@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v4] ext3, ext4: make i signed in do_split() References: <49310E1A.60105@gmail.com> <20081202120751.8b0226ca.akpm@linux-foundation.org> In-Reply-To: <20081202120751.8b0226ca.akpm@linux-foundation.org> Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org Andrew Morton wrote: > On Sat, 29 Nov 2008 04:40:42 -0500 > roel kluin wrote: > >> unsigned i >= 0 is always true >> - for (i = count-1; i >= 0; i--) { >> + for (i = count-1; i < count; i--) { break; > A local variable called `i' should always have signed type. In fact, > it should have `int' type. You are right. although count is unsigned, dx_make_map() returns int, which is assigned to count, so this should fit in an int. (If you ack this, make sure to get this patch, and not one of the others.) --------------->8----------------8<-------------------- Make i signed, otherwise the loop will not end when it becomes negative. Signed-off-by: Roel Kluin --- -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/fs/ext3/namei.c b/fs/ext3/namei.c index 3e5edc9..4846327 100644 --- a/fs/ext3/namei.c +++ b/fs/ext3/namei.c @@ -1156,9 +1156,9 @@ static struct ext3_dir_entry_2 *do_split(handle_t *handle, struct inode *dir, u32 hash2; struct dx_map_entry *map; char *data1 = (*bh)->b_data, *data2; - unsigned split, move, size, i; + unsigned split, move, size; struct ext3_dir_entry_2 *de = NULL, *de2; - int err = 0; + int err = 0, i; bh2 = ext3_append (handle, dir, &newblock, &err); if (!(bh2)) { diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c index 63adcb7..bca90c1 100644 --- a/fs/ext4/namei.c +++ b/fs/ext4/namei.c @@ -1166,9 +1166,9 @@ static struct ext4_dir_entry_2 *do_split(handle_t *handle, struct inode *dir, u32 hash2; struct dx_map_entry *map; char *data1 = (*bh)->b_data, *data2; - unsigned split, move, size, i; + unsigned split, move, size; struct ext4_dir_entry_2 *de = NULL, *de2; - int err = 0; + int err = 0, i; bh2 = ext4_append (handle, dir, &newblock, &err); if (!(bh2)) {