@@ -53,18 +53,7 @@ enum audit_state {
53
53
};
54
54
55
55
/* Rule lists */
56
- struct audit_parent ;
57
-
58
- struct audit_watch {
59
- atomic_t count ; /* reference count */
60
- char * path ; /* insertion path */
61
- dev_t dev ; /* associated superblock device */
62
- unsigned long ino ; /* associated inode number */
63
- struct audit_parent * parent ; /* associated parent */
64
- struct list_head wlist ; /* entry in parent->watches list */
65
- struct list_head rules ; /* associated rules */
66
- };
67
-
56
+ struct audit_watch ;
68
57
struct audit_tree ;
69
58
struct audit_chunk ;
70
59
@@ -108,19 +97,31 @@ struct audit_netlink_list {
108
97
109
98
int audit_send_list (void * );
110
99
111
- struct inotify_watch ;
112
- /* Inotify handle */
113
- extern struct inotify_handle * audit_ih ;
114
-
115
- extern void audit_free_parent (struct inotify_watch * );
116
- extern void audit_handle_ievent (struct inotify_watch * , u32 , u32 , u32 ,
117
- const char * , struct inode * );
118
100
extern int selinux_audit_rule_update (void );
119
101
120
102
extern struct mutex audit_filter_mutex ;
121
103
extern void audit_free_rule_rcu (struct rcu_head * );
122
104
extern struct list_head audit_filter_list [];
123
105
106
+ /* audit watch functions */
107
+ extern unsigned long audit_watch_inode (struct audit_watch * watch );
108
+ extern dev_t audit_watch_dev (struct audit_watch * watch );
109
+ extern void audit_put_watch (struct audit_watch * watch );
110
+ extern void audit_get_watch (struct audit_watch * watch );
111
+ extern int audit_to_watch (struct audit_krule * krule , char * path , int len , u32 op );
112
+ extern int audit_get_nd (char * path , struct nameidata * * ndp , struct nameidata * * ndw );
113
+ extern void audit_put_nd (struct nameidata * ndp , struct nameidata * ndw );
114
+ extern int audit_add_watch (struct audit_krule * krule , struct nameidata * ndp ,
115
+ struct nameidata * ndw );
116
+ extern void audit_remove_watch (struct audit_watch * watch );
117
+ extern void audit_remove_watch_rule (struct audit_krule * krule , struct list_head * list );
118
+ extern void audit_inotify_unregister (struct list_head * in_list );
119
+ extern char * audit_watch_path (struct audit_watch * watch );
120
+ extern struct list_head * audit_watch_rules (struct audit_watch * watch );
121
+
122
+ extern struct audit_entry * audit_dupe_rule (struct audit_krule * old ,
123
+ struct audit_watch * watch );
124
+
124
125
#ifdef CONFIG_AUDIT_TREE
125
126
extern struct audit_chunk * audit_tree_lookup (const struct inode * );
126
127
extern void audit_put_chunk (struct audit_chunk * );
0 commit comments