selftests/timers: Quiet warning due to lack of return check on brk
[cascardo/linux.git] / fs / open.c
index a293c20..33f9cbf 100644 (file)
--- a/fs/open.c
+++ b/fs/open.c
@@ -968,8 +968,14 @@ struct file *file_open_name(struct filename *name, int flags, umode_t mode)
  */
 struct file *filp_open(const char *filename, int flags, umode_t mode)
 {
-       struct filename name = {.name = filename};
-       return file_open_name(&name, flags, mode);
+       struct filename *name = getname_kernel(filename);
+       struct file *file = ERR_CAST(name);
+       
+       if (!IS_ERR(name)) {
+               file = file_open_name(name, flags, mode);
+               putname(name);
+       }
+       return file;
 }
 EXPORT_SYMBOL(filp_open);