I was going through some old patches in the ext4 patchwork list, and came across this. It looks like this patch has never been applied to mainline. If it's a "clear improvement", any reason not to submit it? Regards, - Ted On Mon, Sep 27, 2010 at 03:14:00PM +0200, Andreas Gruenbacher wrote: > > Ah, you mean this: > > --- a/fs/namei.c > +++ b/fs/namei.c > @@ -2450,7 +2450,9 @@ int vfs_link(struct dentry *old_dentry, struct inode *dir, struct dentry *new_de > if (!inode) > return -ENOENT; > > - error = may_create(dir, new_dentry, S_ISDIR(inode->i_mode)); > + if (S_ISDIR(inode->i_mode)) > + return -EPERM; > + error = may_create(dir, new_dentry, 0); > if (error) > return error; > > @@ -2464,8 +2466,6 @@ int vfs_link(struct dentry *old_dentry, struct inode *dir, struct dentry *new_de > return -EPERM; > if (!dir->i_op->link) > return -EPERM; > - if (S_ISDIR(inode->i_mode)) > - return -EPERM; > > error = security_inode_link(old_dentry, dir, new_dentry); > if (error) > > This is a clear improvement; I don't think it matters that user-space will > get -EPERM instead of -EXDEV when trying to hard-link a directory across > devices. > > Thanks, > Andreas -- 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