diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index 2cf16ed5b74c..427ab1b41de3 100644
--- a/fs/f2fs/file.c
+++ b/fs/f2fs/file.c
@@ -1598,6 +1598,9 @@ static int f2fs_ioc_start_volatile_write(struct file *filp)
 	if (!inode_owner_or_capable(inode))
 		return -EACCES;
 
+	if (!S_ISREG(inode->i_mode))
+		return -EINVAL;
+
 	ret = mnt_want_write_file(filp);
 	if (ret)
 		return ret;