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

Signed-off-by: Richard Weinberger <[email protected]>
---
 fs/hostfs/hostfs_kern.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/fs/hostfs/hostfs_kern.c b/fs/hostfs/hostfs_kern.c
index 92b008f..8163aac 100644
--- a/fs/hostfs/hostfs_kern.c
+++ b/fs/hostfs/hostfs_kern.c
@@ -534,11 +534,13 @@ static int read_name(struct inode *ino, char *name)
                init_special_inode(ino, st.mode & S_IFMT, rdev);
                ino->i_op = &hostfs_iops;
                break;
-
-       default:
+       case S_IFREG:
                ino->i_op = &hostfs_iops;
                ino->i_fop = &hostfs_file_fops;
                ino->i_mapping->a_ops = &hostfs_aops;
+               break;
+       default:
+               return -EIO;
        }
 
        ino->i_ino = st.ino;
-- 
2.3.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to