From: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
To: Duane Griffin <duaneg@dghda.com>
Cc: akpm@linux-foundation.org, Andreas Dilger <adilger@sun.com>,
linux-ext4@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 6/6] ext4: tighten restrictions on inode flags
Date: Wed, 11 Jun 2008 17:01:04 +0530 [thread overview]
Message-ID: <20080611113104.GC9008@skywalker> (raw)
In-Reply-To: <1213142649-32685-7-git-send-email-duaneg@dghda.com>
On Wed, Jun 11, 2008 at 01:04:09AM +0100, Duane Griffin wrote:
> At the moment there are few restrictions on which flags may be set on which
> inodes. Specifically DIRSYNC may only be set on directories and IMMUTABLE
> and APPEND may not be set on links. Tighten that to disallow TOPDIR being
> set on non-directories and SECRM, UNRM, COMPR, SYNC, DIRTY, COMPRBLK,
> NOCOMPR, ECOMPR, INDEX, JOURNAL_DATA, NOTAIL, HUGE_FILE, EXTENTS or
> EXT_MIGRATE being set on anything but regular files or directories.
>
> Introduce a flags masking function which masks flags based on mode and use
> it during inode creation and when flags are set via the ioctl to facilitate
> future consistency.
>
> Signed-off-by: Duane Griffin <duaneg@dghda.com>
> --
>
> The specific flags masked out here are those suggested by Andreas, as well
> as IMMUTABLE, which I included to match the behaviour of the existing code,
> and EXT_MIGRATE.
>
> It would be good to get some review of these.
>
> ---
> fs/ext4/ext4.h | 24 ++++++++++++++++++++++++
> fs/ext4/ialloc.c | 14 +++++---------
> fs/ext4/ioctl.c | 3 +--
> 3 files changed, 30 insertions(+), 11 deletions(-)
>
> diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
> index 1a4faa5..2aafd1b 100644
> --- a/fs/ext4/ext4.h
> +++ b/fs/ext4/ext4.h
> @@ -243,6 +243,30 @@ struct ext4_group_desc
> EXT4_JOURNAL_DATA_FL | EXT4_NOTAIL_FL|\
> EXT4_DIRSYNC_FL)
>
> +/* Flags that are inappropriate for regular files. */
> +#define EXT4_REG_FLMASK (EXT4_DIRSYNC_FL | EXT4_TOPDIR_FL)
> +
> +/* Flags that are inappropriate for non-directories/regular files. */
> +#define EXT4_OTHER_FLMASK (EXT4_SECRM_FL | EXT4_UNRM_FL | EXT4_COMPR_FL |\
> + EXT4_SYNC_FL | EXT4_IMMUTABLE_FL | EXT4_APPEND_FL |\
> + EXT4_DIRTY_FL | EXT4_COMPRBLK_FL | EXT4_NOCOMPR_FL|\
> + EXT4_ECOMPR_FL | EXT4_INDEX_FL |\
> + EXT4_JOURNAL_DATA_FL | EXT4_NOTAIL_FL |\
> + EXT4_DIRSYNC_FL | EXT4_TOPDIR_FL |\
> + EXT4_HUGE_FILE_FL | EXT4_EXTENTS_FL |\
> + EXT4_EXT_MIGRATE)
> +
> +/* Mask out flags that are inappropriate for the given type of inode. */
> +static inline __le32 ext4_mask_flags(__le16 mode, __le32 flags)
> +{
> + if (S_ISDIR(mode))
> + return flags;
> + else if (S_ISREG(mode))
> + return flags & ~EXT4_REG_FLMASK;
> + else
> + return flags & ~EXT4_OTHER_FLMASK;
> +}
> +
why are the arguments __le32 ? They should be in host order.
static inline __u32 ext4_mask_flags(umode_t mode, __u32 flags)
-aneesh
next prev parent reply other threads:[~2008-06-11 11:31 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
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
2008-06-11 0:04 ` [PATCH 2/6] ext3: " Duane Griffin
2008-06-11 0:04 ` [PATCH 3/6] ext4: " Duane Griffin
2008-06-11 0:04 ` [PATCH 4/6] ext2: tighten restrictions on inode flags Duane Griffin
2008-06-11 0:04 ` [PATCH 5/6] ext3: " Duane Griffin
2008-06-11 0:04 ` [PATCH 6/6] ext4: " Duane Griffin
2008-06-11 11:31 ` Aneesh Kumar K.V [this message]
2008-06-11 11:49 ` Duane Griffin
2008-06-12 19:27 ` Dave Kleikamp
2008-06-12 20:35 ` Duane Griffin
2008-06-12 9:06 ` [PATCH 4/6] ext2: " Andreas Dilger
2008-06-12 9:38 ` Duane Griffin
-- strict thread matches above, loose matches on Subject: below --
2008-06-19 15:41 [PATCH 0/6][v3] ext{2,3,4}: tighten inheritance and setting of " Duane Griffin
2008-06-19 15:42 ` [PATCH 1/6] ext2: don't inherit inappropriate inode flags from parent Duane Griffin
2008-06-19 15:42 ` [PATCH 2/6] ext3: " Duane Griffin
2008-06-19 15:42 ` [PATCH 3/6] ext4: " Duane Griffin
2008-06-19 15:42 ` [PATCH 4/6] ext2: tighten restrictions on inode flags Duane Griffin
2008-06-19 15:42 ` [PATCH 5/6] ext3: " Duane Griffin
2008-06-19 15:42 ` [PATCH 6/6] ext4: " Duane Griffin
2008-12-03 19:54 [PATCH 0/6][REPOST] ext{2,3,4}: tighten inheritance and setting of " Duane Griffin
2008-12-03 19:54 ` [PATCH 1/6] ext2: don't inherit inappropriate inode flags from parent Duane Griffin
2008-12-03 19:54 ` [PATCH 2/6] ext3: " 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
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=20080611113104.GC9008@skywalker \
--to=aneesh.kumar@linux.vnet.ibm.com \
--cc=adilger@sun.com \
--cc=akpm@linux-foundation.org \
--cc=duaneg@dghda.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