On Sun, Sep 14, 2014 at 10:15:10PM +0900, Seunghun Lee wrote: > It would make more sense to pass char __user * instead of > char * in callers of do_mount() and do getname() inside do_mount(). > > Suggested-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> > Signed-off-by: Seunghun Lee <waydi1@xxxxxxxxx> Applied with one modification: this getname/kern_path/putname is equivalent to user_path(dir_name, &path) and do_mount() becomes simpler if we use that instead of not-quite-opencoding it. Beginning of do_mount() becomes simply /* Discard magic */ if ((flags & MS_MGC_MSK) == MS_MGC_VAL) flags &= ~MS_MGC_MSK; /* Basic sanity checks */ if (data_page) ((char *)data_page)[PAGE_SIZE - 1] = 0; /* ... and get the mountpoint */ retval = user_path(dir_name, &path); if (retval) return retval; that way, and there's no struct filename * to discard on exit; getname and putname are done inside user_path(). -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html