From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oren Laadan Subject: Re: [PATCH 4/6] [RFC] Split do_linkat() out of sys_linkat Date: Wed, 29 Sep 2010 16:28:49 -0400 Message-ID: <4CA3A181.7070704@cs.columbia.edu> References: <1285278812-16972-1-git-send-email-matthltc@us.ibm.com> <6987185123220ec2034677299859c5a63eaf2aed.1285278339.git.matthltc@us.ibm.com> <59e9d9fe9db11c6e06ef314541b1112f2b720a59.1285278339.git.matthltc@us.ibm.com> <9eade1f1ec10c23dae296feda8af9fe87085e843.1285278339.git.matthltc@us.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, Jamie Lokier , Amir Goldstein , Christoph Hellwig , Al Viro , linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Matt Helsley Return-path: In-Reply-To: <9eade1f1ec10c23dae296feda8af9fe87085e843.1285278339.git.matthltc-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: containers-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: containers-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org List-Id: linux-fsdevel.vger.kernel.org Reviewed-by: Oren Laadan (but see nit below) On 09/23/2010 05:53 PM, Matt Helsley wrote: > Separate the __user pathname handling from the bulk of the syscall. > Since we're doing this to enable relinking of unlinked files by > sys_checkpoint and not sys_linkat we're not using a sys-wrapper. > > Signed-off-by: Matt Helsley > Cc: containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org > Cc: Oren Laadan > Cc: Amir Goldstein > Cc: linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > Cc: Al Viro > Cc: Christoph Hellwig > Cc: Jamie Lokier ... > /* > * Hardlinks are often used in delicate situations. We avoid > * security-related surprises by not following symlinks on the > @@ -2468,11 +2513,10 @@ int vfs_link(struct dentry *old_dentry, struct inode *dir, struct dentry *new_de > SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname, > int, newdfd, const char __user *, newname, int, flags) > { > - struct dentry *new_dentry; > struct nameidata nd; > struct path old_path; > - int error; > char *to; > + int error; This little piece is unnecessary ;) [...]