From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753610Ab2HQNWz (ORCPT ); Fri, 17 Aug 2012 09:22:55 -0400 Received: from mga01.intel.com ([192.55.52.88]:4610 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752294Ab2HQNWq (ORCPT ); Fri, 17 Aug 2012 09:22:46 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.77,784,1336374000"; d="scan'208";a="203521252" Date: Fri, 17 Aug 2012 21:22:37 +0800 From: Fengguang Wu To: "Theodore Ts'o" , Marti Raudsepp , Kernel hackers , ext4 hackers , maze@google.com Subject: Re: NULL pointer dereference in ext4_ext_remove_space on 3.5.1 Message-ID: <20120817132237.GA311@localhost> References: <20120816024654.GB3781@thunk.org> <20120816111051.GA16036@localhost> <20120816152513.GA31346@thunk.org> <20120817060110.GA28786@localhost> <20120817131558.GA11439@thunk.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20120817131558.GA11439@thunk.org> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Ted, On Fri, Aug 17, 2012 at 09:15:58AM -0400, Theodore Ts'o wrote: > Thanks Fengguang: > > For the record, I was able to find my own easy repro, last night using > only a 220 meg partition: > > # mke2fs -t ext4 -b 1024 -J size=1 /dev/vdc > # mount -t ext2 /dev/vdc /vdc > # mkdir /vdc/a > # cd /vdc/a > # seq 1 210000 | xargs -n 1 fallocate -l 1m > # seq 1 2 210000 | xargs /bin/rm > # mkdir /vdc/b > # cd /vdc/b > # seq 1 103 | xargs -n 1 fallocate -l 1g > # cd / > # umount /vdc > # mount -t ext4 -o commit=10000 /dev/vdc /vdc > # rm -rf /vdc/b It makes a nice and simple test script, I'd very like to add it to my 0day test system :-) > For future reference, there are a couple of things that are of > interest to ext4 developers when trying to create repro's: > > 1) The use of mounting with ext2 to speed up the setup. > > 2) The first two "seq ... | xargs ..." commands to create a very > fragmented file system. > > 3) Using a 1k block size file system to stress the extent tree code > and htree directory (since its easier to make larger tree structure). > > 4) The use of the mount option commit=10000 to test what happens when > the journal is full (without using a nice, fast device such as RAID array > or without burning write cycles on an expensive flash device.) Thanks for the directions! I'll make that a big comment. Thanks, Fengguang