From mboxrd@z Thu Jan 1 00:00:00 1970 From: Al Viro Subject: Re: [PATCH] vfs: remove redundant sanity check in do_mount Date: Fri, 12 Sep 2014 17:28:34 +0100 Message-ID: <20140912162834.GE7996@ZenIV.linux.org.uk> References: <1410537212-3153-1-git-send-email-waydi1@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org To: Seunghun Lee Return-path: Content-Disposition: inline In-Reply-To: <1410537212-3153-1-git-send-email-waydi1@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On Sat, Sep 13, 2014 at 12:53:32AM +0900, Seunghun Lee wrote: > In sys_mount, getname() checks dir_name. > So do_mount needn't check dir_name again. ... and simple grep shows four more call sites. At the very least, the commit message needs to cover those as well, *if* the check is, indeed, redundant. From the look through those guys it looks like it is, but... I wonder if it would make more sense to pass char __user * instead of char * here. And do getname() inside do_mount(). As it is, we do getname() in all callers *and* never look into the result of said getname() until passing it to do_mount(). So how about just passing userland pointer all the way down to do_mount() (grep for callers and watch out for ones in arch/alpha/kernel/osf_sys.c) and doing getname() in do_mount() itself?