Home
last modified time | relevance | path

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

1234

/linux/kernel/
H A Daudit_watch.c33 * audit_krule holds a reference to its associated watch.
100 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
123 audit_watch_path(struct audit_watch * watch) audit_watch_path() argument
128 audit_watch_compare(struct audit_watch * watch,unsigned long ino,dev_t dev) audit_watch_compare() argument
162 struct audit_watch *watch; audit_init_watch() local
180 struct audit_watch *watch; audit_to_watch() local
348 audit_get_nd(struct audit_watch * watch,struct path * parent) audit_get_nd() argument
368 struct audit_watch *w, *watch = krule->watch; audit_add_to_parent() local
402 struct audit_watch *watch = krule->watch; audit_add_watch() local
449 struct audit_watch *watch = krule->watch; audit_remove_watch_rule() local
[all...]
H A Dwatch_queue.c201 struct watch *watch; in __post_watch_notification() local
210 hlist_for_each_entry_rcu(watch, &wlist->watchers, list_node) { in __post_watch_notification()
211 if (watch->id != id) in __post_watch_notification()
214 n->info |= watch->info_id; in __post_watch_notification()
216 wqueue = rcu_dereference(watch->queue); in __post_watch_notification()
221 if (security_post_notification(watch->cred, cred, n) < 0) in __post_watch_notification()
416 struct watch *watch = container_of(rcu, struct watch, rcu); in free_watch() local
418 put_watch_queue(rcu_access_pointer(watch->queue)); in free_watch()
419 atomic_dec(&watch->cred->user->nr_watches); in free_watch()
420 put_cred(watch->cred); in free_watch()
[all …]
/linux/drivers/xen/xenbus/
H A 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 …]
H A 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 …]
H A 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
H A 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,
H A Dxenbus_client.c132 struct xenbus_watch *watch, in xenbus_watch_path() argument
140 watch->node = path; in xenbus_watch_path()
141 watch->will_handle = will_handle; in xenbus_watch_path()
142 watch->callback = callback; in xenbus_watch_path()
144 err = register_xenbus_watch(watch); in xenbus_watch_path()
147 watch->node = NULL; in xenbus_watch_path()
148 watch->will_handle = NULL; in xenbus_watch_path()
149 watch->callback = NULL; in xenbus_watch_path()
178 struct xenbus_watch *watch, in xenbus_watch_pathfmt() argument
197 err = xenbus_watch_path(dev, path, watch, will_handle, callback); in xenbus_watch_pathfmt()
H A 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()
/linux/Documentation/core-api/
H A 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 …]
/linux/drivers/counter/
H A Dcounter-chrdev.c139 struct counter_watch *const watch, in counter_set_event_node() argument
148 if (event_node->event == watch->event && in counter_set_event_node()
149 event_node->channel == watch->channel) in counter_set_event_node()
160 event_node->event = watch->event; in counter_set_event_node()
161 event_node->channel = watch->channel; in counter_set_event_node()
268 struct counter_watch watch; in counter_add_watch() local
276 if (copy_from_user(&watch, uwatch, sizeof(watch))) in counter_add_watch()
279 if (watch.component.type == COUNTER_COMPONENT_NONE) in counter_add_watch()
282 parent = watch.component.parent; in counter_add_watch()
285 switch (watch.component.scope) { in counter_add_watch()
[all …]
H A Dinterrupt-cnt.c143 const struct counter_watch *watch) in interrupt_cnt_watch_validate() argument
145 if (watch->channel != 0 || in interrupt_cnt_watch_validate()
146 watch->event != COUNTER_EVENT_CHANGE_OF_STATE) in interrupt_cnt_watch_validate()
/linux/Documentation/translations/zh_CN/core-api/
H A Dwatch_queue.rst105 void (*release_watch)(struct watch *wlist));
135 对象还可以携带该对象的过滤规则,由用户空间设置。watch结构体的某些部分可以由驱动程
138 struct watch {
159 * ``void init_watch(struct watch *watch, struct watch_queue *wqueue);``
163 * ``int add_watch_to_object(struct watch *watch, struct watch_list *wlist);``
165 将观测订阅到观测列表(通知源)。watch结构体中的driver-settable字段必须在调用
251 (watch.info & info_mask) == info_filter
/linux/tools/counter/
H A Dcounter_watch_events.c58 static void print_watch(struct counter_watch *watch, int nwatch) in print_watch() argument
74 counter_component_type_name[watch[i].component.type], in print_watch()
75 counter_scope_name[watch[i].component.scope], in print_watch()
76 watch[i].component.parent, in print_watch()
77 watch[i].component.id, in print_watch()
78 counter_event_type_name[watch[i].event], in print_watch()
79 watch[i].channel); in print_watch()
390 counter_event_type_name[event_data.watch.event], in main()
391 event_data.watch.channel); in main()
/linux/include/linux/
H A Dwatch_queue.h54 struct watch { struct
75 void (*release_watch)(struct watch *); argument
85 extern void init_watch(struct watch *, struct watch_queue *);
86 extern int add_watch_to_object(struct watch *, struct watch_list *);
95 void (*release_watch)(struct watch *)) in init_watch_list() argument
/linux/Documentation/userspace-api/gpio/
H A Dgpio-get-lineinfo-watch-ioctl.rst11 gpio-v2-get-lineinfo-watch-ioctl.rst.
34 the ``offset`` set to indicate the line to watch
55 Multiple lines may be watched simultaneously by adding a watch for each.
57 Once a watch is set, any changes to line info will generate events which can be
61 Adding a watch to a line that is already watched is an error (**EBUSY**).
H A Dgpio-get-lineinfo-unwatch-ioctl.rst29 The offset of the line to no longer watch.
36 This is the reverse of gpio-v2-get-lineinfo-watch-ioctl.rst (v2) and
37 gpio-get-lineinfo-watch-ioctl.rst (v1).
H A Dgpio-v2-get-lineinfo-watch-ioctl.rst30 the ``offset`` set to indicate the line to watch
50 Multiple lines may be watched simultaneously by adding a watch for each.
52 Once a watch is set, any changes to line info will generate events which can be
56 Adding a watch to a line that is already watched is an error (**EBUSY**).
/linux/tools/gpio/
H A 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)
H A DBuild5 gpio-watch-y += gpio-watch.o
/linux/include/xen/
H A Dxenbus.h188 int register_xenbus_watch(struct xenbus_watch *watch);
189 void unregister_xenbus_watch(struct xenbus_watch *watch);
207 struct xenbus_watch *watch,
213 int xenbus_watch_pathfmt(struct xenbus_device *dev, struct xenbus_watch *watch,
/linux/Documentation/filesystems/
H A 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,
/linux/include/uapi/linux/
H A Dwatch_queue.h75 struct watch_notification watch; member
99 struct watch_notification watch; member
/linux/security/keys/
H A Dinternal.h184 .watch.type = WATCH_TYPE_KEY_NOTIFY, in notify_key()
185 .watch.subtype = subtype, in notify_key()
186 .watch.info = watch_sizeof(n), in notify_key()
191 post_watch_notification(key->watchers, &n.watch, current_cred(), in notify_key()
/linux/Documentation/gpu/
H A Dintroduction.rst155 * `An Overview of the Linux and Userspace Graphics Stack <https://www.youtube.com/watch?v=wjAJmqwg4…
156 …en on Linux: introduction to Kernel Mode Setting <https://www.youtube.com/watch?v=haes4_Xnc5Q>`_ -…
157 * `Everything Great about Upstream Graphics <https://www.youtube.com/watch?v=kVzHOgt6WGE>`_ - Simon…
158 * `An introduction to the Linux DRM subsystem <https://www.youtube.com/watch?v=LbDOCJcDRoo>`_ - Max…
159 * `Embrace the Atomic (Display) Age <https://www.youtube.com/watch?v=LjiB_JeDn2M>`_ - Simona Vetter…
160 * `Anatomy of an Atomic KMS Driver <https://www.youtube.com/watch?v=lihqR9sENpc>`_ - Laurent Pincha…
161 * `Atomic Modesetting for Drivers <https://www.youtube.com/watch?v=kl9suFgbTc8>`_ - Simona Vetter (…
162 * `Anatomy of an Embedded KMS Driver <https://www.youtube.com/watch?v=Ja8fM7rTae4>`_ - Laurent Pinc…
/linux/arch/loongarch/kernel/
H A Dgenex.S100 BUILD_HANDLER watch watch none

1234