Release 4.12 include/linux/audit.h
/* audit.h -- Auditing support
*
* Copyright 2003-2004 Red Hat Inc., Durham, North Carolina.
* All Rights Reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* Written by Rickard E. (Rik) Faith <faith@redhat.com>
*
*/
#ifndef _LINUX_AUDIT_H_
#define _LINUX_AUDIT_H_
#include <linux/sched.h>
#include <linux/ptrace.h>
#include <uapi/linux/audit.h>
#define AUDIT_INO_UNSET ((unsigned long)-1)
#define AUDIT_DEV_UNSET ((dev_t)-1)
struct audit_sig_info {
uid_t uid;
pid_t pid;
char ctx[0];
};
struct audit_buffer;
struct audit_context;
struct inode;
struct netlink_skb_parms;
struct path;
struct linux_binprm;
struct mq_attr;
struct mqstat;
struct audit_watch;
struct audit_tree;
struct sk_buff;
struct audit_krule {
u32 pflags;
u32 flags;
u32 listnr;
u32 action;
u32 mask[AUDIT_BITMASK_SIZE];
u32 buflen; /* for data alloc on list rules */
u32 field_count;
char *filterkey; /* ties events to rules */
struct audit_field *fields;
struct audit_field *arch_f; /* quick access to arch field */
struct audit_field *inode_f; /* quick access to an inode field */
struct audit_watch *watch; /* associated watch */
struct audit_tree *tree; /* associated watched tree */
struct audit_fsnotify_mark *exe;
struct list_head rlist; /* entry in audit_{watch,tree}.rules list */
struct list_head list; /* for AUDIT_LIST* purposes only */
u64 prio;
};
/* Flag to indicate legacy AUDIT_LOGINUID unset usage */
#define AUDIT_LOGINUID_LEGACY 0x1
struct audit_field {
u32 type;
union {
u32 val;
kuid_t uid;
kgid_t gid;
struct {
char *lsm_str;
void *lsm_rule;
};
};
u32 op;
};
extern int is_audit_feature_set(int which);
extern int __init audit_register_class(int class, unsigned *list);
extern int audit_classify_syscall(int abi, unsigned syscall);
extern int audit_classify_arch(int arch);
/* only for compat system calls */
extern unsigned compat_write_class[];
extern unsigned compat_read_class[];
extern unsigned compat_dir_class[];
extern unsigned compat_chattr_class[];
extern unsigned compat_signal_class[];
extern int audit_classify_compat_syscall(int abi, unsigned syscall);
/* audit_names->type values */
#define AUDIT_TYPE_UNKNOWN 0
/* we don't know yet */
#define AUDIT_TYPE_NORMAL 1
/* a "normal" audit record */
#define AUDIT_TYPE_PARENT 2
/* a parent audit record */
#define AUDIT_TYPE_CHILD_DELETE 3
/* a child being deleted */
#define AUDIT_TYPE_CHILD_CREATE 4
/* a child being created */
/* maximized args number that audit_socketcall can process */
#define AUDITSC_ARGS 6
/* bit values for ->signal->audit_tty */
#define AUDIT_TTY_ENABLE BIT(0)
#define AUDIT_TTY_LOG_PASSWD BIT(1)
struct filename;
extern void audit_log_session_info(struct audit_buffer *ab);
#ifdef CONFIG_AUDIT
/* These are defined in audit.c */
/* Public API */
extern __printf(4, 5)
void audit_log(struct audit_context *ctx, gfp_t gfp_mask, int type,
const char *fmt, ...);
extern struct audit_buffer *audit_log_start(struct audit_context *ctx, gfp_t gfp_mask, int type);
extern __printf(2, 3)
void audit_log_format(struct audit_buffer *ab, const char *fmt, ...);
extern void audit_log_end(struct audit_buffer *ab);
extern bool audit_string_contains_control(const char *string,
size_t len);
extern void audit_log_n_hex(struct audit_buffer *ab,
const unsigned char *buf,
size_t len);
extern void audit_log_n_string(struct audit_buffer *ab,
const char *buf,
size_t n);
extern void audit_log_n_untrustedstring(struct audit_buffer *ab,
const char *string,
size_t n);
extern void audit_log_untrustedstring(struct audit_buffer *ab,
const char *string);
extern void audit_log_d_path(struct audit_buffer *ab,
const char *prefix,
const struct path *path);
extern void audit_log_key(struct audit_buffer *ab,
char *key);
extern void audit_log_link_denied(const char *operation,
const struct path *link);
extern void audit_log_lost(const char *message);
#ifdef CONFIG_SECURITY
extern void audit_log_secctx(struct audit_buffer *ab, u32 secid);
#else
static inline void audit_log_secctx(struct audit_buffer *ab, u32 secid)
{ }
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 8 | 57.14% | 1 | 50.00% |
Eric Paris | 6 | 42.86% | 1 | 50.00% |
Total | 14 | 100.00% | 2 | 100.00% |
#endif
extern int audit_log_task_context(struct audit_buffer *ab);
extern void audit_log_task_info(struct audit_buffer *ab,
struct task_struct *tsk);
extern int audit_update_lsm_rules(void);
/* Private API (for audit.c only) */
extern int audit_rule_change(int type, int seq, void *data, size_t datasz);
extern int audit_list_rules_send(struct sk_buff *request_skb, int seq);
extern u32 audit_enabled;
#else /* CONFIG_AUDIT */
static inline __printf(4, 5)
void audit_log(struct audit_context *ctx, gfp_t gfp_mask, int type,
const char *fmt, ...)
{ }
static inline struct audit_buffer *audit_log_start(struct audit_context *ctx,
gfp_t gfp_mask, int type)
{
return NULL;
}
static inline __printf(2, 3)
void audit_log_format(struct audit_buffer *ab, const char *fmt, ...)
{ }
static inline void audit_log_end(struct audit_buffer *ab)
{ }
static inline void audit_log_n_hex(struct audit_buffer *ab,
const unsigned char *buf, size_t len)
{ }
static inline void audit_log_n_string(struct audit_buffer *ab,
const char *buf, size_t n)
{ }
static inline void audit_log_n_untrustedstring(struct audit_buffer *ab,
const char *string, size_t n)
{ }
static inline void audit_log_untrustedstring(struct audit_buffer *ab,
const char *string)
{ }
static inline void audit_log_d_path(struct audit_buffer *ab,
const char *prefix,
const struct path *path)
{ }
static inline void audit_log_key(struct audit_buffer *ab, char *key)
{ }
static inline void audit_log_link_denied(const char *string,
const struct path *link)
{ }
static inline void audit_log_secctx(struct audit_buffer *ab, u32 secid)
{ }
static inline int audit_log_task_context(struct audit_buffer *ab)
{
return 0;
}
static inline void audit_log_task_info(struct audit_buffer *ab,
struct task_struct *tsk)
{ }
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 8 | 50.00% | 1 | 33.33% |
Kees Cook | 6 | 37.50% | 1 | 33.33% |
Eric Paris | 2 | 12.50% | 1 | 33.33% |
Total | 16 | 100.00% | 3 | 100.00% |
#define audit_enabled 0
#endif /* CONFIG_AUDIT */
#ifdef CONFIG_AUDIT_COMPAT_GENERIC
#define audit_is_compat(arch) (!((arch) & __AUDIT_ARCH_64BIT))
#else
#define audit_is_compat(arch) false
#endif
#ifdef CONFIG_AUDITSYSCALL
#include <asm/syscall.h> /* for syscall_get_arch() */
/* These are defined in auditsc.c */
/* Public API */
extern int audit_alloc(struct task_struct *task);
extern void __audit_free(struct task_struct *task);
extern void __audit_syscall_entry(int major, unsigned long a0, unsigned long a1,
unsigned long a2, unsigned long a3);
extern void __audit_syscall_exit(int ret_success, long ret_value);
extern struct filename *__audit_reusename(const __user char *uptr);
extern void __audit_getname(struct filename *name);
#define AUDIT_INODE_PARENT 1
/* dentry represents the parent */
#define AUDIT_INODE_HIDDEN 2
/* audit record should be hidden */
extern void __audit_inode(struct filename *name, const struct dentry *dentry,
unsigned int flags);
extern void __audit_file(const struct file *);
extern void __audit_inode_child(struct inode *parent,
const struct dentry *dentry,
const unsigned char type);
extern void __audit_seccomp(unsigned long syscall, long signr, int code);
extern void __audit_ptrace(struct task_struct *t);
static inline bool audit_dummy_context(void)
{
void *p = current->audit_context;
return !p || *(int *)p;
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 21 | 75.00% | 1 | 25.00% |
Al Viro | 5 | 17.86% | 2 | 50.00% |
Andrew Morton | 2 | 7.14% | 1 | 25.00% |
Total | 28 | 100.00% | 4 | 100.00% |
static inline void audit_free(struct task_struct *task)
{
if (unlikely(task->audit_context))
__audit_free(task);
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Al Viro | 16 | 61.54% | 2 | 66.67% |
Paul Moore | 10 | 38.46% | 1 | 33.33% |
Total | 26 | 100.00% | 3 | 100.00% |
static inline void audit_syscall_entry(int major, unsigned long a0,
unsigned long a1, unsigned long a2,
unsigned long a3)
{
if (unlikely(current->audit_context))
__audit_syscall_entry(major, a0, a1, a2, a3);
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Al Viro | 24 | 50.00% | 2 | 66.67% |
Paul Moore | 24 | 50.00% | 1 | 33.33% |
Total | 48 | 100.00% | 3 | 100.00% |
static inline void audit_syscall_exit(void *pt_regs)
{
if (unlikely(current->audit_context)) {
int success = is_syscall_success(pt_regs);
long return_code = regs_return_value(pt_regs);
__audit_syscall_exit(success, return_code);
}
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 23 | 51.11% | 1 | 33.33% |
Eric Paris | 21 | 46.67% | 1 | 33.33% |
Richard Guy Briggs | 1 | 2.22% | 1 | 33.33% |
Total | 45 | 100.00% | 3 | 100.00% |
static inline struct filename *audit_reusename(const __user char *name)
{
if (unlikely(!audit_dummy_context()))
return __audit_reusename(name);
return NULL;
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Eric Paris | 22 | 66.67% | 1 | 50.00% |
Paul Moore | 11 | 33.33% | 1 | 50.00% |
Total | 33 | 100.00% | 2 | 100.00% |
static inline void audit_getname(struct filename *name)
{
if (unlikely(!audit_dummy_context()))
__audit_getname(name);
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
George C. Wilson | 16 | 61.54% | 1 | 25.00% |
Paul Moore | 5 | 19.23% | 1 | 25.00% |
Al Viro | 5 | 19.23% | 2 | 50.00% |
Total | 26 | 100.00% | 4 | 100.00% |
static inline void audit_inode(struct filename *name,
const struct dentry *dentry,
unsigned int parent) {
if (unlikely(!audit_dummy_context())) {
unsigned int flags = 0;
if (parent)
flags |= AUDIT_INODE_PARENT;
__audit_inode(name, dentry, flags);
}
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 31 | 55.36% | 1 | 25.00% |
George C. Wilson | 20 | 35.71% | 1 | 25.00% |
Al Viro | 5 | 8.93% | 2 | 50.00% |
Total | 56 | 100.00% | 4 | 100.00% |
static inline void audit_file(struct file *file)
{
if (unlikely(!audit_dummy_context()))
__audit_file(file);
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
George C. Wilson | 16 | 61.54% | 1 | 25.00% |
Al Viro | 5 | 19.23% | 2 | 50.00% |
Paul Moore | 5 | 19.23% | 1 | 25.00% |
Total | 26 | 100.00% | 4 | 100.00% |
static inline void audit_inode_parent_hidden(struct filename *name,
const struct dentry *dentry)
{
if (unlikely(!audit_dummy_context()))
__audit_inode(name, dentry,
AUDIT_INODE_PARENT | AUDIT_INODE_HIDDEN);
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
George C. Wilson | 18 | 47.37% | 1 | 25.00% |
Paul Moore | 15 | 39.47% | 1 | 25.00% |
Al Viro | 5 | 13.16% | 2 | 50.00% |
Total | 38 | 100.00% | 4 | 100.00% |
static inline void audit_inode_child(struct inode *parent,
const struct dentry *dentry,
const unsigned char type) {
if (unlikely(!audit_dummy_context()))
__audit_inode_child(parent, dentry, type);
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Eric Paris | 24 | 58.54% | 1 | 33.33% |
Paul Moore | 14 | 34.15% | 1 | 33.33% |
David Howells | 3 | 7.32% | 1 | 33.33% |
Total | 41 | 100.00% | 3 | 100.00% |
void audit_core_dumps(long signr);
static inline void audit_seccomp(unsigned long syscall, long signr, int code)
{
if (!audit_enabled)
return;
/* Force a record to be reported if a signal was delivered. */
if (signr || unlikely(!audit_dummy_context()))
__audit_seccomp(syscall, signr, code);
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 23 | 52.27% | 1 | 33.33% |
Eric Paris | 19 | 43.18% | 1 | 33.33% |
Al Viro | 2 | 4.55% | 1 | 33.33% |
Total | 44 | 100.00% | 3 | 100.00% |
static inline void audit_ptrace(struct task_struct *t)
{
if (unlikely(!audit_dummy_context()))
__audit_ptrace(t);
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Al Viro | 19 | 73.08% | 1 | 50.00% |
Paul Moore | 7 | 26.92% | 1 | 50.00% |
Total | 26 | 100.00% | 2 | 100.00% |
/* Private API (for audit.c only) */
extern unsigned int audit_serial(void);
extern int auditsc_get_stamp(struct audit_context *ctx,
struct timespec64 *t, unsigned int *serial);
extern int audit_set_loginuid(kuid_t loginuid);
static inline kuid_t audit_get_loginuid(struct task_struct *tsk)
{
return tsk->loginuid;
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Kees Cook | 9 | 52.94% | 1 | 33.33% |
Paul Moore | 6 | 35.29% | 1 | 33.33% |
Andrew Morton | 2 | 11.76% | 1 | 33.33% |
Total | 17 | 100.00% | 3 | 100.00% |
static inline unsigned int audit_get_sessionid(struct task_struct *tsk)
{
return tsk->sessionid;
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 11 | 61.11% | 1 | 33.33% |
Kees Cook | 5 | 27.78% | 1 | 33.33% |
Andrew Morton | 2 | 11.11% | 1 | 33.33% |
Total | 18 | 100.00% | 3 | 100.00% |
extern void __audit_ipc_obj(struct kern_ipc_perm *ipcp);
extern void __audit_ipc_set_perm(unsigned long qbytes, uid_t uid, gid_t gid, umode_t mode);
extern void __audit_bprm(struct linux_binprm *bprm);
extern int __audit_socketcall(int nargs, unsigned long *args);
extern int __audit_sockaddr(int len, void *addr);
extern void __audit_fd_pair(int fd1, int fd2);
extern void __audit_mq_open(int oflag, umode_t mode, struct mq_attr *attr);
extern void __audit_mq_sendrecv(mqd_t mqdes, size_t msg_len, unsigned int msg_prio, const struct timespec *abs_timeout);
extern void __audit_mq_notify(mqd_t mqdes, const struct sigevent *notification);
extern void __audit_mq_getsetattr(mqd_t mqdes, struct mq_attr *mqstat);
extern int __audit_log_bprm_fcaps(struct linux_binprm *bprm,
const struct cred *new,
const struct cred *old);
extern void __audit_log_capset(const struct cred *new, const struct cred *old);
extern void __audit_mmap_fd(int fd, int flags);
extern void __audit_log_kern_module(char *name);
static inline void audit_ipc_obj(struct kern_ipc_perm *ipcp)
{
if (unlikely(!audit_dummy_context()))
__audit_ipc_obj(ipcp);
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 18 | 69.23% | 1 | 33.33% |
Kees Cook | 6 | 23.08% | 1 | 33.33% |
Chris Wright | 2 | 7.69% | 1 | 33.33% |
Total | 26 | 100.00% | 3 | 100.00% |
static inline void audit_fd_pair(int fd1, int fd2)
{
if (unlikely(!audit_dummy_context()))
__audit_fd_pair(fd1, fd2);
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 23 | 79.31% | 1 | 25.00% |
Kees Cook | 4 | 13.79% | 1 | 25.00% |
Eric Paris | 1 | 3.45% | 1 | 25.00% |
Serge E. Hallyn | 1 | 3.45% | 1 | 25.00% |
Total | 29 | 100.00% | 4 | 100.00% |
static inline void audit_ipc_set_perm(unsigned long qbytes, uid_t uid, gid_t gid, umode_t mode)
{
if (unlikely(!audit_dummy_context()))
__audit_ipc_set_perm(qbytes, uid, gid, mode);
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 22 | 55.00% | 1 | 25.00% |
Kees Cook | 12 | 30.00% | 1 | 25.00% |
David Woodhouse | 5 | 12.50% | 1 | 25.00% |
Steve Grubb | 1 | 2.50% | 1 | 25.00% |
Total | 40 | 100.00% | 4 | 100.00% |
static inline void audit_bprm(struct linux_binprm *bprm)
{
if (unlikely(!audit_dummy_context()))
__audit_bprm(bprm);
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 16 | 61.54% | 1 | 20.00% |
Kees Cook | 6 | 23.08% | 1 | 20.00% |
Al Viro | 2 | 7.69% | 1 | 20.00% |
David Woodhouse | 1 | 3.85% | 1 | 20.00% |
Richard Guy Briggs | 1 | 3.85% | 1 | 20.00% |
Total | 26 | 100.00% | 5 | 100.00% |
static inline int audit_socketcall(int nargs, unsigned long *args)
{
if (unlikely(!audit_dummy_context()))
return __audit_socketcall(nargs, args);
return 0;
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 17 | 48.57% | 1 | 25.00% |
Kees Cook | 8 | 22.86% | 1 | 25.00% |
Chen Gang S | 6 | 17.14% | 1 | 25.00% |
David Woodhouse | 4 | 11.43% | 1 | 25.00% |
Total | 35 | 100.00% | 4 | 100.00% |
static inline int audit_socketcall_compat(int nargs, u32 *args)
{
unsigned long a[AUDITSC_ARGS];
int i;
if (audit_dummy_context())
return 0;
for (i = 0; i < nargs; i++)
a[i] = (unsigned long)args[i];
return __audit_socketcall(nargs, a);
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Richard Guy Briggs | 67 | 100.00% | 1 | 100.00% |
Total | 67 | 100.00% | 1 | 100.00% |
static inline int audit_sockaddr(int len, void *addr)
{
if (unlikely(!audit_dummy_context()))
return __audit_sockaddr(len, addr);
return 0;
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 17 | 50.00% | 1 | 33.33% |
Kees Cook | 11 | 32.35% | 1 | 33.33% |
David Woodhouse | 6 | 17.65% | 1 | 33.33% |
Total | 34 | 100.00% | 3 | 100.00% |
static inline void audit_mq_open(int oflag, umode_t mode, struct mq_attr *attr)
{
if (unlikely(!audit_dummy_context()))
__audit_mq_open(oflag, mode, attr);
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 20 | 55.56% | 1 | 33.33% |
Kees Cook | 11 | 30.56% | 1 | 33.33% |
George C. Wilson | 5 | 13.89% | 1 | 33.33% |
Total | 36 | 100.00% | 3 | 100.00% |
static inline void audit_mq_sendrecv(mqd_t mqdes, size_t msg_len, unsigned int msg_prio, const struct timespec *abs_timeout)
{
if (unlikely(!audit_dummy_context()))
__audit_mq_sendrecv(mqdes, msg_len, msg_prio, abs_timeout);
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 22 | 51.16% | 1 | 25.00% |
Kees Cook | 15 | 34.88% | 1 | 25.00% |
George C. Wilson | 5 | 11.63% | 1 | 25.00% |
Al Viro | 1 | 2.33% | 1 | 25.00% |
Total | 43 | 100.00% | 4 | 100.00% |
static inline void audit_mq_notify(mqd_t mqdes, const struct sigevent *notification)
{
if (unlikely(!audit_dummy_context()))
__audit_mq_notify(mqdes, notification);
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 18 | 56.25% | 1 | 25.00% |
Kees Cook | 10 | 31.25% | 1 | 25.00% |
George C. Wilson | 2 | 6.25% | 1 | 25.00% |
Dustin Kirkland | 2 | 6.25% | 1 | 25.00% |
Total | 32 | 100.00% | 4 | 100.00% |
static inline void audit_mq_getsetattr(mqd_t mqdes, struct mq_attr *mqstat)
{
if (unlikely(!audit_dummy_context()))
__audit_mq_getsetattr(mqdes, mqstat);
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 18 | 58.06% | 1 | 33.33% |
Kees Cook | 9 | 29.03% | 1 | 33.33% |
George C. Wilson | 4 | 12.90% | 1 | 33.33% |
Total | 31 | 100.00% | 3 | 100.00% |
static inline int audit_log_bprm_fcaps(struct linux_binprm *bprm,
const struct cred *new,
const struct cred *old)
{
if (unlikely(!audit_dummy_context()))
return __audit_log_bprm_fcaps(bprm, new, old);
return 0;
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Kees Cook | 22 | 47.83% | 1 | 33.33% |
Paul Moore | 19 | 41.30% | 1 | 33.33% |
Eric Paris | 5 | 10.87% | 1 | 33.33% |
Total | 46 | 100.00% | 3 | 100.00% |
static inline void audit_log_capset(const struct cred *new,
const struct cred *old)
{
if (unlikely(!audit_dummy_context()))
__audit_log_capset(new, old);
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 18 | 51.43% | 1 | 33.33% |
Kees Cook | 13 | 37.14% | 1 | 33.33% |
Eric Paris | 4 | 11.43% | 1 | 33.33% |
Total | 35 | 100.00% | 3 | 100.00% |
static inline void audit_mmap_fd(int fd, int flags)
{
if (unlikely(!audit_dummy_context()))
__audit_mmap_fd(fd, flags);
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 18 | 62.07% | 1 | 33.33% |
Al Viro | 6 | 20.69% | 1 | 33.33% |
Kees Cook | 5 | 17.24% | 1 | 33.33% |
Total | 29 | 100.00% | 3 | 100.00% |
static inline void audit_log_kern_module(char *name)
{
if (!audit_dummy_context())
__audit_log_kern_module(name);
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Richard Guy Briggs | 22 | 100.00% | 1 | 100.00% |
Total | 22 | 100.00% | 1 | 100.00% |
extern int audit_n_rules;
extern int audit_signals;
#else /* CONFIG_AUDITSYSCALL */
static inline int audit_alloc(struct task_struct *task)
{
return 0;
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Eric W. Biedermann | 11 | 73.33% | 1 | 50.00% |
Paul Moore | 4 | 26.67% | 1 | 50.00% |
Total | 15 | 100.00% | 2 | 100.00% |
static inline void audit_free(struct task_struct *task)
{ }
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 6 | 54.55% | 1 | 50.00% |
Andrew Morton | 5 | 45.45% | 1 | 50.00% |
Total | 11 | 100.00% | 2 | 100.00% |
static inline void audit_syscall_entry(int major, unsigned long a0,
unsigned long a1, unsigned long a2,
unsigned long a3)
{ }
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 17 | 68.00% | 1 | 25.00% |
David Woodhouse | 4 | 16.00% | 1 | 25.00% |
Andrew Morton | 3 | 12.00% | 1 | 25.00% |
Eric Paris | 1 | 4.00% | 1 | 25.00% |
Total | 25 | 100.00% | 4 | 100.00% |
static inline void audit_syscall_exit(void *pt_regs)
{ }
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 6 | 60.00% | 1 | 25.00% |
Eric Paris | 3 | 30.00% | 2 | 50.00% |
Al Viro | 1 | 10.00% | 1 | 25.00% |
Total | 10 | 100.00% | 4 | 100.00% |
static inline bool audit_dummy_context(void)
{
return true;
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 10 | 83.33% | 1 | 50.00% |
David Woodhouse | 2 | 16.67% | 1 | 50.00% |
Total | 12 | 100.00% | 2 | 100.00% |
static inline struct filename *audit_reusename(const __user char *name)
{
return NULL;
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 12 | 66.67% | 1 | 50.00% |
Amy Griffis | 6 | 33.33% | 1 | 50.00% |
Total | 18 | 100.00% | 2 | 100.00% |
static inline void audit_getname(struct filename *name)
{ }
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 6 | 54.55% | 1 | 33.33% |
Andrew Morton | 4 | 36.36% | 1 | 33.33% |
David Woodhouse | 1 | 9.09% | 1 | 33.33% |
Total | 11 | 100.00% | 3 | 100.00% |
static inline void __audit_inode(struct filename *name,
const struct dentry *dentry,
unsigned int flags)
{ }
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 14 | 66.67% | 1 | 33.33% |
Eric Paris | 6 | 28.57% | 1 | 33.33% |
Miloslav Trmač | 1 | 4.76% | 1 | 33.33% |
Total | 21 | 100.00% | 3 | 100.00% |
static inline void __audit_inode_child(struct inode *parent,
const struct dentry *dentry,
const unsigned char type)
{ }
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 13 | 59.09% | 1 | 25.00% |
Kees Cook | 5 | 22.73% | 1 | 25.00% |
Miloslav Trmač | 3 | 13.64% | 1 | 25.00% |
Eric Paris | 1 | 4.55% | 1 | 25.00% |
Total | 22 | 100.00% | 4 | 100.00% |
static inline void audit_inode(struct filename *name,
const struct dentry *dentry,
unsigned int parent)
{ }
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 15 | 71.43% | 1 | 50.00% |
Mr Dash Four | 6 | 28.57% | 1 | 50.00% |
Total | 21 | 100.00% | 2 | 100.00% |
static inline void audit_file(struct file *file)
{
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Kees Cook | 6 | 54.55% | 1 | 33.33% |
Paul Moore | 3 | 27.27% | 1 | 33.33% |
Mr Dash Four | 2 | 18.18% | 1 | 33.33% |
Total | 11 | 100.00% | 3 | 100.00% |
static inline void audit_inode_parent_hidden(struct filename *name,
const struct dentry *dentry)
{ }
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 13 | 76.47% | 1 | 50.00% |
Eric Paris | 4 | 23.53% | 1 | 50.00% |
Total | 17 | 100.00% | 2 | 100.00% |
static inline void audit_inode_child(struct inode *parent,
const struct dentry *dentry,
const unsigned char type)
{ }
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 14 | 63.64% | 1 | 50.00% |
Eric Paris | 8 | 36.36% | 1 | 50.00% |
Total | 22 | 100.00% | 2 | 100.00% |
static inline void audit_core_dumps(long signr)
{ }
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 6 | 66.67% | 1 | 25.00% |
Andrew Morton | 1 | 11.11% | 1 | 25.00% |
David Woodhouse | 1 | 11.11% | 1 | 25.00% |
Ahmed S. Darwish | 1 | 11.11% | 1 | 25.00% |
Total | 9 | 100.00% | 4 | 100.00% |
static inline void __audit_seccomp(unsigned long syscall, long signr, int code)
{ }
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 13 | 81.25% | 1 | 33.33% |
Andrew Morton | 2 | 12.50% | 1 | 33.33% |
David Woodhouse | 1 | 6.25% | 1 | 33.33% |
Total | 16 | 100.00% | 3 | 100.00% |
static inline void audit_seccomp(unsigned long syscall, long signr, int code)
{ }
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 11 | 68.75% | 1 | 33.33% |
David Woodhouse | 3 | 18.75% | 1 | 33.33% |
Dustin Kirkland | 2 | 12.50% | 1 | 33.33% |
Total | 16 | 100.00% | 3 | 100.00% |
static inline int auditsc_get_stamp(struct audit_context *ctx,
struct timespec64 *t, unsigned int *serial)
{
return 0;
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 17 | 68.00% | 1 | 25.00% |
Richard Guy Briggs | 5 | 20.00% | 1 | 25.00% |
Eric W. Biedermann | 2 | 8.00% | 1 | 25.00% |
Deepa Dinamani | 1 | 4.00% | 1 | 25.00% |
Total | 25 | 100.00% | 4 | 100.00% |
static inline kuid_t audit_get_loginuid(struct task_struct *tsk)
{
return INVALID_UID;
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 13 | 86.67% | 1 | 50.00% |
Kees Cook | 2 | 13.33% | 1 | 50.00% |
Total | 15 | 100.00% | 2 | 100.00% |
static inline unsigned int audit_get_sessionid(struct task_struct *tsk)
{
return -1;
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 11 | 64.71% | 1 | 50.00% |
Kees Cook | 6 | 35.29% | 1 | 50.00% |
Total | 17 | 100.00% | 2 | 100.00% |
static inline void audit_ipc_obj(struct kern_ipc_perm *ipcp)
{ }
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 7 | 63.64% | 1 | 50.00% |
Kees Cook | 4 | 36.36% | 1 | 50.00% |
Total | 11 | 100.00% | 2 | 100.00% |
static inline void audit_ipc_set_perm(unsigned long qbytes, uid_t uid,
gid_t gid, umode_t mode)
{ }
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 15 | 78.95% | 1 | 50.00% |
Kees Cook | 4 | 21.05% | 1 | 50.00% |
Total | 19 | 100.00% | 2 | 100.00% |
static inline void audit_bprm(struct linux_binprm *bprm)
{ }
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 7 | 63.64% | 1 | 50.00% |
Kees Cook | 4 | 36.36% | 1 | 50.00% |
Total | 11 | 100.00% | 2 | 100.00% |
static inline int audit_socketcall(int nargs, unsigned long *args)
{
return 0;
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 16 | 88.89% | 1 | 50.00% |
Kees Cook | 2 | 11.11% | 1 | 50.00% |
Total | 18 | 100.00% | 2 | 100.00% |
static inline int audit_socketcall_compat(int nargs, u32 *args)
{
return 0;
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Richard Guy Briggs | 12 | 70.59% | 1 | 50.00% |
Paul Moore | 5 | 29.41% | 1 | 50.00% |
Total | 17 | 100.00% | 2 | 100.00% |
static inline void audit_fd_pair(int fd1, int fd2)
{ }
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 8 | 66.67% | 1 | 50.00% |
Kees Cook | 4 | 33.33% | 1 | 50.00% |
Total | 12 | 100.00% | 2 | 100.00% |
static inline int audit_sockaddr(int len, void *addr)
{
return 0;
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 14 | 82.35% | 1 | 50.00% |
Kees Cook | 3 | 17.65% | 1 | 50.00% |
Total | 17 | 100.00% | 2 | 100.00% |
static inline void audit_mq_open(int oflag, umode_t mode, struct mq_attr *attr)
{ }
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 13 | 76.47% | 1 | 50.00% |
Kees Cook | 4 | 23.53% | 1 | 50.00% |
Total | 17 | 100.00% | 2 | 100.00% |
static inline void audit_mq_sendrecv(mqd_t mqdes, size_t msg_len,
unsigned int msg_prio,
const struct timespec *abs_timeout)
{ }
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 18 | 81.82% | 1 | 50.00% |
Kees Cook | 4 | 18.18% | 1 | 50.00% |
Total | 22 | 100.00% | 2 | 100.00% |
static inline void audit_mq_notify(mqd_t mqdes,
const struct sigevent *notification)
{ }
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 11 | 73.33% | 1 | 50.00% |
Kees Cook | 4 | 26.67% | 1 | 50.00% |
Total | 15 | 100.00% | 2 | 100.00% |
static inline void audit_mq_getsetattr(mqd_t mqdes, struct mq_attr *mqstat)
{ }
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 10 | 71.43% | 1 | 50.00% |
Kees Cook | 4 | 28.57% | 1 | 50.00% |
Total | 14 | 100.00% | 2 | 100.00% |
static inline int audit_log_bprm_fcaps(struct linux_binprm *bprm,
const struct cred *new,
const struct cred *old)
{
return 0;
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 19 | 70.37% | 1 | 50.00% |
Eric Paris | 8 | 29.63% | 1 | 50.00% |
Total | 27 | 100.00% | 2 | 100.00% |
static inline void audit_log_capset(const struct cred *new,
const struct cred *old)
{ }
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 12 | 66.67% | 1 | 50.00% |
Eric Paris | 6 | 33.33% | 1 | 50.00% |
Total | 18 | 100.00% | 2 | 100.00% |
static inline void audit_mmap_fd(int fd, int flags)
{ }
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 11 | 91.67% | 1 | 50.00% |
Eric Paris | 1 | 8.33% | 1 | 50.00% |
Total | 12 | 100.00% | 2 | 100.00% |
static inline void audit_log_kern_module(char *name)
{
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Richard Guy Briggs | 10 | 100.00% | 1 | 100.00% |
Total | 10 | 100.00% | 1 | 100.00% |
static inline void audit_ptrace(struct task_struct *t)
{ }
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 6 | 54.55% | 1 | 50.00% |
Eric Paris | 5 | 45.45% | 1 | 50.00% |
Total | 11 | 100.00% | 2 | 100.00% |
#define audit_n_rules 0
#define audit_signals 0
#endif /* CONFIG_AUDITSYSCALL */
static inline bool audit_loginuid_set(struct task_struct *tsk)
{
return uid_valid(audit_get_loginuid(tsk));
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 21 | 100.00% | 1 | 100.00% |
Total | 21 | 100.00% | 1 | 100.00% |
static inline void audit_log_string(struct audit_buffer *ab, const char *buf)
{
audit_log_n_string(ab, buf, strlen(buf));
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Kees Cook | 16 | 55.17% | 1 | 50.00% |
Eric Paris | 13 | 44.83% | 1 | 50.00% |
Total | 29 | 100.00% | 2 | 100.00% |
#endif
Overall Contributors
Person | Tokens | Prop | Commits | CommitProp |
Paul Moore | 1480 | 50.67% | 1 | 1.04% |
Kees Cook | 264 | 9.04% | 3 | 3.12% |
Eric Paris | 214 | 7.33% | 14 | 14.58% |
Al Viro | 193 | 6.61% | 22 | 22.92% |
Richard Guy Briggs | 159 | 5.44% | 8 | 8.33% |
George C. Wilson | 104 | 3.56% | 1 | 1.04% |
Ahmed S. Darwish | 92 | 3.15% | 2 | 2.08% |
Andrew Morton | 92 | 3.15% | 1 | 1.04% |
Jeff Layton | 72 | 2.46% | 8 | 8.33% |
David Woodhouse | 54 | 1.85% | 10 | 10.42% |
Amy Griffis | 51 | 1.75% | 5 | 5.21% |
AKASHI Takahiro | 37 | 1.27% | 1 | 1.04% |
Eric W. Biedermann | 22 | 0.75% | 3 | 3.12% |
Steve Grubb | 21 | 0.72% | 3 | 3.12% |
Chen Gang S | 11 | 0.38% | 1 | 1.04% |
Peter Hurley | 9 | 0.31% | 1 | 1.04% |
Mr Dash Four | 8 | 0.27% | 1 | 1.04% |
David Howells | 8 | 0.27% | 2 | 2.08% |
Miloslav Trmač | 7 | 0.24% | 1 | 1.04% |
Dustin Kirkland | 7 | 0.24% | 1 | 1.04% |
Chris Wright | 7 | 0.24% | 3 | 3.12% |
Alexey Dobriyan | 3 | 0.10% | 1 | 1.04% |
Mike Frysinger | 3 | 0.10% | 1 | 1.04% |
Deepa Dinamani | 2 | 0.07% | 1 | 1.04% |
Serge E. Hallyn | 1 | 0.03% | 1 | 1.04% |
Total | 2921 | 100.00% | 96 | 100.00% |
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.