Bug 230290
| Summary: | registration of probes for kernel functions fails | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Bill Nottingham <notting> |
| Component: | systemtap | Assignee: | Frank Ch. Eigler <fche> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Radek Bíba <rbiba> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | rawhide | CC: | rvokal |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | 0.5.13 | Doc Type: | Bug Fix |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2007-03-29 17:33:47 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
-22 is EINVAL, and is produced when the kprobes layer suspects
something is wrong with the probed address.
Could you paste following bits of information to help diagnose?
% uname -a
% rpm -qa | grep kernel
% grep kprobes /proc/kallsyms
% stap -vvvv -e 'probe kernel.function("sys_mkdir") { exit () }'
[root@nostromo ~]# uname -a
Linux nostromo.devel.redhat.com 2.6.20-1.2953.fc7 #1 SMP Mon Feb 26 21:30:41 EST
2007 i686 i686 i386 GNU/Linux
[root@nostromo ~]# rpm -qa | grep kernel
kernel-devel-2.6.20-1.2953.fc7
kernel-2.6.20-1.2960.fc7
kernel-devel-2.6.20-1.2960.fc7
kernel-headers-2.6.20-1.2960.fc7
kernel-debuginfo-common-2.6.20-1.2953.fc7
kernel-2.6.20-1.2953.fc7
kernel-debuginfo-2.6.20-1.2953.fc7
kernel-doc-2.6.20-1.2960.fc7
[root@nostromo ~]# grep kprobes /proc/kallsyms
c0614680 T __kprobes_text_start
c06162cd t kprobes_open
c0616981 T kprobes_inc_nmissed_count
c0616e33 T __kprobes_text_end
c06f6f20 d debugfs_kprobes_operations
c06f6f8c d kprobes_seq_ops
c0747383 T arch_init_kprobes
c074aa45 t init_kprobes
c076cb10 t __initcall_init_kprobes6
[root@nostromo ~]# stap -vvvv -e 'probe kernel.function("sys_mkdir") { exit () }'
SystemTap translator/driver (version 0.5.12 built 2007-02-27)
(Using 0.126 libraries.)
Copyright (C) 2005-2006 Red Hat, Inc. and others
This is free software; see the source for copying conditions.
Created temporary directory "/tmp/stap8Kxjzh"
Searched '/usr/share/systemtap/tapset/2.6.20-1.2953.fc7/i686/*.stp', match count 0
Searched '/usr/share/systemtap/tapset/2.6.20-1.2953.fc7/*.stp', match count 0
Searched '/usr/share/systemtap/tapset/2.6.20/i686/*.stp', match count 0
Searched '/usr/share/systemtap/tapset/2.6.20/*.stp', match count 0
Searched '/usr/share/systemtap/tapset/2.6/i686/*.stp', match count 0
Searched '/usr/share/systemtap/tapset/2.6/*.stp', match count 0
Searched '/usr/share/systemtap/tapset/i686/*.stp', match count 1
Searched '/usr/share/systemtap/tapset/*.stp', match count 33
Searched '/usr/share/systemtap/tapset/LKET/2.6.20-1.2953.fc7/i686/*.stp', match
count 0
Searched '/usr/share/systemtap/tapset/LKET/2.6.20-1.2953.fc7/*.stp', match count 0
Searched '/usr/share/systemtap/tapset/LKET/2.6.20/i686/*.stp', match count 0
Searched '/usr/share/systemtap/tapset/LKET/2.6.20/*.stp', match count 0
Searched '/usr/share/systemtap/tapset/LKET/2.6/i686/*.stp', match count 0
Searched '/usr/share/systemtap/tapset/LKET/2.6/*.stp', match count 0
Searched '/usr/share/systemtap/tapset/LKET/i686/*.stp', match count 0
Searched '/usr/share/systemtap/tapset/LKET/*.stp', match count 19
Pass 1: parsed user script and 53 library script(s) in 420usr/40sys/1063real ms.
parsed 'sys_mkdir' -> func 'sys_mkdir'
pattern 'kernel' matches module 'kernel'
focused on module 'kernel = [c1000000-c1647000, bias 0] file
/usr/lib/debug/lib/modules/2.6.20-1.2953.fc7/vmlinux ELF machine i686 (code 3)
pattern 'sys_mkdir' matches function 'sys_mkdir'
selected function sys_mkdir
prologue searching function 'sys_mkdir' 0xc108651e-0xc1086540@fs/namei.c:1974
checking line record 0xc108651e@fs/namei.c:1974
checking line record 0xc1086524@fs/namei.c:1975
prologue found function 'sys_mkdir' = 0xc1086524
probe sys_mkdir@fs/namei.c:1974 kernel section=.text pc=0xc1086524
pattern 'kernel' matches module 'kernel'
Eliding unused function log
Eliding unused function warn
Eliding unused function error
Eliding unused function stp_print_binary
keeping expression identifier 'exit' at <input>:1:38 because it writes: and/or
embedded: 1
keeping expression identifier 'exit' at <input>:1:38 because it writes: and/or
embedded: 1
Pass 2: analyzed script: 1 probe(s), 1 function(s), 0 embed(s), 0 global(s) in
480usr/1420sys/23373real ms.
probe_1507 locks nothing
Pass 3: translated to C into
"/tmp/stap8Kxjzh/stap_946fad05ec6503b566923e9d3d291c3d_266.c" in
0usr/0sys/43real ms.
Running make -C "/lib/modules/2.6.20-1.2953.fc7/build" M="/tmp/stap8Kxjzh"
modules V=1
make: Entering directory `/usr/src/kernels/2.6.20-1.2953.fc7-i686'
test -e include/linux/autoconf.h -a -e include/config/auto.conf || ( \
echo; \
echo " ERROR: Kernel configuration is invalid."; \
echo " include/linux/autoconf.h or include/config/auto.conf are
missing."; \
echo " Run 'make oldconfig && make prepare' on kernel src to fix
it."; \
echo; \
/bin/false)
mkdir -p /tmp/stap8Kxjzh/.tmp_versions
rm -f /tmp/stap8Kxjzh/.tmp_versions/*
make -f scripts/Makefile.build obj=/tmp/stap8Kxjzh
gcc -m32
-Wp,-MD,/tmp/stap8Kxjzh/.stap_946fad05ec6503b566923e9d3d291c3d_266.o.d
-nostdinc -isystem /usr/lib/gcc/i386-redhat-linux/4.1.2/include -D__KERNEL__
-Iinclude -include include/linux/autoconf.h -Wall -Wundef -Wstrict-prototypes
-Wno-trigraphs -fno-strict-aliasing -fno-common -Wstrict-prototypes -Wundef
-Werror-implicit-function-declaration -Os -pipe -msoft-float -mregparm=3
-mpreferred-stack-boundary=2 -march=i686 -mtune=generic -mtune=generic
-ffreestanding -maccumulate-outgoing-args -DCONFIG_AS_CFI=1
-DCONFIG_AS_CFI_SIGNAL_FRAME=1 -Iinclude/asm-i386/mach-generic
-Iinclude/asm-i386/mach-default -fno-omit-frame-pointer
-fno-optimize-sibling-calls -g -fno-stack-protector
-Wdeclaration-after-statement -Wno-pointer-sign -ftime-report -Q
-freorder-blocks -Wno-unused -I"/usr/share/systemtap/runtime" -DMODULE
-D"KBUILD_STR(s)=#s"
-D"KBUILD_BASENAME=KBUILD_STR(stap_946fad05ec6503b566923e9d3d291c3d_266)"
-D"KBUILD_MODNAME=KBUILD_STR(stap_946fad05ec6503b566923e9d3d291c3d_266)" -c -o
/tmp/stap8Kxjzh/.tmp_stap_946fad05ec6503b566923e9d3d291c3d_266.o
/tmp/stap8Kxjzh/stap_946fad05ec6503b566923e9d3d291c3d_266.c
apply_paravirt set_bit __set_bit clear_bit __clear_bit __change_bit change_bit
test_and_set_bit __test_and_set_bit test_and_clear_bit __test_and_clear_bit
__test_and_change_bit test_and_change_bit constant_test_bit variable_test_bit
find_first_zero_bit __ffs find_first_bit ffz sched_find_first_bit ffs fls fls64
___arch__swab32 ___arch__swab64 __fswab16 __swab16p __swab16s __fswab32
__swab32p __swab32s __fswab64 __swab64p __swab64s __cpu_to_le64p __le64_to_cpup
__cpu_to_le32p __le32_to_cpup __cpu_to_le16p __le16_to_cpup __cpu_to_be64p
__be64_to_cpup __cpu_to_be32p __be32_to_cpup __cpu_to_be16p __be16_to_cpup
get_bitmask_order get_count_order hweight_long rol32 ror32 fls_long pgd_none
pgd_bad pgd_present pgd_clear pud_offset pud_none pud_bad pud_present pud_clear
pmd_offset __ilog2_u32 __ilog2_u64 is_power_of_2 __roundup_pow_of_two
__get_order user_mode user_mode_vm v8086_mode wrmsrl console_silent
console_verbose pr_debug get_limit __set_64bit __set_64bit_constant
__set_64bit_var __xchg __cmpxchg __sync_cmpxchg __cmpxchg64
__raw_local_save_flags raw_local_irq_restore raw_local_irq_disable
raw_local_irq_enable raw_safe_halt halt __raw_local_irq_save
raw_irqs_disabled_flags raw_irqs_disabled sched_cacheflush strcpy strncpy strcat
strncat strcmp strncmp strchr strrchr strlen __memcpy __constant_memcpy memchr
__memset_generic __constant_c_memset strnlen __constant_c_and_count_memset
memscan bitmap_zero bitmap_fill bitmap_copy bitmap_and bitmap_or bitmap_xor
bitmap_andnot bitmap_complement bitmap_equal bitmap_intersects bitmap_subset
bitmap_empty bitmap_full bitmap_weight bitmap_shift_right bitmap_shift_left
bitmap_parse __cpu_set __cpu_clear __cpus_setall __cpus_clear __cpu_test_and_set
__cpus_and __cpus_or __cpus_xor __cpus_andnot __cpus_complement __cpus_equal
__cpus_intersects __cpus_subset __cpus_empty __cpus_full __cpus_weight
__cpus_shift_right __cpus_shift_left __cpumask_scnprintf __cpumask_parse_user
__cpulist_scnprintf __cpulist_parse __cpu_remap __cpus_remap native_cpuid
set_in_cr4 clear_in_cr4 sync_core __monitor __mwait __sti_mwait rep_nop
load_esp0 native_set_iopl_mask cpuid cpuid_count cpuid_eax cpuid_ebx cpuid_ecx
cpuid_edx prefetch prefetchw current_thread_info set_ti_thread_flag
clear_ti_thread_flag test_and_set_ti_thread_flag test_and_clear_ti_thread_flag
test_ti_thread_flag prefetch_range INIT_LIST_HEAD list_add_tail __list_add_rcu
list_add_rcu list_add_tail_rcu __list_del list_del_rcu list_replace
list_replace_init list_replace_rcu list_del_init list_move list_move_tail
list_is_last list_empty list_empty_careful __list_splice list_splice
list_splice_init list_splice_init_rcu INIT_HLIST_NODE hlist_unhashed hlist_empty
__hlist_del hlist_del hlist_del_rcu hlist_del_init hlist_replace_rcu
hlist_add_head hlist_add_head_rcu hlist_add_before hlist_add_after
hlist_add_before_rcu hlist_add_after_rcu atomic_add atomic_sub
atomic_sub_and_test atomic_inc atomic_dec atomic_dec_and_test
atomic_inc_and_test atomic_add_negative atomic_add_return atomic_sub_return
atomic_long_read atomic_long_set atomic_long_inc atomic_long_dec atomic_long_add
atomic_long_sub __raw_spin_is_locked __raw_spin_lock __raw_spin_trylock
__raw_spin_unlock __raw_spin_unlock_wait __raw_read_can_lock
__raw_write_can_lock __raw_read_lock __raw_write_lock __raw_read_trylock
__raw_write_trylock __raw_read_unlock __raw_write_unlock write_seqlock
write_sequnlock write_tryseqlock read_seqbegin read_seqretry read_seqcount_begin
read_seqcount_retry write_seqcount_begin write_seqcount_end timespec_equal
timespec_compare timeval_compare timespec_sub get_seconds timespec_to_ns
timeval_to_ns timespec_add_ns call_usermodehelper get_current cap_combine
cap_intersect cap_drop cap_invert get_cycles get_cycles_sync ntp_synced
time_interpolator_reset time_interpolator_update div_ll_X_l_rem
div_long_long_rem_signed rb_set_parent rb_set_color rb_link_node __node_set
__node_clear __nodes_setall __nodes_clear __node_test_and_set __nodes_and
__nodes_or __nodes_xor __nodes_andnot __nodes_complement __nodes_equal
__nodes_intersects __nodes_subset __nodes_empty __nodes_full __nodes_weight
__nodes_shift_right __nodes_shift_left __first_node __next_node
__first_unset_node __nodemask_scnprintf __nodemask_parse_user
__nodelist_scnprintf __nodelist_parse __node_remap __nodes_remap
init_waitqueue_entry init_waitqueue_func_entry waitqueue_active __add_wait_queue
__add_wait_queue_tail __remove_wait_queue add_wait_queue_exclusive_locked
remove_wait_queue_locked wait_on_bit wait_on_bit_lock __down_read
__down_read_trylock __down_write_nested __down_write __down_write_trylock
__up_read __up_write __downgrade_write rwsem_atomic_add rwsem_atomic_update
rwsem_is_locked sema_init init_MUTEX init_MUTEX_LOCKED down down_interruptible
down_trylock up disable_acpi acpi_noirq_set acpi_disable_pci fix_to_virt
virt_to_fix disable_ioapic_setup ioapic_setup_disabled native_apic_write
native_apic_write_atomic native_apic_read apic_wait_icr_idle ack_APIC_irq
num_booting_cpus hard_smp_processor_id logical_smp_processor_id get_ipc_ns
put_ipc_ns __gen_sigaddset __const_sigaddset __gen_sigdelset __const_sigdelset
__const_sigismember __gen_sigismember sigfindinword copy_siginfo sigisemptyset
sigorsets sigandsets signandsets signotset sigemptyset sigfillset sigaddsetmask
sigdelsetmask sigtestsetmask siginitset siginitsetinv init_sigpending
valid_signal init_completion mutex_is_locked pgdat_resize_lock
pgdat_resize_unlock pgdat_resize_init zone_span_seqbegin zone_span_seqretry
zone_span_writelock zone_span_writeunlock zone_seqlock_init mhp_notimplemented
__remove_pages memory_present populated_zone is_highmem_idx is_normal_idx
is_highmem is_normal is_dma32 is_dma gfp_zone arch_free_page arch_alloc_page
alloc_pages_node drain_node_pages kmem_cache_alloc_node kcalloc kmalloc kzalloc
kmalloc_node __kmalloc_node rcu_batch_before rcu_batch_after rcu_qsctr_inc
rcu_bh_qsctr_inc get_pid pid_nr has_secure_computing plist_head_init
plist_node_init plist_head_empty plist_node_empty plist_first rt_mutex_is_locked
ktime_set timespec_to_ktime timeval_to_ktime setup_timer timer_pending
timer_stats_account_timer timer_stats_timer_set_start_info
timer_stats_timer_clear_start_info add_timer hrtimer_cb_get_time hrtimer_restart
hrtimer_active hrtimer_is_queued timer_stats_account_hrtimer
timer_stats_hrtimer_set_start_info timer_stats_hrtimer_clear_start_info
show_state cancel_delayed_work iov_length list_kiocb sched_info_on
prefetch_stack process_group signal_session process_session set_signal_session
task_pid task_tgid task_pgrp task_session pid_alive is_init put_task_struct
kstack_end get_uid dequeue_signal_lock kill_cad_pid is_si_special on_sig_stack
sas_ss_flags mmdrop has_group_leader_pid next_thread thread_group_empty
task_lock task_unlock unlock_task_sighand setup_thread_stack end_of_stack
set_tsk_thread_flag clear_tsk_thread_flag test_and_set_tsk_thread_flag
test_and_clear_tsk_thread_flag test_tsk_thread_flag set_tsk_need_resched
clear_tsk_need_resched signal_pending need_resched lock_need_resched task_cpu
set_task_cpu kobject_name to_kset kset_get kset_put get_ktype subsys_get
subsys_put add_rchar add_wchar inc_syscr inc_syscw put_nsproxy
exit_task_namespaces get_uts_ns put_uts_ns utsname init_utsname
get_cpu_gdt_table pack_descriptor pack_gate load_TLS write_dt_entry
native_set_ldt _set_gate __set_tss_desc clear_LDT load_LDT_nolock load_LDT
get_desc_base set_user_cs arch_notes_size arch_write_notes local_inc local_dec
local_add local_sub module_is_live __module_get try_module_get __tolower
__toupper hash_long hash_ptr tracehook_single_step_enabled
tracehook_enable_syscall_trace tracehook_disable_syscall_trace
tracehook_abort_syscall utrace_native_view ptrace_whole_regset ptrace_peekusr
ptrace_pokeusr ptrace_init_task restore_interrupts kprobe_running
reset_current_kprobe get_kprobe_ctlblk old_valid_dev old_encode_dev
old_decode_dev new_valid_dev new_encode_dev new_decode_dev huge_valid_dev
huge_encode_dev huge_decode_dev sysv_valid_dev sysv_encode_dev sysv_major
sysv_minor partial_name_hash end_name_hash full_name_hash __d_drop d_drop
dname_external d_add d_add_unique dget d_unhashed dget_parent d_mountpoint
nd_set_link nd_get_link radix_tree_ptr_to_direct radix_tree_direct_to_ptr
radix_tree_is_direct_ptr radix_tree_deref_slot radix_tree_replace_slot
radix_tree_preload_end prio_tree_iter_init prio_tree_empty prio_tree_root
prio_tree_left_empty prio_tree_right_empty mapping_mapped
mapping_writably_mapped i_size_read i_size_write iminor imajor nfs_compare_fh
nfs_copy_fh mark_inode_dirty mark_inode_dirty_sync inc_nlink
inode_inc_link_count drop_nlink clear_nlink inode_dec_link_count file_accessed
locks_verify_locked locks_verify_truncate break_lease invalidate_inode_pages
invalidate_remote_inode put_write_access allow_write_access ERR_PTR PTR_ERR
IS_ERR iget insert_inode_hash do_generic_file_read blockdev_direct_IO
blockdev_direct_IO_no_locking blockdev_direct_IO_own_locking parent_ino
simple_transaction_set __simple_attr_check_format alloc_secdata free_secdata
create_proc_read_entry create_proc_info_entry proc_net_create
proc_net_fops_create proc_net_remove PROC_I PDE reacquire_kernel_lock
irq_canonicalize get_irq_regs set_irq_regs profile_hit set_native_irq_info
set_balance_irq_affinity select_smp_affinity irq_balancing_disabled
generic_handle_irq set_irq_handler set_irq_chained_handler irq_has_action
account_system_vtime __copy_to_user_inatomic __copy_to_user
__copy_from_user_inatomic __copy_from_user __copy_from_user_nocache
__copy_from_user_inatomic_nocache __check_printsym_format print_symbol
bdi_congested bdi_read_congested bdi_write_congested bdi_rw_congested pte_user
pte_read pte_dirty pte_young pte_write pte_huge pte_file pte_rdprotect
pte_exprotect pte_mkclean pte_mkold pte_wrprotect pte_mkread pte_mkexec
pte_mkdirty pte_mkyoung pte_mkwrite pte_mkhuge pte_exec pte_exec_kernel
ptep_get_and_clear ptep_get_and_clear_full ptep_set_wrprotect clone_pgd_range
pte_modify set_kernel_exec pgd_none_or_clear_bad pud_none_or_clear_bad
pmd_none_or_clear_bad set_page_writeback put_page_testzero get_page_unless_zero
page_count get_page init_page_count set_compound_page_dtor
get_compound_page_dtor page_zonenum page_zone_id zone_to_nid page_to_nid
page_zone page_to_section set_page_zone set_page_node set_page_section
set_page_links __count_vm_event count_vm_event __count_vm_events count_vm_events
zone_page_state_add global_page_state zone_page_state zap_zone_vm_stats
lowmem_page_address page_mapping PageAnon page_index reset_page_mapcount
page_mapcount page_mapped can_do_mlock unmap_shared_mapping_range
handle_mm_fault vma_wants_writenotify pud_alloc pmd_alloc setup_per_cpu_pageset
vma_nonlinear_insert get_unmapped_area do_mmap find_vma_intersection vma_pages
kernel_map_pages _stp_alloc_percpu _stp_free_percpu ssleep poll_wait
init_poll_funcptr get_fd_set set_fd_set zero_fd_set relay_write __relay_write
relay_reserve subbuf_start_reserve check_region class_get_devdata
class_set_devdata dev_to_node set_dev_node dev_get_drvdata dev_set_drvdata
device_is_registered cpufreq_scale cpufreq_verify_within_limits
__stp_estimate_cpufreq __stp_time_timer_callback __stp_init_time
__stp_time_cpufreq_callback _stp_kill_time _stp_init_time _stp_gettimeofday_ns
_stp_sym_type_ok _stp_get_sym_sizes _stp_alloc_module
_stp_alloc_module_from_module _stp_del_module _stp_free_modules _stp_do_symbols
_stp_compare_addr _stp_swap_symbol _stp_load_module_symbols _stp_module_exists
_stp_ins_module _stp_do_module _stp_module_load_notify __check__stp_pid
_stp_proc_write_cmd _stp_write _stp_proc_read_cmd my_proc_match _stp_set_buffers
_stp_register_procfs _stp_unregister_procfs _stp_transport_send
_stp_transport_write _stp_handle_start _stp_cleanup_and_exit _stp_work_queue
_stp_transport_close _stp_transport_open _stp_transport_init _stp_vlog _stp_log
_stp_warn _stp_exit _stp_error _stp_softerror _stp_dbug skip_atoi number
_stp_vsnprintf _stp_vscnprintf _stp_snprintf _stp_print_init _stp_print_cleanup
_stp_print_flush _stp_reserve_bytes _stp_print_binary next_fmt _stp_string_init
_stp_sprintf _stp_vsprintf _stp_string_cat_cstr _stp_string_cat_string
_stp_string_cat_char _stp_string_ptr _stp_text_str _stp_div64 _stp_mod64
_stp_random_pm _stp_udivmoddi4 _div64 _mod64 _stp_strncpy_from_user
_stp_string_from_user _stp_copy_from_user _stp_module_relocate
_stp_kallsyms_lookup_name _stp_kallsyms_lookup _stp_symbol_sprint
_stp_symbol_sprint_basic param_set_int64_t param_get_int64_t init_module
cleanup_module _stp_ret_addr _stp_sprint_regs _stp_valid_stack_ptr
__stp_stack_sprint _stp_kta _stp_stack_sprint _stp_stack_sprintj
_stp_ustack_sprint needed_space reprint msb64 _stp_stat_print_histogram
_stp_stat_print_valtype __stp_stat_add _stp_stat_init _stp_stat_del
_stp_stat_add _stp_stat_get_cpu _stp_stat_clear_data _stp_stat_get
__stp_stat_print _stp_stat_print_cpu _stp_stat_print _stp_stat_clear
function_exit probe_1507 enter_kprobe_probe enter_kretprobe_probe
systemtap_module_init systemtap_module_exit probe_start probe_exit
Analyzing compilation unitPerforming intraprocedural optimizations
Assembling functions:
_stp_compare_addr _stp_swap_symbol _stp_exit skip_atoi number _stp_string_ptr
_stp_udivmoddi4 _div64 _mod64 _stp_ret_addr needed_space _stp_stat_add
_stp_stat_get_cpu _stp_stat_clear_data _stp_random_pm _stp_mod64 _stp_div64
_stp_vsnprintf _stp_print_cleanup _stp_print_init _stp_stat_clear _stp_stat_get
_stp_free_percpu _stp_stat_del _stp_snprintf _stp_alloc_percpu param_get_int64_t
param_set_int64_t _stp_kallsyms_lookup _stp_symbol_sprint_basic
_stp_copy_from_user _stp_write _stp_transport_send _stp_print_flush probe_1507
_stp_string_cat_char _stp_string_cat_cstr reprint _stp_string_cat_string
_stp_vscnprintf _stp_vsprintf _stp_sprintf __stp_stat_print _stp_stat_print
_stp_stat_print_cpu _stp_ustack_sprint _stp_sprint_regs _stp_symbol_sprint
_stp_stack_sprint _stp_vlog _stp_softerror _stp_warn systemtap_module_exit
probe_exit _stp_log _stp_cleanup_and_exit _stp_module_load_notify
_stp_work_queue _stp_transport_open _stp_del_module _stp_alloc_module
_stp_init_time _stp_transport_init init_module _stp_kill_time
_stp_transport_close cleanup_module __stp_time_cpufreq_callback _stp_text_str
_stp_strncpy_from_user _stp_string_from_user _stp_gettimeofday_ns
_stp_proc_read_cmd _stp_stack_sprintj __stp_init_time __stp_time_timer_callback
_stp_stat_init _stp_error systemtap_module_init probe_start _stp_handle_start
_stp_proc_write_cmd _stp_string_init enter_kretprobe_probe enter_kprobe_probe
Execution times (seconds)
callgraph construction: 0.02 ( 1%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall
278 kB ( 1%) ggc
ipa reference : 0.01 ( 1%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
7 kB ( 0%) ggc
ipa type escape : 0.01 ( 1%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
cfg construction : 0.01 ( 1%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
82 kB ( 0%) ggc
cfg cleanup : 0.03 ( 2%) usr 0.01 ( 1%) sys 0.03 ( 0%) wall
58 kB ( 0%) ggc
trivially dead code : 0.02 ( 1%) usr 0.01 ( 1%) sys 0.02 ( 0%) wall
0 kB ( 0%) ggc
life analysis : 0.06 ( 3%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall
81 kB ( 0%) ggc
life info update : 0.01 ( 1%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
14 kB ( 0%) ggc
alias analysis : 0.04 ( 2%) usr 0.02 ( 3%) sys 0.02 ( 0%) wall
142 kB ( 1%) ggc
register scan : 0.01 ( 1%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall
2 kB ( 0%) ggc
rebuild jump labels : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
preprocessing : 0.19 (11%) usr 0.19 (28%) sys 3.33 (39%) wall
2071 kB (10%) ggc
lexical analysis : 0.06 ( 3%) usr 0.20 (29%) sys 0.27 ( 3%) wall
0 kB ( 0%) ggc
parser : 0.18 (10%) usr 0.14 (21%) sys 0.70 ( 8%) wall
4353 kB (21%) ggc
integration : 0.02 ( 1%) usr 0.00 ( 0%) sys 0.05 ( 1%) wall
1333 kB ( 7%) ggc
tree gimplify : 0.02 ( 1%) usr 0.00 ( 0%) sys 0.10 ( 1%) wall
847 kB ( 4%) ggc
tree CFG construction : 0.01 ( 1%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
728 kB ( 4%) ggc
tree CFG cleanup : 0.06 ( 3%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall
9 kB ( 0%) ggc
tree VRP : 0.02 ( 1%) usr 0.00 ( 0%) sys 0.05 ( 1%) wall
263 kB ( 1%) ggc
tree copy propagation : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
117 kB ( 1%) ggc
tree PTA : 0.04 ( 2%) usr 0.00 ( 0%) sys 0.07 ( 1%) wall
343 kB ( 2%) ggc
tree alias analysis : 0.06 ( 3%) usr 0.01 ( 1%) sys 0.09 ( 1%) wall
194 kB ( 1%) ggc
tree SSA rewrite : 0.01 ( 1%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall
535 kB ( 3%) ggc
tree SSA other : 0.01 ( 1%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall
0 kB ( 0%) ggc
tree SSA incremental : 0.04 ( 2%) usr 0.00 ( 0%) sys 0.06 ( 1%) wall
167 kB ( 1%) ggc
tree operand scan : 0.02 ( 1%) usr 0.04 ( 6%) sys 0.10 ( 1%) wall
440 kB ( 2%) ggc
dominator optimization: 0.06 ( 3%) usr 0.01 ( 1%) sys 0.07 ( 1%) wall
644 kB ( 3%) ggc
tree STORE-CCP : 0.01 ( 1%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
23 kB ( 0%) ggc
tree split crit edges : 0.01 ( 1%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
200 kB ( 1%) ggc
tree FRE : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall
222 kB ( 1%) ggc
tree conservative DCE : 0.01 ( 1%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
0 kB ( 0%) ggc
tree aggressive DCE : 0.01 ( 1%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
0 kB ( 0%) ggc
tree DSE : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
14 kB ( 0%) ggc
tree loop bounds : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
30 kB ( 0%) ggc
loop invariant motion : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
tree canonical iv : 0.01 ( 1%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
58 kB ( 0%) ggc
tree iv optimization : 0.02 ( 1%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
332 kB ( 2%) ggc
tree SSA to normal : 0.01 ( 1%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
225 kB ( 1%) ggc
tree rename SSA copies: 0.00 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall
0 kB ( 0%) ggc
dominance frontiers : 0.01 ( 1%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
0 kB ( 0%) ggc
expand : 0.02 ( 1%) usr 0.01 ( 1%) sys 0.23 ( 3%) wall
1443 kB ( 7%) ggc
jump : 0.01 ( 1%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall
5 kB ( 0%) ggc
CSE : 0.03 ( 2%) usr 0.00 ( 0%) sys 0.20 ( 2%) wall
47 kB ( 0%) ggc
loop analysis : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
88 kB ( 0%) ggc
CPROP 1 : 0.02 ( 1%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall
51 kB ( 0%) ggc
code hoisting : 0.02 ( 1%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
4 kB ( 0%) ggc
CPROP 2 : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall
35 kB ( 0%) ggc
bypass jumps : 0.01 ( 1%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
35 kB ( 0%) ggc
CSE 2 : 0.05 ( 3%) usr 0.00 ( 0%) sys 0.05 ( 1%) wall
37 kB ( 0%) ggc
branch prediction : 0.02 ( 1%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall
120 kB ( 1%) ggc
combiner : 0.05 ( 3%) usr 0.00 ( 0%) sys 0.05 ( 1%) wall
138 kB ( 1%) ggc
if-conversion : 0.02 ( 1%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall
23 kB ( 0%) ggc
regmove : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall
11 kB ( 0%) ggc
local alloc : 0.03 ( 2%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall
62 kB ( 0%) ggc
global alloc : 0.08 ( 5%) usr 0.01 ( 1%) sys 0.12 ( 1%) wall
271 kB ( 1%) ggc
reload CSE regs : 0.06 ( 3%) usr 0.00 ( 0%) sys 0.05 ( 1%) wall
142 kB ( 1%) ggc
flow 2 : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
134 kB ( 1%) ggc
if-conversion 2 : 0.02 ( 1%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
1 kB ( 0%) ggc
peephole 2 : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
16 kB ( 0%) ggc
rename registers : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
1 kB ( 0%) ggc
scheduling 2 : 0.04 ( 2%) usr 0.00 ( 0%) sys 0.20 ( 2%) wall
316 kB ( 2%) ggc
reorder blocks : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall
76 kB ( 0%) ggc
reg stack : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
final : 0.06 ( 3%) usr 0.02 ( 3%) sys 0.03 ( 0%) wall
231 kB ( 1%) ggc
symout : 0.05 ( 3%) usr 0.01 ( 1%) sys 1.85 (22%) wall
1816 kB ( 9%) ggc
variable tracking : 0.02 ( 1%) usr 0.00 ( 0%) sys 0.06 ( 1%) wall
138 kB ( 1%) ggc
TOTAL : 1.73 0.68 8.50
20338 kB
Building modules, stage 2.
make -f /usr/src/kernels/2.6.20-1.2953.fc7-i686/scripts/Makefile.modpost
scripts/mod/modpost -m -a -i
/usr/src/kernels/2.6.20-1.2953.fc7-i686/Module.symvers -I
/tmp/stap8Kxjzh/Module.symvers -o /tmp/stap8Kxjzh/Module.symvers -w
/tmp/stap8Kxjzh/stap_946fad05ec6503b566923e9d3d291c3d_266.o
gcc -m32
-Wp,-MD,/tmp/stap8Kxjzh/.stap_946fad05ec6503b566923e9d3d291c3d_266.mod.o.d
-nostdinc -isystem /usr/lib/gcc/i386-redhat-linux/4.1.2/include -D__KERNEL__
-Iinclude -include include/linux/autoconf.h -Wall -Wundef -Wstrict-prototypes
-Wno-trigraphs -fno-strict-aliasing -fno-common -Wstrict-prototypes -Wundef
-Werror-implicit-function-declaration -Os -pipe -msoft-float -mregparm=3
-mpreferred-stack-boundary=2 -march=i686 -mtune=generic -mtune=generic
-ffreestanding -maccumulate-outgoing-args -DCONFIG_AS_CFI=1
-DCONFIG_AS_CFI_SIGNAL_FRAME=1 -Iinclude/asm-i386/mach-generic
-Iinclude/asm-i386/mach-default -fno-omit-frame-pointer
-fno-optimize-sibling-calls -g -fno-stack-protector
-Wdeclaration-after-statement -Wno-pointer-sign -D"KBUILD_STR(s)=#s"
-D"KBUILD_BASENAME=KBUILD_STR(stap_946fad05ec6503b566923e9d3d291c3d_266.mod)"
-D"KBUILD_MODNAME=KBUILD_STR(stap_946fad05ec6503b566923e9d3d291c3d_266)"
-DMODULE -c -o /tmp/stap8Kxjzh/stap_946fad05ec6503b566923e9d3d291c3d_266.mod.o
/tmp/stap8Kxjzh/stap_946fad05ec6503b566923e9d3d291c3d_266.mod.c
ld -m elf_i386 -m elf_i386 -r -o
/tmp/stap8Kxjzh/stap_946fad05ec6503b566923e9d3d291c3d_266.ko
/tmp/stap8Kxjzh/stap_946fad05ec6503b566923e9d3d291c3d_266.o
/tmp/stap8Kxjzh/stap_946fad05ec6503b566923e9d3d291c3d_266.mod.o
make: Leaving directory `/usr/src/kernels/2.6.20-1.2953.fc7-i686'
Pass 4: compiled C into "stap_946fad05ec6503b566923e9d3d291c3d_266.ko" in
2290usr/1310sys/14103real ms.
Copying /tmp/stap8Kxjzh/stap_946fad05ec6503b566923e9d3d291c3d_266.ko to
/root/.systemtap/cache/94/stap_946fad05ec6503b566923e9d3d291c3d_266.ko
Copying /tmp/stap8Kxjzh/stap_946fad05ec6503b566923e9d3d291c3d_266.c to
/root/.systemtap/cache/94/stap_946fad05ec6503b566923e9d3d291c3d_266.c
Pass 5: starting run.
Running sudo /usr/bin/staprun -u root -d 19720
/tmp/stap8Kxjzh/stap_946fad05ec6503b566923e9d3d291c3d_266.ko
ERROR: probe kernel.function("sys_mkdir@fs/namei.c:1974") registration error (rc
-22)
Pass 5: run completed in 40usr/390sys/1202real ms.
Running rm -rf /tmp/stap8Kxjzh
Interesting. It looks like the debuginfo-extracted addresses for the kernel are in a different range (0xc1...) than the ones /proc/kallsyms lists (0xc06...). I wonder if this is an effect of the 2.6.21-rc relocatable-kernel changes. I'll get the wider team to look at this one. This problem is fixed upstream and in the 0.5.13 refresh for fc6/7. |
Description of problem: Using something like: probe kernel.function("sys_mkdir") { log ("enter") } always fails with: ERROR: probe kernel.function("sys_mkdir@fs/namei.c:1974") registration error (rc -22) This persists for all the kernel functions I've tried so far. Version-Release number of selected component (if applicable): systemtap-0.5.12 kernel-2.6.20-1.2942.fc7