Thread (29 messages) 29 messages, 7 authors, 2014-01-23

Re: [PATCH v4 0/3] Send audit/procinfo/cgroup data in socket-level control message

From: Kay Sievers <hidden>
Date: 2014-01-23 19:31:47
Also in: cgroups, lkml

On Thu, Jan 16, 2014 at 10:29 AM, Jan Kaluža [off-list ref] wrote:
On 01/16/2014 12:23 AM, Tejun Heo wrote:
quoted
On Wed, Jan 15, 2014 at 06:21:43PM -0500, Eric Paris wrote:
quoted
Reliably being able to audit what process requested an action is
extremely useful.  And I like the audit patch, as it is a couple of ints
we are storing.

procinfo and cgroup can both be up to 4k of data.

Is there an alternative he should consider?  Some way to grab a
reference on task_struct and just attach that to the message?
Or maybe it can be made separately optional instead of tagging along
on an existing option so that it doesn't tax use cases which don't
care about the new stuff?
Right, I could add new option next to SOCK_PASSCRED which could be used to
send newly added stuff. Would this be acceptable?

I would still vote for SCM_AUDIT to be part of SOCK_PASSCRED and move
SCM_CGROUP and SCM_PROCINFO into new option.
Maybe we could just add a new SOCK_PASS_TASKINFO bit to set in
socket->flags. Set that bit with a new SO_PASS_TASKINFO sockoption.

The SOCK_PASS_TASKINFO can carry all sorts of "struct task" related
stuff, also include the audit data. It is all fully conditional, so
users which do not explicitly subscribe to TASKINFO will never see the
data or needlessly pay for the overhead.

A TASKINFO sounds generic enough to be possibly extended with new data
in the future, without wasting extra bits in the socket flags.

Users which subscribe with SO_PASS_TASKINFO expect some overhead
anyway. In the end it's still a lot cheaper than parsing /proc for the
data; which is also racy and does therefore not work for any
short-living program.

Thanks,
Kay
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help