lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1329399979-3647-1-git-send-email-jack@suse.cz>
Date:	Thu, 16 Feb 2012 14:46:08 +0100
From:	Jan Kara <jack@...e.cz>
To:	LKML <linux-kernel@...r.kernel.org>
Cc:	linux-fsdevel@...r.kernel.org, linux-mm@...ck.org,
	Andrew Morton <akpm@...ux-foundation.org>,
	Eric Sandeen <sandeen@...hat.com>,
	Dave Chinner <david@...morbit.com>, Jan Kara <jack@...e.cz>,
	Peter Zijlstra <a.p.zijlstra@...llo.nl>,
	Ingo Molnar <mingo@...e.hu>, Paul Mackerras <paulus@...ba.org>,
	Arnaldo Carvalho de Melo <acme@...stprotocols.net>,
	Jaya Kumar <jayalk@...works.biz>,
	Sage Weil <sage@...dream.net>, ceph-devel@...r.kernel.org,
	Steve French <sfrench@...ba.org>, linux-cifs@...r.kernel.org,
	Eric Van Hensbergen <ericvh@...il.com>,
	Ron Minnich <rminnich@...dia.gov>,
	Latchesar Ionkov <lucho@...kov.net>,
	v9fs-developer@...ts.sourceforge.net,
	Miklos Szeredi <miklos@...redi.hu>,
	fuse-devel@...ts.sourceforge.net,
	Steven Whitehouse <swhiteho@...hat.com>,
	cluster-devel@...hat.com,
	Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
	Trond Myklebust <Trond.Myklebust@...app.com>,
	linux-nfs@...r.kernel.org
Subject: [PATCH 00/11] Push file_update_time() into .page_mkwrite

  Hello,

  to provide reliable support for filesystem freezing, filesystems need to have
complete control over when metadata is changed. In particular,
file_update_time() calls from page fault code make it impossible for
filesystems to prevent inodes from being dirtied while the filesystem is
frozen.

To fix the issue, this patch set changes page fault code to call
file_update_time() only when ->page_mkwrite() callback is not provided. If the
callback is provided, it is the responsibility of the filesystem to perform
update of i_mtime / i_ctime if needed. We also push file_update_time() call
to all existing ->page_mkwrite() implementations if the time update does not
obviously happen by other means. If you know your filesystem does not need
update of modification times in ->page_mkwrite() handler, please speak up and
I'll drop the patch for your filesystem.

As a side note, an alternative would be to remove call of file_update_time()
from page fault code altogether and require all filesystems needing it to do
that in their ->page_mkwrite() implementation. That is certainly possible
although maybe slightly inefficient and would require auditting 100+
vm_operations_structs *shake*.

If I get acks on these patches, Andrew, would you be willing to take these
patches?

								Honza

CC: Peter Zijlstra <a.p.zijlstra@...llo.nl>
CC: Ingo Molnar <mingo@...e.hu>
CC: Paul Mackerras <paulus@...ba.org>
CC: Arnaldo Carvalho de Melo <acme@...stprotocols.net>
CC: Jaya Kumar <jayalk@...works.biz>
CC: Sage Weil <sage@...dream.net>
CC: ceph-devel@...r.kernel.org
CC: Steve French <sfrench@...ba.org>
CC: linux-cifs@...r.kernel.org
CC: Eric Van Hensbergen <ericvh@...il.com>
CC: Ron Minnich <rminnich@...dia.gov>
CC: Latchesar Ionkov <lucho@...kov.net>
CC: v9fs-developer@...ts.sourceforge.net
CC: Miklos Szeredi <miklos@...redi.hu>
CC: fuse-devel@...ts.sourceforge.net
CC: Steven Whitehouse <swhiteho@...hat.com>
CC: cluster-devel@...hat.com
CC: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
CC: Trond Myklebust <Trond.Myklebust@...app.com>
CC: linux-nfs@...r.kernel.org
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ