summaryrefslogtreecommitdiffstats
path: root/kernel/auditsc.c
diff options
context:
space:
mode:
authorEric Paris <eparis@redhat.com>2012-01-03 14:23:07 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2012-01-17 16:16:59 -0500
commit54d3218b31aee5bc9c859ae60fbde933d922448b (patch)
treeebc383920713c283133d885191d0c19cb049afd2 /kernel/auditsc.c
parentefaffd6e4417860c67576ac760dd6e8bbd15f006 (diff)
downloadlinux-54d3218b31aee5bc9c859ae60fbde933d922448b.tar.gz
linux-54d3218b31aee5bc9c859ae60fbde933d922448b.tar.bz2
linux-54d3218b31aee5bc9c859ae60fbde933d922448b.zip
audit: allow audit matching on inode gid
Much like the ability to filter audit on the uid of an inode collected, we should be able to filter on the gid of the inode. Signed-off-by: Eric Paris <eparis@redhat.com>
Diffstat (limited to 'kernel/auditsc.c')
-rw-r--r--kernel/auditsc.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/kernel/auditsc.c b/kernel/auditsc.c
index 5cf3ecc01517..87b375fb12ff 100644
--- a/kernel/auditsc.c
+++ b/kernel/auditsc.c
@@ -598,6 +598,18 @@ static int audit_filter_rules(struct task_struct *tsk,
}
}
break;
+ case AUDIT_OBJ_GID:
+ if (name) {
+ result = audit_comparator(name->gid, f->op, f->val);
+ } else if (ctx) {
+ list_for_each_entry(n, &ctx->names_list, list) {
+ if (audit_comparator(n->gid, f->op, f->val)) {
+ ++result;
+ break;
+ }
+ }
+ }
+ break;
case AUDIT_WATCH:
if (name)
result = audit_watch_compare(rule->watch, name->ino, name->dev);