lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 22 Oct 2010 11:25:35 +0900
From:	Masami Hiramatsu <masami.hiramatsu.pt@...achi.com>
To:	Arnaldo Carvalho de Melo <acme@...hat.com>
Cc:	Ingo Molnar <mingo@...e.hu>, Steven Rostedt <rostedt@...dmis.org>,
	Srikar Dronamraju <srikar@...ux.vnet.ibm.com>,
	linux-kernel@...r.kernel.org, 2nddept-manager@....hitachi.co.jp,
	Peter Zijlstra <a.p.zijlstra@...llo.nl>,
	Paul Mackerras <paulus@...ba.org>,
	Frederic Weisbecker <fweisbec@...il.com>
Subject: Re: [PATCH -tip  6/7] perf probe: Show accessible global variables

(2010/10/22 5:50), Arnaldo Carvalho de Melo wrote:
> Em Thu, Oct 21, 2010 at 07:13:35PM +0900, Masami Hiramatsu escreveu:
>> Add --externs for allowing --vars to show accessible
>> global(externally defined) variables from a given probe
>> point too.
>> This will give you a hint which globals can be accessible
>> from the probe point.
> 
> Cool, but perhaps we need to filter out some of the globals? Things
> like:

Hmm, yeah. So is that enough to filter out symbols which start with
__k???tab_ and __crc_ ?


> 
>                 long unsigned int       __kcrctab_tcp_hashinfo
>                 long unsigned int       __kcrctab_tcp_proc_register
>                 long unsigned int       __kcrctab_tcp_proc_unregister
>                 long unsigned int       __kcrctab_tcp_prot
> 
> If --verbose is specified we could then show everything.

--verbose is already used for showing debug messages,  ;)
so how about using --all/--allextras?

Or, perhaps we can add more generic filtering for listing
events/vars/funcs.

Thank you,

> 
> So that it doesn't get this long:
> 
> [root@...lia ~]# perf probe -V tcp_v4_do_rcv:28 --externs
> Available variables at tcp_v4_do_rcv:28
> 	@<tcp_v4_do_rcv+390>
> 		(function_type)*	ip_nat_decode_session
> 		(unknown_type)	__crc_ipv4_specific
> 		(unknown_type)	__crc_sysctl_tcp_low_latency
> 		(unknown_type)	__crc_tcp4_gro_complete
> 		(unknown_type)	__crc_tcp4_gro_receive
> 		(unknown_type)	__crc_tcp_hashinfo
> 		(unknown_type)	__crc_tcp_proc_register
> 		(unknown_type)	__crc_tcp_proc_unregister
> 		(unknown_type)	__crc_tcp_prot
> 		(unknown_type)	__crc_tcp_twsk_unique
> 		(unknown_type)	__crc_tcp_v4_conn_request
> 		(unknown_type)	__crc_tcp_v4_connect
> 		(unknown_type)	__crc_tcp_v4_destroy_sock
> 		(unknown_type)	__crc_tcp_v4_do_rcv
> 		(unknown_type)	__crc_tcp_v4_md5_do_add
> 		(unknown_type)	__crc_tcp_v4_md5_do_del
> 		(unknown_type)	__crc_tcp_v4_md5_hash_skb
> 		(unknown_type)	__crc_tcp_v4_md5_lookup
> 		(unknown_type)	__crc_tcp_v4_remember_stamp
> 		(unknown_type)	__crc_tcp_v4_send_check
> 		(unknown_type)	__crc_tcp_v4_syn_recv_sock
> 		__u8*	ip_tos2prio
> 		atomic_long_t*	vm_stat
> 		atomic_t	tcp_memory_allocated
> 		bool	c1e_detected
> 		char	__pcpu_scope_cpu_core_map
> 		char	__pcpu_scope_cpu_info
> 		char	__pcpu_scope_cpu_llc_id
> 		char	__pcpu_scope_cpu_number
> 		char	__pcpu_scope_cpu_sibling_map
> 		char	__pcpu_scope_current_task
> 		char	__pcpu_scope_init_tss
> 		char	__pcpu_scope_irq_count
> 		char	__pcpu_scope_irq_regs
> 		char	__pcpu_scope_irq_stack_ptr
> 		char	__pcpu_scope_irq_stack_union
> 		char	__pcpu_scope_irq_stat
> 		char	__pcpu_scope_kernel_stack
> 		char	__pcpu_scope_numa_node
> 		char	__pcpu_scope_orig_ist
> 		char	__pcpu_scope_process_counts
> 		char	__pcpu_scope_softirq_work_list
> 		char	__pcpu_scope_softnet_data
> 		char	__pcpu_scope_this_cpu_off
> 		char	__pcpu_scope_tick_cpu_device
> 		char	__pcpu_scope_vector_irq
> 		char	__pcpu_scope_vm_event_states
> 		char	__pcpu_scope_x2apic_extra_bits
> 		char	__pcpu_scope_x86_bios_cpu_apicid
> 		char	__pcpu_scope_x86_cpu_to_apicid
> 		char	__pcpu_scope_x86_cpu_to_node_map
> 		char*	__kstrtab_ipv4_specific
> 		char*	__kstrtab_sysctl_tcp_low_latency
> 		char*	__kstrtab_tcp4_gro_complete
> 		char*	__kstrtab_tcp4_gro_receive
> 		char*	__kstrtab_tcp_hashinfo
> 		char*	__kstrtab_tcp_proc_register
> 		char*	__kstrtab_tcp_proc_unregister
> 		char*	__kstrtab_tcp_prot
> 		char*	__kstrtab_tcp_twsk_unique
> 		char*	__kstrtab_tcp_v4_conn_request
> 		char*	__kstrtab_tcp_v4_connect
> 		char*	__kstrtab_tcp_v4_destroy_sock
> 		char*	__kstrtab_tcp_v4_do_rcv
> 		char*	__kstrtab_tcp_v4_md5_do_add
> 		char*	__kstrtab_tcp_v4_md5_do_del
> 		char*	__kstrtab_tcp_v4_md5_hash_skb
> 		char*	__kstrtab_tcp_v4_md5_lookup
> 		char*	__kstrtab_tcp_v4_remember_stamp
> 		char*	__kstrtab_tcp_v4_send_check
> 		char*	__kstrtab_tcp_v4_syn_recv_sock
> 		char*	hex_asc
> 		char*	inet_csk_timer_bug_msg
> 		cpumask_var_t	cpu_callout_mask
> 		cpumask_var_t	cpu_core_map
> 		cpumask_var_t	cpu_sibling_map
> 		cpumask_var_t*	node_to_cpumask_map
> 		int	acpi_disabled
> 		int	acpi_noirq
> 		int	acpi_pci_disabled
> 		int	audit_enabled
> 		int	cpu_number
> 		int	debug_locks
> 		int	disable_apic
> 		int	net_msg_warn
> 		int	nr_cpu_ids
> 		int	nr_online_nodes
> 		int	numa_node
> 		int	page_group_by_mobility_disabled
> 		int	percpu_counter_batch
> 		int	prof_on
> 		int	sched_mc_power_savings
> 		int	sched_smt_power_savings
> 		int	smp_found_config
> 		int	sysctl_max_syn_backlog
> 		int	sysctl_tcp_adv_win_scale
> 		int	sysctl_tcp_cookie_size
> 		int	sysctl_tcp_ecn
> 		int	sysctl_tcp_fin_timeout
> 		int	sysctl_tcp_keepalive_intvl
> 		int	sysctl_tcp_keepalive_probes
> 		int	sysctl_tcp_keepalive_time
> 		int	sysctl_tcp_low_latency
> 		int	sysctl_tcp_max_orphans
> 		int	sysctl_tcp_reordering
> 		int	sysctl_tcp_syncookies
> 		int	sysctl_tcp_tw_reuse
> 		int	tcp_memory_pressure
> 		int	time_status
> 		int	timer_stats_active
> 		int	x2apic_phys
> 		int	x86_cpu_to_node_map
> 		int*	console_printk
> 		int*	sysctl_tcp_mem
> 		int*	sysctl_tcp_rmem
> 		int*	sysctl_tcp_wmem
> 		int*	x86_cpu_to_node_map_early_ptr
> 		irq_cpustat_t	irq_stat
> 		long unsigned int	__kcrctab_ipv4_specific
> 		long unsigned int	__kcrctab_sysctl_tcp_low_latency
> 		long unsigned int	__kcrctab_tcp4_gro_complete
> 		long unsigned int	__kcrctab_tcp4_gro_receive
> 		long unsigned int	__kcrctab_tcp_hashinfo
> 		long unsigned int	__kcrctab_tcp_proc_register
> 		long unsigned int	__kcrctab_tcp_proc_unregister
> 		long unsigned int	__kcrctab_tcp_prot
> 		long unsigned int	__kcrctab_tcp_twsk_unique
> 		long unsigned int	__kcrctab_tcp_v4_conn_request
> 		long unsigned int	__kcrctab_tcp_v4_connect
> 		long unsigned int	__kcrctab_tcp_v4_destroy_sock
> 		long unsigned int	__kcrctab_tcp_v4_do_rcv
> 		long unsigned int	__kcrctab_tcp_v4_md5_do_add
> 		long unsigned int	__kcrctab_tcp_v4_md5_do_del
> 		long unsigned int	__kcrctab_tcp_v4_md5_hash_skb
> 		long unsigned int	__kcrctab_tcp_v4_md5_lookup
> 		long unsigned int	__kcrctab_tcp_v4_remember_stamp
> 		long unsigned int	__kcrctab_tcp_v4_send_check
> 		long unsigned int	__kcrctab_tcp_v4_syn_recv_sock
> 		long unsigned int	jiffies
> 		long unsigned int	kernel_stack
> 		long unsigned int	mmap_min_addr
> 		long unsigned int	mmu_cr4_features
> 		long unsigned int*	__per_cpu_offset
> 		long unsigned int*	cpu_bit_bitmap
> 		long unsigned int*	sysctl_local_reserved_ports
> 		nodemask_t*	node_states
> 		pg_data_t**	node_data
> 		physid_mask_t	phys_cpu_present_map
> 		pteval_t	__supported_pte_mask
> 		spinlock_t	dcache_lock
> 		struct address_space	swapper_space
> 		struct apic*	apic
> 		struct cache_sizes*	malloc_sizes
> 		struct cpuinfo_x86	boot_cpu_data
> 		struct cpuinfo_x86	cpu_info
> 		struct cpumask*	cpu_online_mask
> 		struct cpumask*	cpu_possible_mask
> 		struct cpumask*	cpu_present_mask
> 		struct device	x86_dma_fallback_dev
> 		struct dma_map_ops*	dma_ops
> 		struct dqstats	dqstats
> 		struct icmp_err*	icmp_err_convert
> 		struct inet_connection_sock_af_ops	ipv4_specific
> 		struct inet_hashinfo	tcp_hashinfo
> 		struct inet_timewait_death_row	tcp_death_row
> 		struct kernel_symbol	__ksymtab_ipv4_specific
> 		struct kernel_symbol	__ksymtab_sysctl_tcp_low_latency
> 		struct kernel_symbol	__ksymtab_tcp4_gro_complete
> 		struct kernel_symbol	__ksymtab_tcp4_gro_receive
> 		struct kernel_symbol	__ksymtab_tcp_hashinfo
> 		struct kernel_symbol	__ksymtab_tcp_proc_register
> 		struct kernel_symbol	__ksymtab_tcp_proc_unregister
> 		struct kernel_symbol	__ksymtab_tcp_prot
> 		struct kernel_symbol	__ksymtab_tcp_twsk_unique
> 		struct kernel_symbol	__ksymtab_tcp_v4_conn_request
> 		struct kernel_symbol	__ksymtab_tcp_v4_connect
> 		struct kernel_symbol	__ksymtab_tcp_v4_destroy_sock
> 		struct kernel_symbol	__ksymtab_tcp_v4_do_rcv
> 		struct kernel_symbol	__ksymtab_tcp_v4_md5_do_add
> 		struct kernel_symbol	__ksymtab_tcp_v4_md5_do_del
> 		struct kernel_symbol	__ksymtab_tcp_v4_md5_hash_skb
> 		struct kernel_symbol	__ksymtab_tcp_v4_md5_lookup
> 		struct kernel_symbol	__ksymtab_tcp_v4_remember_stamp
> 		struct kernel_symbol	__ksymtab_tcp_v4_send_check
> 		struct kernel_symbol	__ksymtab_tcp_v4_syn_recv_sock
> 		struct list_head*	nf_hooks
> 		struct mem_section**	mem_section
> 		struct memnode	memnode
> 		struct neigh_table	nd_tbl
> 		struct nf_afinfo**	nf_afinfo
> 		struct percpu_counter	tcp_orphan_count
> 		struct percpu_counter	tcp_sockets_allocated
> 		struct pernet_operations	tcp4_net_ops
> 		struct pernet_operations	tcp_sk_ops
> 		struct pglist_data**	node_data
> 		struct pid*	cad_pid
> 		struct pid_namespace	init_pid_ns
> 		struct proto	tcp_prot
> 		struct pt_regs*	irq_regs
> 		struct pv_apic_ops	pv_apic_ops
> 		struct pv_cpu_ops	pv_cpu_ops
> 		struct pv_info	pv_info
> 		struct pv_irq_ops	pv_irq_ops
> 		struct pv_mmu_ops	pv_mmu_ops
> 		struct pv_time_ops	pv_time_ops
> 		struct request_sock_ops	tcp_request_sock_ops
> 		struct resource	ioport_resource
> 		struct rps_sock_flow_table*	rps_sock_flow_table
> 		struct sk_buff*	skb
> 		struct smp_ops	smp_ops
> 		struct sock*	sk
> 		struct task_struct*	current_task
> 		struct tcp_congestion_ops	tcp_init_congestion_ops
> 		struct tcp_request_sock_ops	tcp_request_sock_ipv4_ops
> 		struct tcp_seq_afinfo	tcp4_seq_afinfo
> 		struct tcp_sock_af_ops	tcp_sock_ipv4_specific
> 		struct timewait_sock_ops	tcp_timewait_sock_ops
> 		struct tracepoint	__tracepoint_irq_handler_entry
> 		struct tracepoint	__tracepoint_irq_handler_exit
> 		struct tracepoint	__tracepoint_kfree
> 		struct tracepoint	__tracepoint_kmalloc
> 		struct tracepoint	__tracepoint_kmalloc_node
> 		struct tracepoint	__tracepoint_kmem_cache_alloc
> 		struct tracepoint	__tracepoint_kmem_cache_alloc_node
> 		struct tracepoint	__tracepoint_kmem_cache_free
> 		struct tracepoint	__tracepoint_mm_page_alloc
> 		struct tracepoint	__tracepoint_mm_page_alloc_extfrag
> 		struct tracepoint	__tracepoint_mm_page_alloc_zone_locked
> 		struct tracepoint	__tracepoint_mm_page_free_direct
> 		struct tracepoint	__tracepoint_mm_page_pcpu_drain
> 		struct tracepoint	__tracepoint_mm_pagevec_free
> 		struct tracepoint	__tracepoint_module_free
> 		struct tracepoint	__tracepoint_module_get
> 		struct tracepoint	__tracepoint_module_load
> 		struct tracepoint	__tracepoint_module_put
> 		struct tracepoint	__tracepoint_module_request
> 		struct tracepoint	__tracepoint_softirq_entry
> 		struct tracepoint	__tracepoint_softirq_exit
> 		struct tracepoint	__tracepoint_softirq_raise
> 		struct vm_event_state	vm_event_states
> 		struct x86_init_ops	x86_init
> 		struct x86_platform_ops	x86_platform
> 		u16	x86_bios_cpu_apicid
> 		u32	inet_ehash_secret
> 		union irq_stack_union	irq_stack_union
> 		unsigned int	apic_verbosity
> 		unsigned int	sysctl_timer_migration
> 
> - Arnaldo
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/


-- 
Masami HIRAMATSU
2nd Dept. Linux Technology Center
Hitachi, Ltd., Systems Development Laboratory
E-mail: masami.hiramatsu.pt@...achi.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ