|
Message-ID: <20111215064817.GB14237@elte.hu> Date: Thu, 15 Dec 2011 07:48:17 +0100 From: Ingo Molnar <mingo@...e.hu> To: Kees Cook <keescook@...omium.org> Cc: linux-kernel@...r.kernel.org, Randy Dunlap <rdunlap@...otime.net>, Alexander Viro <viro@...iv.linux.org.uk>, Rik van Riel <riel@...hat.com>, Federica Teodori <federica.teodori@...glemail.com>, Lucian Adrian Grijincu <lucian.grijincu@...il.com>, Andrew Morton <akpm@...ux-foundation.org>, Peter Zijlstra <a.p.zijlstra@...llo.nl>, Eric Paris <eparis@...hat.com>, Dan Rosenberg <drosenberg@...curity.com>, linux-doc@...r.kernel.org, linux-fsdevel@...r.kernel.org, kernel-hardening@...ts.openwall.com Subject: Re: [PATCH v2011.2] fs: symlink restrictions on sticky directories * Kees Cook <keescook@...omium.org> wrote: > + /* Check parent directory mode and owner. */ > + spin_lock(&dentry->d_lock); > + parent = dentry->d_parent->d_inode; > + if ((parent->i_mode & (S_ISVTX|S_IWOTH)) == (S_ISVTX|S_IWOTH) && > + parent->i_uid != inode->i_uid) { > + error = -EACCES; > + } > + spin_unlock(&dentry->d_lock); > + > +#ifdef CONFIG_AUDIT > + if (error) { > + struct audit_buffer *ab; > + > + ab = audit_log_start(current->audit_context, > + GFP_ATOMIC, AUDIT_AVC); > + audit_log_format(ab, "op=follow_link action=denied"); > + audit_log_d_path(ab, "path=", &nameidata->path); > + audit_log_format(ab, " name="); > + audit_log_untrustedstring(ab, dentry->d_name.name); > + audit_log_format(ab, " dev=%s ino=%lu", > + inode->i_sb->s_id, > + inode->i_ino); > + audit_log_end(ab); > + } > +#endif Hm, is GFP_ATOMIC really necessary here? Why not GFP_KERNEL? This is in VFS process context, not in some atomic context that has to be careful about allocations, right? Thanks, Ingo
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.