From owner-freebsd-current@FreeBSD.ORG Wed Apr 23 02:53:31 2014 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8CA07BF5 for ; Wed, 23 Apr 2014 02:53:31 +0000 (UTC) Received: from smtp.mei.co.jp (smtp.mei.co.jp [133.183.100.20]) by mx1.freebsd.org (Postfix) with ESMTP id 152351D9B for ; Wed, 23 Apr 2014 02:53:30 +0000 (UTC) Received: from mail-gw.jp.panasonic.com ([157.8.1.157]) by smtp.mei.co.jp (8.12.11.20060614/3.7W/kc-maile13) with ESMTP id s3N2rT7S012748 for ; Wed, 23 Apr 2014 11:53:29 +0900 (JST) Received: from epochmail.jp.panasonic.com ([157.8.1.130]) by mail.jp.panasonic.com (8.11.6p2/3.7W/kc-maili14) with ESMTP id s3N2rTL02965 for ; Wed, 23 Apr 2014 11:53:29 +0900 Received: by epochmail.jp.panasonic.com (8.12.11.20060308/3.7W/lomi16) id s3N2rTor017601 for freebsd-current@freebsd.org; Wed, 23 Apr 2014 11:53:29 +0900 Received: from localhost by lomi16.jp.panasonic.com (8.12.11.20060308/3.7W) with ESMTP id s3N2rTGS017564 for ; Wed, 23 Apr 2014 11:53:29 +0900 Date: Wed, 23 Apr 2014 11:53:29 +0900 (JST) Message-Id: <20140423.115329.1728349046094315079.okuno.kohji@jp.panasonic.com> To: freebsd-current@freebsd.org Subject: UFS SU+J bug? (Re: uninitialized journal data written in SU+J ?) From: Kohji Okuno In-Reply-To: References: Organization: Panasonic Corporation X-Mailer: Mew version 6.5 on Emacs 24.3 / Mule 6.0 (HANACHIRUSATO) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Apr 2014 02:53:31 -0000 Hi, If you use UFS SU+J, could you check your `.sujournal'? (For example: strings .sujournal) You will find memory that already has been released. In addition, unfotunately, if the memory was used for journal is re-used, although the journal is incorrect, fsck will missunderstand it. What do you think about this? Regards, Kohji Okuno From: takehara.mikihito@jp.panasonic.com Subject: uninitialized journal data written in SU+J ? Date: Tue, 22 Apr 2014 16:21:43 +0900 > Hello, > > > I'm testing UFS with SU+J. But it seems sometimes broken journal data has written. > > In softdep_process_journal (ffs_softdep.c), there is a while code to build jsegrec and each entry. > But by my test, sometimes there is no entry then break this while code without building jsegrec. > If this happens, bp->b_data is not initialized but this bp is written, I think. > > I checked this behavior by following patch. > ============================================================================================ > diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c > index 585af50..2d4939c 100644 > --- a/sys/ufs/ffs/ffs_softdep.c > +++ b/sys/ufs/ffs/ffs_softdep.c > @@ -3421,6 +3421,15 @@ softdep_process_journal(mp, needwk, flags) > data = bp->b_data + off; > cnt--; > } > + > +#if 1 > + if (off == 0) { > + struct jsegrec *tmp = (struct jsegrec*)bp->b_data; > + if (tmp->jsr_seq != jseg->js_seq) { > + panic("test test"); > + } > + } > +#endif > /* > * Write this one buffer and continue. > */ > ============================================================================================ > > If uninitialized data is "valid" by fsck suj, this may result filesystem corruption, I think. > I think it's better to clear b_data before using it. > > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"