Make sure that we return EIO if one passes an invalid st.mode
into hostfs.

Signed-off-by: Richard Weinberger <richard@nod.at>
This commit is contained in:
Richard Weinberger 2015-03-02 00:10:25 +01:00
Родитель 4c6dcafc69
Коммит 2ad2dca6fd
1 изменённых файлов: 4 добавлений и 2 удалений

Просмотреть файл

@ -534,11 +534,13 @@ static int read_name(struct inode *ino, char *name)
init_special_inode(ino, st.mode & S_IFMT, rdev); init_special_inode(ino, st.mode & S_IFMT, rdev);
ino->i_op = &hostfs_iops; ino->i_op = &hostfs_iops;
break; break;
case S_IFREG:
default:
ino->i_op = &hostfs_iops; ino->i_op = &hostfs_iops;
ino->i_fop = &hostfs_file_fops; ino->i_fop = &hostfs_file_fops;
ino->i_mapping->a_ops = &hostfs_aops; ino->i_mapping->a_ops = &hostfs_aops;
break;
default:
return -EIO;
} }
ino->i_ino = st.ino; ino->i_ino = st.ino;