--- 5b14d11438b7a5747c626453df5519f3fd70a593 +++ a73ed781752dd689d1312399f33a4f939fdd646e @@ -958,6 +958,9 @@ mext_check_arguments(struct inode *orig_ return -EINVAL; } + if (IS_IMMUTABLE(donor_inode) || IS_APPEND(donor_inode)) + return -EPERM; + /* Ext4 move extent does not support swapfile */ if (IS_SWAPFILE(orig_inode) || IS_SWAPFILE(donor_inode)) { ext4_debug("ext4 move extent: The argument files should "