[PATCH v3 2/2] proc: ensure security hook is called after exec

Stephen Smalley stephen.smalley.work at gmail.com
Mon Jan 4 14:22:22 UTC 2021

On Mon, Jan 4, 2021 at 9:16 AM Stephen Smalley
<stephen.smalley.work at gmail.com> wrote:
> On Fri, Dec 18, 2020 at 7:06 PM Stephen Brennan
> <stephen.s.brennan at oracle.com> wrote:
> >
> > Smack needs its security_task_to_inode() hook to be called when a task
> > execs a new executable. Store the self_exec_id of the task and call the
> > hook via pid_update_inode() whenever the exec_id changes.
> >
> > Signed-off-by: Stephen Brennan <stephen.s.brennan at oracle.com>
> Sorry to be late in responding, but the proc inode security structure
> needs to be updated not only upon a context-changing exec but also
> upon a setcon(3) aka write to /proc/self/attr/current just like the
> uid/gid needs to be updated not only upon a setuid exec but also upon
> a setuid(2).  I'm also unclear as to why you can't call
> security_task_to_inode during RCU lookup; it doesn't block/sleep
> All it does is take a spinlock and update a few fields.

You could also optimize this by comparing the sid similar to how the
uid/gid are compared and only updating it within the hook if it has
not yet been initialized or has changed since it was originally set.

More information about the Linux-security-module-archive mailing list