fs/ext4: Disallow verity if inode is DAX
Verity and DAX are incompatible. Changing the DAX mode due to a verity flag change is wrong without a corresponding address_space_operations update. Make the 2 options mutually exclusive by returning an error if DAX was set first. (Setting DAX is already disabled if Verity is set first.) Reviewed-by: Jan Kara <jack@suse.cz> Signed-off-by: Ira Weiny <ira.weiny@intel.com> Link: https://lore.kernel.org/r/20200528150003.828793-3-ira.weiny@intel.com Signed-off-by: Theodore Ts'o <tytso@mit.edu>
This commit is contained in:
parent
ff694ab60c
commit
6c0d077ff8
|
@ -39,3 +39,6 @@ is encrypted as well as the data itself.
|
|||
|
||||
Verity files cannot have blocks allocated past the end of the verity
|
||||
metadata.
|
||||
|
||||
Verity and DAX are not compatible and attempts to set both of these flags
|
||||
on a file will fail.
|
||||
|
|
|
@ -113,6 +113,9 @@ static int ext4_begin_enable_verity(struct file *filp)
|
|||
handle_t *handle;
|
||||
int err;
|
||||
|
||||
if (IS_DAX(inode))
|
||||
return -EINVAL;
|
||||
|
||||
if (ext4_verity_in_progress(inode))
|
||||
return -EBUSY;
|
||||
|
||||
|
|
Loading…
Reference in New Issue