]> git.baikalelectronics.ru Git - kernel.git/commit
fscrypt: remove reachable WARN in fscrypt_setup_iv_ino_lblk_32_key()
authorEric Biggers <ebiggers@google.com>
Sat, 31 Oct 2020 00:45:56 +0000 (17:45 -0700)
committerEric Biggers <ebiggers@google.com>
Fri, 6 Nov 2020 17:48:55 +0000 (09:48 -0800)
commit36cd651a8533090e640e547fc2b08ec2e85d3203
tree73b98ccd1c786537e0455cd239503a0871d545f1
parenta5b4f6b821b1563b54d8e4615d1b6ea21b7dc9d9
fscrypt: remove reachable WARN in fscrypt_setup_iv_ino_lblk_32_key()

I_CREATING isn't actually set until the inode has been assigned an inode
number and inserted into the inode hash table.  So the WARN_ON() in
fscrypt_setup_iv_ino_lblk_32_key() is wrong, and it can trigger when
creating an encrypted file on ext4.  Remove it.

This was sometimes causing xfstest generic/602 to fail on ext4.  I
didn't notice it before because due to a separate oversight, new inodes
that haven't been assigned an inode number yet don't necessarily have
i_ino == 0 as I had thought, so by chance I never saw the test fail.

Fixes: 08d21d876304 ("fscrypt: add fscrypt_prepare_new_inode() and fscrypt_set_context()")
Reported-by: Theodore Y. Ts'o <tytso@mit.edu>
Link: https://lore.kernel.org/r/20201031004556.87862-1-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@google.com>
fs/crypto/keysetup.c