cregit-Linux how code gets into the kernel

Release 4.14 include/linux/audit.h

Directory: include/linux
/* 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

PersonTokensPropCommitsCommitProp
Paul Moore857.14%150.00%
Eric Paris642.86%150.00%
Total14100.00%2100.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

PersonTokensPropCommitsCommitProp
Paul Moore850.00%133.33%
Kees Cook637.50%133.33%
Eric Paris212.50%133.33%
Total16100.00%3100.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

PersonTokensPropCommitsCommitProp
Paul Moore2175.00%125.00%
Al Viro517.86%250.00%
Andrew Morton27.14%125.00%
Total28100.00%4100.00%


static inline void audit_free(struct task_struct *task) { if (unlikely(task->audit_context)) __audit_free(task); }

Contributors

PersonTokensPropCommitsCommitProp
Al Viro1661.54%266.67%
Paul Moore1038.46%133.33%
Total26100.00%3100.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

PersonTokensPropCommitsCommitProp
Paul Moore2450.00%133.33%
Al Viro2450.00%266.67%
Total48100.00%3100.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

PersonTokensPropCommitsCommitProp
Paul Moore2351.11%133.33%
Eric Paris2146.67%133.33%
Richard Guy Briggs12.22%133.33%
Total45100.00%3100.00%


static inline struct filename *audit_reusename(const __user char *name) { if (unlikely(!audit_dummy_context())) return __audit_reusename(name); return NULL; }

Contributors

PersonTokensPropCommitsCommitProp
Eric Paris2266.67%150.00%
Paul Moore1133.33%150.00%
Total33100.00%2100.00%


static inline void audit_getname(struct filename *name) { if (unlikely(!audit_dummy_context())) __audit_getname(name); }

Contributors

PersonTokensPropCommitsCommitProp
George C. Wilson1661.54%125.00%
Al Viro519.23%250.00%
Paul Moore519.23%125.00%
Total26100.00%4100.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

PersonTokensPropCommitsCommitProp
Paul Moore3155.36%125.00%
George C. Wilson2035.71%125.00%
Al Viro58.93%250.00%
Total56100.00%4100.00%


static inline void audit_file(struct file *file) { if (unlikely(!audit_dummy_context())) __audit_file(file); }

Contributors

PersonTokensPropCommitsCommitProp
George C. Wilson1661.54%125.00%
Al Viro519.23%250.00%
Paul Moore519.23%125.00%
Total26100.00%4100.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

PersonTokensPropCommitsCommitProp
George C. Wilson1847.37%125.00%
Paul Moore1539.47%125.00%
Al Viro513.16%250.00%
Total38100.00%4100.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

PersonTokensPropCommitsCommitProp
Eric Paris2458.54%133.33%
Paul Moore1434.15%133.33%
David Howells37.32%133.33%
Total41100.00%3100.00%

void audit_core_dumps(long signr);
static inline void audit_seccomp(unsigned long syscall, long signr, int code) { if (audit_enabled && unlikely(!audit_dummy_context())) __audit_seccomp(syscall, signr, code); }

Contributors

PersonTokensPropCommitsCommitProp
Eric Paris1951.35%125.00%
Paul Moore1540.54%125.00%
Al Viro25.41%125.00%
Tyler Hicks12.70%125.00%
Total37100.00%4100.00%


static inline void audit_ptrace(struct task_struct *t) { if (unlikely(!audit_dummy_context())) __audit_ptrace(t); }

Contributors

PersonTokensPropCommitsCommitProp
Al Viro1973.08%150.00%
Paul Moore726.92%150.00%
Total26100.00%2100.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

PersonTokensPropCommitsCommitProp
Kees Cook952.94%133.33%
Paul Moore635.29%133.33%
Andrew Morton211.76%133.33%
Total17100.00%3100.00%


static inline unsigned int audit_get_sessionid(struct task_struct *tsk) { return tsk->sessionid; }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore1161.11%133.33%
Kees Cook527.78%133.33%
Andrew Morton211.11%133.33%
Total18100.00%3100.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 timespec64 *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

PersonTokensPropCommitsCommitProp
Paul Moore1869.23%133.33%
Kees Cook623.08%133.33%
Chris Wright27.69%133.33%
Total26100.00%3100.00%


static inline void audit_fd_pair(int fd1, int fd2) { if (unlikely(!audit_dummy_context())) __audit_fd_pair(fd1, fd2); }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore2379.31%125.00%
Kees Cook413.79%125.00%
Eric Paris13.45%125.00%
Serge E. Hallyn13.45%125.00%
Total29100.00%4100.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

PersonTokensPropCommitsCommitProp
Paul Moore2255.00%125.00%
Kees Cook1230.00%125.00%
David Woodhouse512.50%125.00%
Steve Grubb12.50%125.00%
Total40100.00%4100.00%


static inline void audit_bprm(struct linux_binprm *bprm) { if (unlikely(!audit_dummy_context())) __audit_bprm(bprm); }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore1661.54%120.00%
Kees Cook623.08%120.00%
Al Viro27.69%120.00%
Richard Guy Briggs13.85%120.00%
David Woodhouse13.85%120.00%
Total26100.00%5100.00%


static inline int audit_socketcall(int nargs, unsigned long *args) { if (unlikely(!audit_dummy_context())) return __audit_socketcall(nargs, args); return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore1748.57%125.00%
Kees Cook822.86%125.00%
Chen Gang S617.14%125.00%
David Woodhouse411.43%125.00%
Total35100.00%4100.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

PersonTokensPropCommitsCommitProp
Richard Guy Briggs67100.00%1100.00%
Total67100.00%1100.00%


static inline int audit_sockaddr(int len, void *addr) { if (unlikely(!audit_dummy_context())) return __audit_sockaddr(len, addr); return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore1750.00%133.33%
Kees Cook1132.35%133.33%
David Woodhouse617.65%133.33%
Total34100.00%3100.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

PersonTokensPropCommitsCommitProp
Paul Moore2055.56%133.33%
Kees Cook1130.56%133.33%
George C. Wilson513.89%133.33%
Total36100.00%3100.00%


static inline void audit_mq_sendrecv(mqd_t mqdes, size_t msg_len, unsigned int msg_prio, const struct timespec64 *abs_timeout) { if (unlikely(!audit_dummy_context())) __audit_mq_sendrecv(mqdes, msg_len, msg_prio, abs_timeout); }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore2251.16%120.00%
Kees Cook1432.56%120.00%
George C. Wilson511.63%120.00%
Al Viro12.33%120.00%
Deepa Dinamani12.33%120.00%
Total43100.00%5100.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

PersonTokensPropCommitsCommitProp
Paul Moore1856.25%125.00%
Kees Cook1031.25%125.00%
Dustin Kirkland26.25%125.00%
George C. Wilson26.25%125.00%
Total32100.00%4100.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

PersonTokensPropCommitsCommitProp
Paul Moore1858.06%133.33%
Kees Cook929.03%133.33%
George C. Wilson412.90%133.33%
Total31100.00%3100.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

PersonTokensPropCommitsCommitProp
Kees Cook2247.83%133.33%
Paul Moore1941.30%133.33%
Eric Paris510.87%133.33%
Total46100.00%3100.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

PersonTokensPropCommitsCommitProp
Paul Moore1851.43%133.33%
Kees Cook1337.14%133.33%
Eric Paris411.43%133.33%
Total35100.00%3100.00%


static inline void audit_mmap_fd(int fd, int flags) { if (unlikely(!audit_dummy_context())) __audit_mmap_fd(fd, flags); }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore1862.07%133.33%
Al Viro620.69%133.33%
Kees Cook517.24%133.33%
Total29100.00%3100.00%


static inline void audit_log_kern_module(char *name) { if (!audit_dummy_context()) __audit_log_kern_module(name); }

Contributors

PersonTokensPropCommitsCommitProp
Richard Guy Briggs22100.00%1100.00%
Total22100.00%1100.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

PersonTokensPropCommitsCommitProp
Eric W. Biedermann1173.33%150.00%
Paul Moore426.67%150.00%
Total15100.00%2100.00%


static inline void audit_free(struct task_struct *task) { }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore654.55%150.00%
Andrew Morton545.45%150.00%
Total11100.00%2100.00%


static inline void audit_syscall_entry(int major, unsigned long a0, unsigned long a1, unsigned long a2, unsigned long a3) { }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore1768.00%125.00%
David Woodhouse416.00%125.00%
Andrew Morton312.00%125.00%
Eric Paris14.00%125.00%
Total25100.00%4100.00%


static inline void audit_syscall_exit(void *pt_regs) { }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore660.00%125.00%
Eric Paris330.00%250.00%
Al Viro110.00%125.00%
Total10100.00%4100.00%


static inline bool audit_dummy_context(void) { return true; }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore1083.33%150.00%
David Woodhouse216.67%150.00%
Total12100.00%2100.00%


static inline struct filename *audit_reusename(const __user char *name) { return NULL; }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore1266.67%150.00%
Amy Griffis633.33%150.00%
Total18100.00%2100.00%


static inline void audit_getname(struct filename *name) { }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore654.55%133.33%
Andrew Morton436.36%133.33%
David Woodhouse19.09%133.33%
Total11100.00%3100.00%


static inline void __audit_inode(struct filename *name, const struct dentry *dentry, unsigned int flags) { }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore1466.67%133.33%
Eric Paris628.57%133.33%
Miloslav Trmač14.76%133.33%
Total21100.00%3100.00%


static inline void __audit_inode_child(struct inode *parent, const struct dentry *dentry, const unsigned char type) { }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore1359.09%125.00%
Kees Cook522.73%125.00%
Miloslav Trmač313.64%125.00%
Eric Paris14.55%125.00%
Total22100.00%4100.00%


static inline void audit_inode(struct filename *name, const struct dentry *dentry, unsigned int parent) { }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore1571.43%150.00%
Mr Dash Four628.57%150.00%
Total21100.00%2100.00%


static inline void audit_file(struct file *file) { }

Contributors

PersonTokensPropCommitsCommitProp
Kees Cook654.55%133.33%
Paul Moore327.27%133.33%
Mr Dash Four218.18%133.33%
Total11100.00%3100.00%


static inline void audit_inode_parent_hidden(struct filename *name, const struct dentry *dentry) { }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore1376.47%150.00%
Eric Paris423.53%150.00%
Total17100.00%2100.00%


static inline void audit_inode_child(struct inode *parent, const struct dentry *dentry, const unsigned char type) { }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore1463.64%150.00%
Eric Paris836.36%150.00%
Total22100.00%2100.00%


static inline void audit_core_dumps(long signr) { }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore666.67%125.00%
Andrew Morton111.11%125.00%
David Woodhouse111.11%125.00%
Ahmed S. Darwish111.11%125.00%
Total9100.00%4100.00%


static inline void __audit_seccomp(unsigned long syscall, long signr, int code) { }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore1381.25%133.33%
Andrew Morton212.50%133.33%
David Woodhouse16.25%133.33%
Total16100.00%3100.00%


static inline void audit_seccomp(unsigned long syscall, long signr, int code) { }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore1168.75%133.33%
David Woodhouse318.75%133.33%
Dustin Kirkland212.50%133.33%
Total16100.00%3100.00%


static inline int auditsc_get_stamp(struct audit_context *ctx, struct timespec64 *t, unsigned int *serial) { return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore1768.00%125.00%
Richard Guy Briggs520.00%125.00%
Eric W. Biedermann28.00%125.00%
Deepa Dinamani14.00%125.00%
Total25100.00%4100.00%


static inline kuid_t audit_get_loginuid(struct task_struct *tsk) { return INVALID_UID; }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore1386.67%150.00%
Kees Cook213.33%150.00%
Total15100.00%2100.00%


static inline unsigned int audit_get_sessionid(struct task_struct *tsk) { return -1; }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore1164.71%150.00%
Kees Cook635.29%150.00%
Total17100.00%2100.00%


static inline void audit_ipc_obj(struct kern_ipc_perm *ipcp) { }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore763.64%150.00%
Kees Cook436.36%150.00%
Total11100.00%2100.00%


static inline void audit_ipc_set_perm(unsigned long qbytes, uid_t uid, gid_t gid, umode_t mode) { }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore1578.95%150.00%
Kees Cook421.05%150.00%
Total19100.00%2100.00%


static inline void audit_bprm(struct linux_binprm *bprm) { }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore763.64%150.00%
Kees Cook436.36%150.00%
Total11100.00%2100.00%


static inline int audit_socketcall(int nargs, unsigned long *args) { return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore1688.89%150.00%
Kees Cook211.11%150.00%
Total18100.00%2100.00%


static inline int audit_socketcall_compat(int nargs, u32 *args) { return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Richard Guy Briggs1270.59%150.00%
Paul Moore529.41%150.00%
Total17100.00%2100.00%


static inline void audit_fd_pair(int fd1, int fd2) { }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore866.67%150.00%
Kees Cook433.33%150.00%
Total12100.00%2100.00%


static inline int audit_sockaddr(int len, void *addr) { return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore1482.35%150.00%
Kees Cook317.65%150.00%
Total17100.00%2100.00%


static inline void audit_mq_open(int oflag, umode_t mode, struct mq_attr *attr) { }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore1376.47%150.00%
Kees Cook423.53%150.00%
Total17100.00%2100.00%


static inline void audit_mq_sendrecv(mqd_t mqdes, size_t msg_len, unsigned int msg_prio, const struct timespec64 *abs_timeout) { }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore1777.27%133.33%
Kees Cook418.18%133.33%
Deepa Dinamani14.55%133.33%
Total22100.00%3100.00%


static inline void audit_mq_notify(mqd_t mqdes, const struct sigevent *notification) { }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore1173.33%150.00%
Kees Cook426.67%150.00%
Total15100.00%2100.00%


static inline void audit_mq_getsetattr(mqd_t mqdes, struct mq_attr *mqstat) { }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore1071.43%150.00%
Kees Cook428.57%150.00%
Total14100.00%2100.00%


static inline int audit_log_bprm_fcaps(struct linux_binprm *bprm, const struct cred *new, const struct cred *old) { return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore1970.37%150.00%
Eric Paris829.63%150.00%
Total27100.00%2100.00%


static inline void audit_log_capset(const struct cred *new, const struct cred *old) { }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore1266.67%150.00%
Eric Paris633.33%150.00%
Total18100.00%2100.00%


static inline void audit_mmap_fd(int fd, int flags) { }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore1191.67%150.00%
Eric Paris18.33%150.00%
Total12100.00%2100.00%


static inline void audit_log_kern_module(char *name) { }

Contributors

PersonTokensPropCommitsCommitProp
Richard Guy Briggs10100.00%1100.00%
Total10100.00%1100.00%


static inline void audit_ptrace(struct task_struct *t) { }

Contributors

PersonTokensPropCommitsCommitProp
Paul Moore654.55%150.00%
Eric Paris545.45%150.00%
Total11100.00%2100.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

PersonTokensPropCommitsCommitProp
Paul Moore21100.00%1100.00%
Total21100.00%1100.00%


static inline void audit_log_string(struct audit_buffer *ab, const char *buf) { audit_log_n_string(ab, buf, strlen(buf)); }

Contributors

PersonTokensPropCommitsCommitProp
Kees Cook1655.17%150.00%
Eric Paris1344.83%150.00%
Total29100.00%2100.00%

#endif

Overall Contributors

PersonTokensPropCommitsCommitProp
Paul Moore147050.45%11.02%
Kees Cook2639.03%33.06%
Eric Paris2147.34%1414.29%
Al Viro1936.62%2222.45%
Richard Guy Briggs1595.46%88.16%
George C. Wilson1043.57%11.02%
Andrew Morton923.16%11.02%
Ahmed S. Darwish923.16%22.04%
Jeff Layton722.47%88.16%
David Woodhouse541.85%1010.20%
Amy Griffis511.75%55.10%
AKASHI Takahiro371.27%11.02%
Eric W. Biedermann220.75%33.06%
Steve Grubb210.72%33.06%
Chen Gang S110.38%11.02%
Peter Hurley90.31%11.02%
Mr Dash Four80.27%11.02%
David Howells80.27%22.04%
Chris Wright70.24%33.06%
Dustin Kirkland70.24%11.02%
Miloslav Trmač70.24%11.02%
Deepa Dinamani50.17%22.04%
Mike Frysinger30.10%11.02%
Alexey Dobriyan30.10%11.02%
Serge E. Hallyn10.03%11.02%
Tyler Hicks10.03%11.02%
Total2914100.00%98100.00%
Directory: include/linux
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.