diff options
-rw-r--r-- | fs/open.c | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -903,6 +903,18 @@ struct file *dentry_open(struct dentry *dentry, struct vfsmount *mnt, int flags) | |||
903 | int error; | 903 | int error; |
904 | struct file *f; | 904 | struct file *f; |
905 | 905 | ||
906 | /* | ||
907 | * We must always pass in a valid mount pointer. Historically | ||
908 | * callers got away with not passing it, but we must enforce this at | ||
909 | * the earliest possible point now to avoid strange problems deep in the | ||
910 | * filesystem stack. | ||
911 | */ | ||
912 | if (!mnt) { | ||
913 | printk(KERN_WARNING "%s called with NULL vfsmount\n", __func__); | ||
914 | dump_stack(); | ||
915 | return ERR_PTR(-EINVAL); | ||
916 | } | ||
917 | |||
906 | error = -ENFILE; | 918 | error = -ENFILE; |
907 | f = get_empty_filp(); | 919 | f = get_empty_filp(); |
908 | if (f == NULL) { | 920 | if (f == NULL) { |