public inbox for linux-ext4@vger.kernel.org
 help / color / mirror / Atom feed
From: "Duane Griffin" <duaneg@dghda.com>
To: akpm@linux-foundation.org
Cc: Andreas Dilger <adilger@sun.com>,
	"Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>,
	linux-ext4@vger.kernel.org, linux-kernel@vger.kernel.org,
	Duane Griffin <duaneg@dghda.com>
Subject: [PATCH 1/6] ext2: don't inherit inappropriate inode flags from parent
Date: Wed,  3 Dec 2008 19:54:58 +0000	[thread overview]
Message-ID: <1228334103-15948-2-git-send-email-duaneg@dghda.com> (raw)
In-Reply-To: <1228334103-15948-1-git-send-email-duaneg@dghda.com>

At present BTREE/INDEX is the only flag that new ext2 inodes do NOT
inherit from their parent. In addition prevent the flags DIRTY, ECOMPR,
INDEX, IMAGIC and TOPDIR from being inherited. List inheritable flags
explicitly to prevent future flags from accidentally being inherited.

This fixes the TOPDIR flag inheritance bug reported at
http://bugzilla.kernel.org/show_bug.cgi?id=9866.

Signed-off-by: Duane Griffin <duaneg@dghda.com>
---
 fs/ext2/ialloc.c        |    2 +-
 include/linux/ext2_fs.h |    7 +++++++
 2 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/fs/ext2/ialloc.c b/fs/ext2/ialloc.c
index 8d0add6..8c1897e 100644
--- a/fs/ext2/ialloc.c
+++ b/fs/ext2/ialloc.c
@@ -565,7 +565,7 @@ got:
 	inode->i_blocks = 0;
 	inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME_SEC;
 	memset(ei->i_data, 0, sizeof(ei->i_data));
-	ei->i_flags = EXT2_I(dir)->i_flags & ~EXT2_BTREE_FL;
+	ei->i_flags = EXT2_I(dir)->i_flags & EXT2_FL_INHERITED;
 	if (S_ISLNK(mode))
 		ei->i_flags &= ~(EXT2_IMMUTABLE_FL|EXT2_APPEND_FL);
 	/* dirsync is only applied to directories */
diff --git a/include/linux/ext2_fs.h b/include/linux/ext2_fs.h
index 78c775a..c3a0518 100644
--- a/include/linux/ext2_fs.h
+++ b/include/linux/ext2_fs.h
@@ -194,6 +194,13 @@ struct ext2_group_desc
 #define EXT2_FL_USER_VISIBLE		FS_FL_USER_VISIBLE	/* User visible flags */
 #define EXT2_FL_USER_MODIFIABLE		FS_FL_USER_MODIFIABLE	/* User modifiable flags */
 
+/* Flags that should be inherited by new inodes from their parent. */
+#define EXT2_FL_INHERITED (EXT2_SECRM_FL | EXT2_UNRM_FL | EXT2_COMPR_FL |\
+			   EXT2_SYNC_FL | EXT2_IMMUTABLE_FL | EXT2_APPEND_FL |\
+			   EXT2_NODUMP_FL | EXT2_NOATIME_FL | EXT2_COMPRBLK_FL|\
+			   EXT2_NOCOMP_FL | EXT2_JOURNAL_DATA_FL |\
+			   EXT2_NOTAIL_FL | EXT2_DIRSYNC_FL)
+
 /*
  * ioctl commands
  */
-- 
1.5.6.4


  reply	other threads:[~2008-12-03 20:01 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-03 19:54 [PATCH 0/6][REPOST] ext{2,3,4}: tighten inheritance and setting of inode flags Duane Griffin
2008-12-03 19:54 ` Duane Griffin [this message]
2008-12-03 19:54   ` [PATCH 2/6] ext3: don't inherit inappropriate inode flags from parent Duane Griffin
2008-12-03 19:55     ` [PATCH 3/6] ext4: " Duane Griffin
2008-12-03 19:55       ` [PATCH 4/6] ext2: tighten restrictions on inode flags Duane Griffin
2008-12-03 19:55         ` [PATCH 5/6] ext3: " Duane Griffin
2008-12-03 19:55           ` [PATCH 6/6] ext4: " Duane Griffin
2008-12-04  6:39 ` [PATCH 0/6][REPOST] ext{2,3,4}: tighten inheritance and setting of " Andreas Dilger
  -- strict thread matches above, loose matches on Subject: below --
2008-06-19 15:41 [PATCH 0/6][v3] " Duane Griffin
2008-06-19 15:42 ` [PATCH 1/6] ext2: don't inherit inappropriate inode flags from parent Duane Griffin
2008-06-11  0:04 [PATCH 0/6][v2] ext{2,3,4}: tighten inheritance and setting of inode flags Duane Griffin
2008-06-11  0:04 ` [PATCH 1/6] ext2: don't inherit inappropriate inode flags from parent Duane Griffin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1228334103-15948-2-git-send-email-duaneg@dghda.com \
    --to=duaneg@dghda.com \
    --cc=adilger@sun.com \
    --cc=akpm@linux-foundation.org \
    --cc=aneesh.kumar@linux.vnet.ibm.com \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox