Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
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


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.