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>] [day] [month] [year] [list]
Message-ID: <20210109083030.GA5006@DESKTOP-DQBDJ0U.localdomain>
Date:   Sat, 9 Jan 2021 09:30:30 +0100
From:   Thomas Meyer <thomas@...3r.de>
To:     linux-kernel@...r.kernel.org
Subject: Same symbol with EXPORT_SYMBOL and EXPORT_SYMBOL_GPL

Hi,

I have a question regarding EXPORT_SYMBOL vs. EXPORT_SYMBOL_GPL:
I did stumble upon different export declarations between different architectures, e.g.:

$ grep -r -e "EXPORT_SYMBOL[^(]*(" * | tr ":()" "   " | sort -s -k 3 -k 2  | grep __virt_addr_valid
arch/mips/mm/mmap.c EXPORT_SYMBOL_GPL __virt_addr_valid ;
arch/x86/mm/physaddr.c EXPORT_SYMBOL __virt_addr_valid ;

Bug or feature?

Other examples are:
clk_disable	EXPORT_SYMBOL	7
clk_disable	EXPORT_SYMBOL_GPL	3
clk_enable	EXPORT_SYMBOL	7
clk_enable	EXPORT_SYMBOL_GPL	3
clk_get_parent	EXPORT_SYMBOL	4
clk_get_parent	EXPORT_SYMBOL_GPL	2
clk_get_rate	EXPORT_SYMBOL	7
clk_get_rate	EXPORT_SYMBOL_GPL	3
clk_register	EXPORT_SYMBOL	2
clk_register	EXPORT_SYMBOL_GPL	2
clk_round_rate	EXPORT_SYMBOL	6
clk_round_rate	EXPORT_SYMBOL_GPL	4
clk_set_parent	EXPORT_SYMBOL	5
clk_set_parent	EXPORT_SYMBOL_GPL	2
clk_set_rate	EXPORT_SYMBOL	6
clk_set_rate	EXPORT_SYMBOL_GPL	4
clk_unregister	EXPORT_SYMBOL	2
clk_unregister	EXPORT_SYMBOL_GPL	2
copy_user_highpage	EXPORT_SYMBOL	4
copy_user_highpage	EXPORT_SYMBOL_GPL	1
cpu_have_feature	EXPORT_SYMBOL	1
cpu_have_feature	EXPORT_SYMBOL_GPL	1
ec_read	EXPORT_SYMBOL	1
ec_read	EXPORT_SYMBOL_GPL	1
ec_write	EXPORT_SYMBOL	1
ec_write	EXPORT_SYMBOL_GPL	1
elf_hwcap	EXPORT_SYMBOL	2
elf_hwcap	EXPORT_SYMBOL_GPL	2
empty_zero_page	EXPORT_SYMBOL	26
empty_zero_page	EXPORT_SYMBOL_GPL	1
flush_icache_range	EXPORT_SYMBOL	9
flush_icache_range	EXPORT_SYMBOL_GPL	2
ioremap_uc	EXPORT_SYMBOL	1
ioremap_uc	EXPORT_SYMBOL_GPL	1
irq_of_parse_and_map	EXPORT_SYMBOL	1
irq_of_parse_and_map	EXPORT_SYMBOL_GPL	1
irq_to_desc	EXPORT_SYMBOL	1
irq_to_desc	EXPORT_SYMBOL_GPL	1
machine_power_off	EXPORT_SYMBOL	1
machine_power_off	EXPORT_SYMBOL_GPL	1
memcpy_flushcache	EXPORT_SYMBOL	1
memcpy_flushcache	EXPORT_SYMBOL_GPL	1
memstart_addr	EXPORT_SYMBOL	1
memstart_addr	EXPORT_SYMBOL_GPL	1
node_data	EXPORT_SYMBOL	7
node_data	EXPORT_SYMBOL_GPL	1
pci_domain_nr	EXPORT_SYMBOL	2
pci_domain_nr	EXPORT_SYMBOL_GPL	1
pci_iomap_wc	EXPORT_SYMBOL	1
pci_iomap_wc	EXPORT_SYMBOL_GPL	1
pci_iomap_wc_range	EXPORT_SYMBOL	1
pci_iomap_wc_range	EXPORT_SYMBOL_GPL	1
perf_num_counters	EXPORT_SYMBOL	1
perf_num_counters	EXPORT_SYMBOL_GPL	2
perf_pmu_name	EXPORT_SYMBOL	1
perf_pmu_name	EXPORT_SYMBOL_GPL	2
pm_power_off	EXPORT_SYMBOL	22
pm_power_off	EXPORT_SYMBOL_GPL	3
pv_ops	EXPORT_SYMBOL	1
pv_ops	EXPORT_SYMBOL_GPL	2
rcu_barrier	EXPORT_SYMBOL	1
rcu_barrier	EXPORT_SYMBOL_GPL	1
return_address	EXPORT_SYMBOL	1
return_address	EXPORT_SYMBOL_GPL	3
rtc_lock	EXPORT_SYMBOL	5
rtc_lock	EXPORT_SYMBOL_GPL	2
save_stack_trace	EXPORT_SYMBOL	1
save_stack_trace	EXPORT_SYMBOL_GPL	14
save_stack_trace_tsk	EXPORT_SYMBOL	1
save_stack_trace_tsk	EXPORT_SYMBOL_GPL	11
smp_call_function_single_async	EXPORT_SYMBOL	1
smp_call_function_single_async	EXPORT_SYMBOL_GPL	1
start_thread	EXPORT_SYMBOL	4
start_thread	EXPORT_SYMBOL_GPL	2
ww_mutex_lock	EXPORT_SYMBOL	1
ww_mutex_lock	EXPORT_SYMBOL_GPL	1
ww_mutex_lock_interruptible	EXPORT_SYMBOL	1
ww_mutex_lock_interruptible	EXPORT_SYMBOL_GPL	1
xen_domain_type	EXPORT_SYMBOL	1
xen_domain_type	EXPORT_SYMBOL_GPL	1
xen_start_info	EXPORT_SYMBOL	1
xen_start_info	EXPORT_SYMBOL_GPL	1

Mfg
thomas

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ