Home
last modified time | relevance | path

Searched refs:watch (Results 1 – 25 of 81) sorted by relevance

1234

/kernel/linux/linux-5.10/kernel/
Daudit_watch.c100 void audit_get_watch(struct audit_watch *watch) in audit_get_watch() argument
102 refcount_inc(&watch->count); in audit_get_watch()
105 void audit_put_watch(struct audit_watch *watch) in audit_put_watch() argument
107 if (refcount_dec_and_test(&watch->count)) { in audit_put_watch()
108 WARN_ON(watch->parent); in audit_put_watch()
109 WARN_ON(!list_empty(&watch->rules)); in audit_put_watch()
110 kfree(watch->path); in audit_put_watch()
111 kfree(watch); in audit_put_watch()
115 static void audit_remove_watch(struct audit_watch *watch) in audit_remove_watch() argument
117 list_del(&watch->wlist); in audit_remove_watch()
[all …]
Dwatch_queue.c182 struct watch *watch; in __post_watch_notification() local
191 hlist_for_each_entry_rcu(watch, &wlist->watchers, list_node) { in __post_watch_notification()
192 if (watch->id != id) in __post_watch_notification()
195 n->info |= watch->info_id; in __post_watch_notification()
197 wqueue = rcu_dereference(watch->queue); in __post_watch_notification()
202 if (security_post_notification(watch->cred, cred, n) < 0) in __post_watch_notification()
393 struct watch *watch = container_of(rcu, struct watch, rcu); in free_watch() local
395 put_watch_queue(rcu_access_pointer(watch->queue)); in free_watch()
396 atomic_dec(&watch->cred->user->nr_watches); in free_watch()
397 put_cred(watch->cred); in free_watch()
[all …]
Dauditfilter.c87 if (erule->watch) in audit_free_rule()
88 audit_put_watch(erule->watch); in audit_free_rule()
155 krule->inode_f || krule->watch || krule->tree || in audit_to_inode()
663 audit_watch_path(krule->watch)); in audit_krule_to_data()
727 if (strcmp(audit_watch_path(a->watch), in audit_compare_rule()
728 audit_watch_path(b->watch))) in audit_compare_rule()
881 if (old->watch) { in audit_dupe_rule()
882 audit_get_watch(old->watch); in audit_dupe_rule()
883 new->watch = old->watch; in audit_dupe_rule()
901 } else if (entry->rule.watch) { in audit_find_rule()
[all …]
Daudit.h255 extern void audit_put_watch(struct audit_watch *watch);
256 extern void audit_get_watch(struct audit_watch *watch);
261 extern char *audit_watch_path(struct audit_watch *watch);
262 extern int audit_watch_compare(struct audit_watch *watch, unsigned long ino,
/kernel/linux/linux-5.10/drivers/xen/xenbus/
Dxenbus_dev_frontend.c228 struct xenbus_watch watch; member
233 static void free_watch_adapter(struct watch_adapter *watch) in free_watch_adapter() argument
235 kfree(watch->watch.node); in free_watch_adapter()
236 kfree(watch->token); in free_watch_adapter()
237 kfree(watch); in free_watch_adapter()
243 struct watch_adapter *watch; in alloc_watch_adapter() local
245 watch = kzalloc(sizeof(*watch), GFP_KERNEL); in alloc_watch_adapter()
246 if (watch == NULL) in alloc_watch_adapter()
249 watch->watch.node = kstrdup(path, GFP_KERNEL); in alloc_watch_adapter()
250 if (watch->watch.node == NULL) in alloc_watch_adapter()
[all …]
Dxenbus_xs.c764 int register_xenbus_watch(struct xenbus_watch *watch) in register_xenbus_watch() argument
767 char token[sizeof(watch) * 2 + 1]; in register_xenbus_watch()
770 sprintf(token, "%lX", (long)watch); in register_xenbus_watch()
772 watch->nr_pending = 0; in register_xenbus_watch()
778 list_add(&watch->list, &watches); in register_xenbus_watch()
781 err = xs_watch(watch->node, token); in register_xenbus_watch()
785 list_del(&watch->list); in register_xenbus_watch()
795 void unregister_xenbus_watch(struct xenbus_watch *watch) in unregister_xenbus_watch() argument
798 char token[sizeof(watch) * 2 + 1]; in unregister_xenbus_watch()
801 sprintf(token, "%lX", (long)watch); in unregister_xenbus_watch()
[all …]
Dxenbus_probe_backend.c183 static bool frontend_will_handle(struct xenbus_watch *watch, in frontend_will_handle() argument
186 return watch->nr_pending == 0; in frontend_will_handle()
189 static void frontend_changed(struct xenbus_watch *watch, in frontend_changed() argument
192 xenbus_otherend_changed(watch, path, token, 0); in frontend_changed()
212 static void backend_changed(struct xenbus_watch *watch, in backend_changed() argument
Dxenbus.h47 bool (*otherend_will_handle)(struct xenbus_watch *watch,
49 void (*otherend_changed)(struct xenbus_watch *watch, const char *path,
125 void xenbus_otherend_changed(struct xenbus_watch *watch,
Dxenbus_client.c129 struct xenbus_watch *watch, in xenbus_watch_path() argument
137 watch->node = path; in xenbus_watch_path()
138 watch->will_handle = will_handle; in xenbus_watch_path()
139 watch->callback = callback; in xenbus_watch_path()
141 err = register_xenbus_watch(watch); in xenbus_watch_path()
144 watch->node = NULL; in xenbus_watch_path()
145 watch->will_handle = NULL; in xenbus_watch_path()
146 watch->callback = NULL; in xenbus_watch_path()
171 struct xenbus_watch *watch, in xenbus_watch_pathfmt() argument
190 err = xenbus_watch_path(dev, path, watch, will_handle, callback); in xenbus_watch_pathfmt()
Dxenbus_comms.c212 struct xs_watch_event *watch; in process_msg() member
262 len += sizeof(*state.watch); in process_msg()
269 state.body = state.watch->body; in process_msg()
287 state.watch->len = state.msg.len; in process_msg()
288 err = xs_watch_msg(state.watch); in process_msg()
Dxenbus_probe_frontend.c88 static void backend_changed(struct xenbus_watch *watch, in backend_changed() argument
91 xenbus_otherend_changed(watch, path, token, 1); in backend_changed()
177 static void frontend_changed(struct xenbus_watch *watch, in frontend_changed() argument
/kernel/linux/linux-5.10/Documentation/
Dwatch_queue.rst33 watch through that pipe. Only sources that have been connected to a pipe will
65 internally by the watch queue itself. There are two subtypes:
70 The first indicates that an object on which a watch was installed was removed
79 * The watch ID (mask with WATCH_INFO_ID and shift by WATCH_INFO_ID__SHIFT).
80 This indicates that caller's ID of the watch, which may be between 0
97 A "watch list" is a list of watchers that are subscribed to a source of
100 non-global watch list is typically referred to by reference to the object it
102 watch that specific key).
104 To manage a watch list, the following functions are provided:
109 void (*release_watch)(struct watch *wlist));
[all …]
/kernel/linux/linux-5.10/include/linux/
Dwatch_queue.h55 struct watch { struct
76 void (*release_watch)(struct watch *); argument
86 extern void init_watch(struct watch *, struct watch_queue *);
87 extern int add_watch_to_object(struct watch *, struct watch_list *);
96 void (*release_watch)(struct watch *)) in init_watch_list() argument
/kernel/linux/linux-5.10/tools/gpio/
DMakefile21 ALL_TARGETS := lsgpio gpio-hammer gpio-event-mon gpio-watch
72 GPIO_WATCH_IN := $(OUTPUT)gpio-watch-in.o
74 $(Q)$(MAKE) $(build)=gpio-watch
75 $(OUTPUT)gpio-watch: $(GPIO_WATCH_IN)
DBuild5 gpio-watch-y += gpio-watch.o
D.gitignore4 gpio-watch
/kernel/linux/linux-5.10/include/xen/
Dxenbus.h187 int register_xenbus_watch(struct xenbus_watch *watch);
188 void unregister_xenbus_watch(struct xenbus_watch *watch);
206 struct xenbus_watch *watch,
212 int xenbus_watch_pathfmt(struct xenbus_device *dev, struct xenbus_watch *watch,
/kernel/linux/patches/linux-5.10/prebuilts/usr/include/linux/
Dwatch_queue.h67 struct watch_notification watch; member
81 struct watch_notification watch; member
/kernel/linux/linux-5.10/include/uapi/linux/
Dwatch_queue.h75 struct watch_notification watch; member
99 struct watch_notification watch; member
/kernel/linux/linux-5.10/Documentation/filesystems/
Dinotify.rst18 What is the design decision behind not tying the watch to the open fd of
30 an fd-per-watch?
33 An fd-per-watch quickly consumes more file descriptors than are allowed,
37 A watch consumes less memory than an open file, separating the number
47 fd returns all watch events and also any potential out-of-band data. If
48 every fd was a separate watch,
/kernel/linux/linux-5.10/security/keys/
Dinternal.h192 .watch.type = WATCH_TYPE_KEY_NOTIFY, in notify_key()
193 .watch.subtype = subtype, in notify_key()
194 .watch.info = watch_sizeof(n), in notify_key()
199 post_watch_notification(key->watchers, &n.watch, current_cred(), in notify_key()
Dkeyctl.c1772 struct watch *watch = NULL; in keyctl_watch_key() local
1800 watch = kzalloc(sizeof(*watch), GFP_KERNEL); in keyctl_watch_key()
1801 if (!watch) in keyctl_watch_key()
1804 init_watch(watch, wqueue); in keyctl_watch_key()
1805 watch->id = key->serial; in keyctl_watch_key()
1806 watch->info_id = (u32)watch_id << WATCH_INFO_ID__SHIFT; in keyctl_watch_key()
1818 ret = add_watch_to_object(watch, key->watchers); in keyctl_watch_key()
1822 watch = NULL; in keyctl_watch_key()
1835 kfree(watch); in keyctl_watch_key()
/kernel/linux/linux-5.10/arch/mips/kernel/
Dwatch.c20 struct mips3264_watch_reg_state *watches = &t->thread.watch.mips3264; in mips_install_watch_registers()
53 &current->thread.watch.mips3264; in mips_read_watch_registers()
/kernel/linux/linux-5.10/arch/mips/include/asm/
Dprocessor.h276 union mips_watch_reg_state watch; member
353 .watch = {{{0,},},}, \
/kernel/linux/linux-5.10/drivers/xen/
Dmanage.c219 static void shutdown_handler(struct xenbus_watch *watch, in shutdown_handler() argument
268 static void sysrq_handler(struct xenbus_watch *watch, const char *path, in sysrq_handler() argument

1234