On Sat, Feb 18, 2012 at 11:38:57AM -0800, Kees Cook wrote: > @@ -3052,6 +3119,9 @@ SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname, > error = mnt_want_write(new_path.mnt); > if (error) > goto out_dput; > + error = may_linkat(&old_path); > + if (error) > + goto out_dput; > error = security_path_link(old_path.dentry, &new_path, new_dentry); > if (error) > goto out_drop_write; You should give up write access after check failure (i.e. goto out_drop_write). Marcin -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html