cregit-Linux how code gets into the kernel

Release 4.7 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,
						  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
eric pariseric paris750.00%150.00%
paul moorepaul moore750.00%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_filter_user(int type); extern int audit_filter_type(int type); extern int audit_rule_change(int type, __u32 portid, 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 moorepaul moore850.00%133.33%
andrew mortonandrew morton743.75%133.33%
david woodhousedavid woodhouse16.25%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 moorepaul moore2175.00%133.33%
al viroal viro725.00%266.67%
Total28100.00%3100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
al viroal viro1661.54%266.67%
paul moorepaul 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 moorepaul moore2450.00%133.33%
al viroal 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 moorepaul moore2351.11%133.33%
eric pariseric paris2146.67%133.33%
richard guy briggsrichard 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 pariseric paris2266.67%150.00%
paul moorepaul 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. wilsongeorge c. wilson1661.54%125.00%
al viroal viro519.23%250.00%
paul moorepaul 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 moorepaul moore3155.36%125.00%
george c. wilsongeorge c. wilson2035.71%125.00%
al viroal 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. wilsongeorge c. wilson1661.54%125.00%
paul moorepaul moore519.23%125.00%
al viroal viro519.23%250.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. wilsongeorge c. wilson1847.37%125.00%
paul moorepaul moore1539.47%125.00%
al viroal 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 pariseric paris2458.54%133.33%
paul moorepaul moore1434.15%133.33%
david howellsdavid 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) return; /* Force a record to be reported if a signal was delivered. */ if (signr || unlikely(!audit_dummy_context())) __audit_seccomp(syscall, signr, code); }

Contributors

PersonTokensPropCommitsCommitProp
paul moorepaul moore2352.27%133.33%
eric pariseric paris1943.18%133.33%
al viroal viro24.55%133.33%
Total44100.00%3100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
al viroal viro1973.08%150.00%
paul moorepaul 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 timespec *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
paul moorepaul moore952.94%150.00%
kees cookkees cook847.06%150.00%
Total17100.00%2100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
paul moorepaul moore950.00%150.00%
jeff laytonjeff layton950.00%150.00%
Total18100.00%2100.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);
static inline void audit_ipc_obj(struct kern_ipc_perm *ipcp) { if (unlikely(!audit_dummy_context())) __audit_ipc_obj(ipcp); }

Contributors

PersonTokensPropCommitsCommitProp
paul moorepaul moore1869.23%133.33%
kees cookkees cook623.08%133.33%
chris wrightchris 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 moorepaul moore2275.86%125.00%
kees cookkees cook517.24%125.00%
serge hallynserge hallyn13.45%125.00%
eric pariseric paris13.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 moorepaul moore2255.00%125.00%
kees cookkees cook1230.00%125.00%
david woodhousedavid woodhouse512.50%125.00%
steve grubbsteve 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 moorepaul moore1661.54%120.00%
kees cookkees cook623.08%120.00%
al viroal viro27.69%120.00%
david woodhousedavid woodhouse13.85%120.00%
richard guy briggsrichard guy briggs13.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 moorepaul moore1954.29%125.00%
kees cookkees cook822.86%125.00%
chen gangchen gang514.29%125.00%
david woodhousedavid woodhouse38.57%125.00%
Total35100.00%4100.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 moorepaul moore1750.00%133.33%
kees cookkees cook1132.35%133.33%
david woodhousedavid 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 moorepaul moore2055.56%133.33%
kees cookkees cook1130.56%133.33%
george c. wilsongeorge 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 timespec *abs_timeout) { if (unlikely(!audit_dummy_context())) __audit_mq_sendrecv(mqdes, msg_len, msg_prio, abs_timeout); }

Contributors

PersonTokensPropCommitsCommitProp
paul moorepaul moore2251.16%120.00%
kees cookkees cook1534.88%120.00%
george c. wilsongeorge c. wilson49.30%120.00%
dustin kirklanddustin kirkland12.33%120.00%
al viroal viro12.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 moorepaul moore1856.25%125.00%
kees cookkees cook1031.25%125.00%
george c. wilsongeorge c. wilson39.38%125.00%
dustin kirklanddustin kirkland13.12%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 moorepaul moore1858.06%133.33%
kees cookkees cook929.03%133.33%
george c. wilsongeorge 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
paul moorepaul moore46100.00%1100.00%
Total46100.00%1100.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 moorepaul moore35100.00%1100.00%
Total35100.00%1100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
paul moorepaul moore29100.00%1100.00%
Total29100.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
kees cookkees cook1066.67%133.33%
paul moorepaul moore320.00%133.33%
eric pariseric paris213.33%133.33%
Total15100.00%3100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
kees cookkees cook654.55%133.33%
paul moorepaul moore327.27%133.33%
eric pariseric paris218.18%133.33%
Total11100.00%3100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
paul moorepaul moore1768.00%133.33%
kees cookkees cook520.00%133.33%
al viroal viro312.00%133.33%
Total25100.00%3100.00%


static inline void audit_syscall_exit(void *pt_regs) { }

Contributors

PersonTokensPropCommitsCommitProp
kees cookkees cook550.00%133.33%
paul moorepaul moore330.00%133.33%
al viroal viro220.00%133.33%
Total10100.00%3100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
eric w. biedermaneric w. biederman975.00%150.00%
paul moorepaul moore325.00%150.00%
Total12100.00%2100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
paul moorepaul moore1372.22%125.00%
al viroal viro316.67%125.00%
eric pariseric paris211.11%250.00%
Total18100.00%4100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
paul moorepaul moore654.55%133.33%
david woodhousedavid woodhouse436.36%133.33%
eric pariseric paris19.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 moorepaul moore1361.90%133.33%
amy griffisamy griffis733.33%133.33%
eric pariseric paris14.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 moorepaul moore1254.55%125.00%
andrew mortonandrew morton836.36%125.00%
david woodhousedavid woodhouse14.55%125.00%
al viroal viro14.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 moorepaul moore1257.14%125.00%
eric pariseric paris419.05%125.00%
miloslav trmacmiloslav trmac314.29%125.00%
kees cookkees cook29.52%125.00%
Total21100.00%4100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
paul moorepaul moore654.55%150.00%
mr dash fourmr dash four545.45%150.00%
Total11100.00%2100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
paul moorepaul moore741.18%125.00%
kees cookkees cook529.41%125.00%
eric pariseric paris317.65%125.00%
mr dash fourmr dash four211.76%125.00%
Total17100.00%4100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
paul moorepaul moore1359.09%125.00%
eric pariseric paris836.36%250.00%
andrew mortonandrew morton14.55%125.00%
Total22100.00%4100.00%


static inline void audit_core_dumps(long signr) { }

Contributors

PersonTokensPropCommitsCommitProp
paul moorepaul moore777.78%150.00%
andrew mortonandrew morton222.22%150.00%
Total9100.00%2100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
paul moorepaul moore1275.00%133.33%
david woodhousedavid woodhouse318.75%133.33%
dustin kirklanddustin kirkland16.25%133.33%
Total16100.00%3100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
paul moorepaul moore1381.25%133.33%
david woodhousedavid woodhouse212.50%133.33%
dustin kirklanddustin kirkland16.25%133.33%
Total16100.00%3100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
paul moorepaul moore1872.00%133.33%
richard guy briggsrichard guy briggs520.00%133.33%
eric w. biedermaneric w. biederman28.00%133.33%
Total25100.00%3100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
paul moorepaul moore1386.67%150.00%
kees cookkees cook213.33%150.00%
Total15100.00%2100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
paul moorepaul moore1164.71%150.00%
kees cookkees cook635.29%150.00%
Total17100.00%2100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
paul moorepaul moore763.64%150.00%
kees cookkees 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 moorepaul moore1578.95%150.00%
kees cookkees cook421.05%150.00%
Total19100.00%2100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
paul moorepaul moore763.64%150.00%
kees cookkees cook436.36%150.00%
Total11100.00%2100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
paul moorepaul moore1688.89%150.00%
kees cookkees cook211.11%150.00%
Total18100.00%2100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
paul moorepaul moore866.67%150.00%
kees cookkees cook433.33%150.00%
Total12100.00%2100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
paul moorepaul moore1482.35%150.00%
kees cookkees 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 moorepaul moore1376.47%150.00%
kees cookkees 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 timespec *abs_timeout) { }

Contributors

PersonTokensPropCommitsCommitProp
paul moorepaul moore1881.82%150.00%
kees cookkees cook418.18%150.00%
Total22100.00%2100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
paul moorepaul moore1173.33%150.00%
kees cookkees cook426.67%150.00%
Total15100.00%2100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
paul moorepaul moore1071.43%150.00%
kees cookkees 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 moorepaul moore1970.37%150.00%
eric pariseric 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 moorepaul moore1266.67%150.00%
eric pariseric paris633.33%150.00%
Total18100.00%2100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
paul moorepaul moore1191.67%150.00%
eric pariseric paris18.33%150.00%
Total12100.00%2100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
paul moorepaul moore654.55%150.00%
eric pariseric 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 moorepaul 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 cookkees cook1655.17%150.00%
eric pariseric paris1344.83%150.00%
Total29100.00%2100.00%

#endif

Overall Contributors

PersonTokensPropCommitsCommitProp
paul moorepaul moore152554.19%11.06%
kees cookkees cook2338.28%33.19%
eric pariseric paris2187.75%1515.96%
al viroal viro1966.97%2122.34%
george c. wilsongeorge c. wilson1033.66%11.06%
ahmed s. darwishahmed s. darwish913.23%22.13%
andrew mortonandrew morton863.06%11.06%
jeff laytonjeff layton802.84%88.51%
david woodhousedavid woodhouse521.85%1010.64%
amy griffisamy griffis431.53%55.32%
richard guy briggsrichard guy briggs401.42%77.45%
akashi takahiroakashi takahiro371.31%11.06%
steve grubbsteve grubb250.89%33.19%
eric w. biedermaneric w. biederman200.71%33.19%
chen gangchen gang100.36%11.06%
peter hurleypeter hurley90.32%11.06%
david howellsdavid howells80.28%22.13%
dustin kirklanddustin kirkland80.28%11.06%
chris wrightchris wright70.25%22.13%
mr dash fourmr dash four70.25%11.06%
miloslav trmacmiloslav trmac60.21%11.06%
alexey dobriyanalexey dobriyan30.11%11.06%
serge hallynserge hallyn30.11%11.06%
mike frysingermike frysinger30.11%11.06%
peter moodypeter moody10.04%11.06%
Total2814100.00%94100.00%
Directory: include/linux
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
{% endraw %}