aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/audit.h
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw2@infradead.org>2005-12-15 13:33:52 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2006-03-20 14:08:54 -0500
commitfe7752bab26a9ac0651b695ad4f55659761f68f7 (patch)
treeb2e516a52232c978fc824b226418d8a28460b8a8 /include/linux/audit.h
parentee436dc46a762f430e37952d375a23d87735f73f (diff)
[PATCH] Fix audit record filtering with !CONFIG_AUDITSYSCALL
This fixes the per-user and per-message-type filtering when syscall auditing isn't enabled. [AV: folded followup fix from the same author] Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'include/linux/audit.h')
-rw-r--r--include/linux/audit.h18
1 files changed, 5 insertions, 13 deletions
diff --git a/include/linux/audit.h b/include/linux/audit.h
index 1912d8e8ae90..fbc21d6267f3 100644
--- a/include/linux/audit.h
+++ b/include/linux/audit.h
@@ -278,8 +278,6 @@ static inline void audit_inode_child(const char *dname,
278} 278}
279 279
280 /* Private API (for audit.c only) */ 280 /* Private API (for audit.c only) */
281extern int audit_receive_filter(int type, int pid, int uid, int seq,
282 void *data, uid_t loginuid);
283extern unsigned int audit_serial(void); 281extern unsigned int audit_serial(void);
284extern void auditsc_get_stamp(struct audit_context *ctx, 282extern void auditsc_get_stamp(struct audit_context *ctx,
285 struct timespec *t, unsigned int *serial); 283 struct timespec *t, unsigned int *serial);
@@ -290,8 +288,6 @@ extern int audit_socketcall(int nargs, unsigned long *args);
290extern int audit_sockaddr(int len, void *addr); 288extern int audit_sockaddr(int len, void *addr);
291extern int audit_avc_path(struct dentry *dentry, struct vfsmount *mnt); 289extern int audit_avc_path(struct dentry *dentry, struct vfsmount *mnt);
292extern void audit_signal_info(int sig, struct task_struct *t); 290extern void audit_signal_info(int sig, struct task_struct *t);
293extern int audit_filter_user(struct netlink_skb_parms *cb, int type);
294extern int audit_filter_type(int type);
295extern int audit_set_macxattr(const char *name); 291extern int audit_set_macxattr(const char *name);
296#else 292#else
297#define audit_alloc(t) ({ 0; }) 293#define audit_alloc(t) ({ 0; })
@@ -304,7 +300,6 @@ extern int audit_set_macxattr(const char *name);
304#define __audit_inode_child(d,i,p) do { ; } while (0) 300#define __audit_inode_child(d,i,p) do { ; } while (0)
305#define audit_inode(n,i,f) do { ; } while (0) 301#define audit_inode(n,i,f) do { ; } while (0)
306#define audit_inode_child(d,i,p) do { ; } while (0) 302#define audit_inode_child(d,i,p) do { ; } while (0)
307#define audit_receive_filter(t,p,u,s,d,l) ({ -EOPNOTSUPP; })
308#define auditsc_get_stamp(c,t,s) do { BUG(); } while (0) 303#define auditsc_get_stamp(c,t,s) do { BUG(); } while (0)
309#define audit_get_loginuid(c) ({ -1; }) 304#define audit_get_loginuid(c) ({ -1; })
310#define audit_ipc_perms(q,u,g,m,i) ({ 0; }) 305#define audit_ipc_perms(q,u,g,m,i) ({ 0; })
@@ -312,7 +307,6 @@ extern int audit_set_macxattr(const char *name);
312#define audit_sockaddr(len, addr) ({ 0; }) 307#define audit_sockaddr(len, addr) ({ 0; })
313#define audit_avc_path(dentry, mnt) ({ 0; }) 308#define audit_avc_path(dentry, mnt) ({ 0; })
314#define audit_signal_info(s,t) do { ; } while (0) 309#define audit_signal_info(s,t) do { ; } while (0)
315#define audit_filter_user(cb,t) ({ 1; })
316#define audit_set_macxattr(n) do { ; } while (0) 310#define audit_set_macxattr(n) do { ; } while (0)
317#endif 311#endif
318 312
@@ -337,13 +331,11 @@ extern void audit_log_d_path(struct audit_buffer *ab,
337 const char *prefix, 331 const char *prefix,
338 struct dentry *dentry, 332 struct dentry *dentry,
339 struct vfsmount *vfsmnt); 333 struct vfsmount *vfsmnt);
340 /* Private API (for auditsc.c only) */ 334 /* Private API (for audit.c only) */
341extern void audit_send_reply(int pid, int seq, int type, 335extern int audit_filter_user(struct netlink_skb_parms *cb, int type);
342 int done, int multi, 336extern int audit_filter_type(int type);
343 void *payload, int size); 337extern int audit_receive_filter(int type, int pid, int uid, int seq,
344extern void audit_log_lost(const char *message); 338 void *data, uid_t loginuid);
345extern void audit_panic(const char *message);
346extern struct semaphore audit_netlink_sem;
347#else 339#else
348#define audit_log(c,g,t,f,...) do { ; } while (0) 340#define audit_log(c,g,t,f,...) do { ; } while (0)
349#define audit_log_start(c,g,t) ({ NULL; }) 341#define audit_log_start(c,g,t) ({ NULL; })