const char __user *const __user *, envp,
                int, flags)
 {
-       int lookup_flags = (flags & AT_EMPTY_PATH) ? LOOKUP_EMPTY : 0;
-
        return do_execveat(fd,
-                          getname_flags(filename, lookup_flags, NULL),
+                          getname_uflags(filename, flags),
                           argv, envp, flags);
 }
 
                       const compat_uptr_t __user *, envp,
                       int,  flags)
 {
-       int lookup_flags = (flags & AT_EMPTY_PATH) ? LOOKUP_EMPTY : 0;
-
        return compat_do_execveat(fd,
-                                 getname_flags(filename, lookup_flags, NULL),
+                                 getname_uflags(filename, flags),
                                  argv, envp, flags);
 }
 #endif
 
        return result;
 }
 
+struct filename *
+getname_uflags(const char __user *filename, int uflags)
+{
+       int flags = (uflags & AT_EMPTY_PATH) ? LOOKUP_EMPTY : 0;
+
+       return getname_flags(filename, flags, NULL);
+}
+
 struct filename *
 getname(const char __user * filename)
 {
 
 extern int filp_close(struct file *, fl_owner_t id);
 
 extern struct filename *getname_flags(const char __user *, int, int *);
+extern struct filename *getname_uflags(const char __user *, int);
 extern struct filename *getname(const char __user *);
 extern struct filename *getname_kernel(const char *);
 extern void putname(struct filename *name);