linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [Part1 PATCH 00/22] Add namespace support for audit
@ 2013-06-19  1:53 Gao feng
  2013-06-19  1:53 ` [PATCH 01/22] Audit: change type of audit_ever_enabled to bool Gao feng
                   ` (22 more replies)
  0 siblings, 23 replies; 39+ messages in thread
From: Gao feng @ 2013-06-19  1:53 UTC (permalink / raw)
  To: containers, linux-audit, linux-kernel
  Cc: eparis, serge.hallyn, ebiederm, sgrubb, aris, matthltc, Gao feng

This patchset is first part of namespace support for audit.
in this patchset, the mainly resources of audit system have
been isolated. the audit filter, rules havn't been isolated
now. It will be implemented in Part2. We finished the isolation
of user audit message in this patchset.

I choose to assign audit to the user namespace.
Right now,there are six kinds of namespaces, such as
net, mount, ipc, pid, uts and user. the first five
namespaces have special usage. the audit isn't suitable to
belong to these five namespaces, And since the flag of system
call clone is in short supply, we can't provide a new flag such
as CLONE_NEWAUDIT to enable audit namespace separately. so the
user namespace may be the best choice.

[Patch 4/21] add a compare function pointer for netlink table,
so audit subsystem can use it's self-defined compare function
to make sure audit netlink sockets can communicate with each
other when they in the same user namespace. this patch has been
merged into David's net-next tree.

There is one point that some people may dislike,in [PATCH 3/21],
the kernel side audit netlink socket is created only when we create
the first netns for the userns, and this userns will hold the netns
until we destroy this userns. It also means if we only unshare the
user namespace, the audit is unavailable since we don't have audit
netlink socket. if we should unshare user and net namespace both.

change from RFC:
1, Move the cleanup patches to the head of this patchset.
2, Fix a scheduling while atomic BUG. This bug is caused by
   kthread_stop in audit_free_user_ns.
3, Only allow init user namespace to change backlog_limit.
4, Audit subsystem is available only when kernel side audit
   netlink socket has been created.
5, Only isolate the basic resources of audit, and only make
   user audit message namespace aware.


This patchset is based on linus' linux tree.

You can pull this patchset from:
git://github.com/gao-feng/auditns.git

The following changes since commit 8177a9d79c0e942dcac3312f15585d0344d505a5

"lseek(fd, n, SEEK_END) does *not* go to eof - n"

are available in the git repository at:

git://github.com/gao-feng/auditns.git

for you to fetch changes up to 85c36b981ac692ec18e362ba484629a457d50cb2

"Audit: Allow GET,SET,USER MSG operations in uninit user namespace"

Gao feng (22):
  Audit: change type of audit_ever_enabled to bool
  Audit: remove duplicate comments
  Audit: make audit kernel side netlink sock per userns
  netlink: Add compare function for netlink_table
  Audit: implement audit self-defined compare function
  Audit: make audit_skb_queue per user namespace
  Audit: make audit_skb_hold_queue per user namespace
  Audit: make kauditd_task per user namespace
  Audit: make audit_nlk_portid per user namesapce
  Audit: make audit_enabled per user namespace
  Audit: make audit_ever_enabled per user namespace
  Audit: make audit_initialized per user namespace
  Audit: only allow init user namespace to change rate limit
  Audit: only allow init user namespace to change audit_failure
  Audit: only allow init user namespace to change backlog_limit
  Audit: make kauditd_wait per user namespace
  Audit: make audit_backlog_wait per user namespace
  Audit: introduce new audit logging interface for user namespace
  Audit: pass proper user namespace to audit_log_common_recv_msg
  Audit: Log audit config change in uninit user namespace
  Audit: send reply message to the auditd in proper user namespace
  Audit: Allow GET,SET,USER MSG operations in uninit user namespace

 include/linux/audit.h          |  39 +++-
 include/linux/netlink.h        |   1 +
 include/linux/user_namespace.h |  33 ++-
 kernel/audit.c                 | 452 +++++++++++++++++++++++++----------------
 kernel/audit.h                 |   7 +-
 kernel/auditsc.c               |  11 +-
 kernel/user_namespace.c        |   3 +
 net/netlink/af_netlink.c       |  32 ++-
 net/netlink/af_netlink.h       |   1 +
 9 files changed, 387 insertions(+), 192 deletions(-)

-- 
1.8.1.4


^ permalink raw reply	[flat|nested] 39+ messages in thread

end of thread, other threads:[~2013-07-04  3:28 UTC | newest]

Thread overview: 39+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-06-19  1:53 [Part1 PATCH 00/22] Add namespace support for audit Gao feng
2013-06-19  1:53 ` [PATCH 01/22] Audit: change type of audit_ever_enabled to bool Gao feng
2013-06-19  1:53 ` [PATCH 02/22] Audit: remove duplicate comments Gao feng
2013-06-19  1:53 ` [PATCH 03/22] Audit: make audit kernel side netlink sock per userns Gao feng
2013-06-19  1:53 ` [PATCH 04/22] netlink: Add compare function for netlink_table Gao feng
2013-06-19  1:53 ` [PATCH 05/22] Audit: implement audit self-defined compare function Gao feng
2013-06-19  1:53 ` [PATCH 06/22] Audit: make audit_skb_queue per user namespace Gao feng
2013-06-19  1:53 ` [PATCH 07/22] Audit: make audit_skb_hold_queue " Gao feng
2013-06-19  1:53 ` [PATCH 08/22] Audit: make kauditd_task " Gao feng
2013-06-19  1:53 ` [PATCH 09/22] Audit: make audit_nlk_portid per user namesapce Gao feng
2013-06-19  1:53 ` [PATCH 10/22] Audit: make audit_enabled per user namespace Gao feng
2013-06-19  1:53 ` [PATCH 11/22] Audit: make audit_ever_enabled " Gao feng
2013-06-19  1:53 ` [PATCH 12/22] Audit: make audit_initialized " Gao feng
2013-06-19  1:53 ` [PATCH 13/22] Audit: only allow init user namespace to change rate limit Gao feng
2013-06-19  1:53 ` [PATCH 14/22] Audit: only allow init user namespace to change audit_failure Gao feng
2013-06-19  1:53 ` [PATCH 15/22] Audit: only allow init user namespace to change backlog_limit Gao feng
2013-06-19  1:53 ` [PATCH 16/22] Audit: make kauditd_wait per user namespace Gao feng
2013-06-19  1:53 ` [PATCH 17/22] Audit: make audit_backlog_wait " Gao feng
2013-06-19  1:53 ` [PATCH 18/22] Audit: introduce new audit logging interface for " Gao feng
2013-06-19  1:53 ` [PATCH 19/22] Audit: pass proper user namespace to audit_log_common_recv_msg Gao feng
2013-06-19  1:53 ` [PATCH 20/22] Audit: Log audit config change in uninit user namespace Gao feng
2013-06-19  1:53 ` [PATCH 21/22] Audit: send reply message to the auditd in proper " Gao feng
2013-06-19  1:53 ` [PATCH 22/22] Audit: Allow GET,SET,USER MSG operations in uninit " Gao feng
2013-06-19 20:49 ` [Part1 PATCH 00/22] Add namespace support for audit Aristeu Rozanski
2013-06-19 20:51   ` Eric Paris
2013-06-19 21:03     ` Eric W. Biederman
2013-06-20  5:21       ` Gao feng
2013-06-20  3:02     ` Gao feng
2013-06-20  3:09       ` Gao feng
2013-06-20 22:01         ` Eric W. Biederman
2013-06-21  5:15           ` Gao feng
2013-06-24 15:02           ` Aristeu Rozanski
2013-06-24 19:03             ` Eric W. Biederman
2013-06-20 13:02       ` Eric Paris
2013-06-20 20:45         ` Serge E. Hallyn
2013-06-21  3:48         ` Gao feng
2013-06-21  9:51           ` Daniel J Walsh
2013-06-21 10:49             ` Eric W. Biederman
2013-07-04  3:30           ` Gao feng

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).