diff options
Diffstat (limited to 'fs/exec.c')
-rw-r--r-- | fs/exec.c | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -794,8 +794,14 @@ exit: | |||
794 | 794 | ||
795 | struct file *open_exec(const char *name) | 795 | struct file *open_exec(const char *name) |
796 | { | 796 | { |
797 | struct filename tmp = { .name = name }; | 797 | struct filename *filename = getname_kernel(name); |
798 | return do_open_execat(AT_FDCWD, &tmp, 0); | 798 | struct file *f = ERR_CAST(filename); |
799 | |||
800 | if (!IS_ERR(filename)) { | ||
801 | f = do_open_execat(AT_FDCWD, filename, 0); | ||
802 | putname(filename); | ||
803 | } | ||
804 | return f; | ||
799 | } | 805 | } |
800 | EXPORT_SYMBOL(open_exec); | 806 | EXPORT_SYMBOL(open_exec); |
801 | 807 | ||