Bug 230290 - registration of probes for kernel functions fails
Summary: registration of probes for kernel functions fails
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: systemtap
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Frank Ch. Eigler
QA Contact: Radek Bíba
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-02-27 23:30 UTC by Bill Nottingham
Modified: 2014-03-17 03:05 UTC (History)
1 user (show)

Fixed In Version: 0.5.13
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-03-29 17:33:47 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Bill Nottingham 2007-02-27 23:30:11 UTC
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

Comment 1 Frank Ch. Eigler 2007-03-02 20:48:22 UTC
-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 () }'


Comment 2 Bill Nottingham 2007-03-02 20:55:53 UTC
[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


Comment 3 Frank Ch. Eigler 2007-03-02 21:17:22 UTC
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.


Comment 4 Frank Ch. Eigler 2007-03-29 17:33:47 UTC
This problem is fixed upstream and in the 0.5.13 refresh for fc6/7.


Note You need to log in before you can comment on or make changes to this bug.