All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andreas Dilger <adilger@dilger.ca>
To: Jan Kara <jack@suse.cz>
Cc: Ted Tso <tytso@mit.edu>,
	linux-ext4@vger.kernel.org,
	Ritesh Harjani <riteshh@linux.ibm.com>
Subject: Re: [PATCH] ext4: Detect already used quota file early
Date: Thu, 15 Oct 2020 01:33:24 -0600	[thread overview]
Message-ID: <43A89FE1-E2B2-4751-B79B-C99C3F15B1A8@dilger.ca> (raw)
In-Reply-To: <20201013132221.22725-1-jack@suse.cz>

[-- Attachment #1: Type: text/plain, Size: 1500 bytes --]

On Oct 13, 2020, at 7:22 AM, Jan Kara <jack@suse.cz> wrote:
> 
> When we try to use file already used as a quota file again (for the same
> or different quota type), strange things can happen. At the very least
> lockdep annotations may be wrong but also inode flags may be wrongly set
> / reset. When the file is used for two quota types at once we can even
> corrupt the file and likely crash the kernel. Catch all these cases by
> checking whether passed file is already used as quota file and bail
> early in that case.
> 
> This fixes occasional generic/219 failure due to lockdep complaint.
> 
> Reported-by: Ritesh Harjani <riteshh@linux.ibm.com>
> Signed-off-by: Jan Kara <jack@suse.cz>

Patch looks OK, but a minor question/suggestion below...

Reviewed-by: Andreas Dilger <adilger@dilger.ca>

> diff --git a/fs/ext4/super.c b/fs/ext4/super.c
> index ea425b49b345..49b2e6be35c4 100644
> --- a/fs/ext4/super.c
> +++ b/fs/ext4/super.c
> @@ -6042,6 +6042,11 @@ static int ext4_quota_on(struct super_block *sb, int type, int format_id,
> 	/* Quotafile not on the same filesystem? */
> 	if (path->dentry->d_sb != sb)
> 		return -EXDEV;
> +
> +	/* Quota already enabled for this file? */
> +	if (path->dentry->d_inode->i_flags & S_NOQUOTA)
> +		return -EBUSY;

Any reason not to use IS_NOQUOTA(path->dentry->d_inode) here?  I was trying
to see where S_NOQUOTA is set, and it seems that all of the quota code is
using IS_NOQUOTA().


Cheers, Andreas






[-- Attachment #2: Message signed with OpenPGP --]
[-- Type: application/pgp-signature, Size: 873 bytes --]

  reply	other threads:[~2020-10-15  7:33 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-13 13:22 [PATCH] ext4: Detect already used quota file early Jan Kara
2020-10-15  7:33 ` Andreas Dilger [this message]
2020-10-15  9:51   ` Jan Kara
2020-10-15 14:52 ` Theodore Y. Ts'o

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=43A89FE1-E2B2-4751-B79B-C99C3F15B1A8@dilger.ca \
    --to=adilger@dilger.ca \
    --cc=jack@suse.cz \
    --cc=linux-ext4@vger.kernel.org \
    --cc=riteshh@linux.ibm.com \
    --cc=tytso@mit.edu \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.