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
-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.