from src/modules/driver/storage.c
to src/modules/driver/probes_manager.c
return 0;
}
+/* Removes non-predefined kernel probe from the list. */
+static int remove_probe_from_list(unsigned long addr)
+{
+ kernel_probe_t *p;
+
+ /* check if such probe does exist */
+ p = find_probe(addr);
+ if (!p) {
+ /* We do not care about it. Nothing bad. */
+ return -EINVAL;
+ }
+
+ hlist_del_rcu(&p->hlist);
+ kfree(p);
+
+ return 0;
+}
+
int
add_probe (unsigned long addr)
{
return node ? p : NULL;
}
-int remove_probe_from_list (unsigned long addr)
-{
- kernel_probe_t *p;
-
- //check if such probe does exist
- p = find_probe (addr);
- if (!p) {
- /* We do not care about it. Nothing bad. */
- return 0;
- }
-
- hlist_del_rcu (&p->hlist);
-
- kfree (p);
-
- return 0;
-}
-
-
int put_us_event (char *data, unsigned long len)
{
unsigned long spinlock_flags = 0L;
void dbi_find_and_set_handler_for_probe(kernel_probe_t *p);
/*
- Removes non-predefined kernel probe from the list.
-*/
-extern int remove_probe_from_list (unsigned long addr);
-
-/*
Searches non-predefined kernel probe in the list.
*/
extern kernel_probe_t *find_probe (unsigned long addr);