Open
Description
Several symbols that are not intended to be in the exported API are exposed.
$ nm -g .libs/librtas.so | grep -v '\b[wU] '
0000000000009150 B dbg_lvl <<<
0000000000005660 T interface_exists <<<
00000000000022d0 T read_entire_file <<<
0000000000002af0 T rtas_activate_firmware
0000000000002b90 T rtas_cfg_connector
0000000000002da0 T rtas_delay_timeout
0000000000002df0 T rtas_display_char
0000000000002eb0 T rtas_display_msg
0000000000002fc0 T rtas_errinjct
00000000000031a0 T rtas_errinjct_close
0000000000003260 T rtas_errinjct_open
00000000000056c0 T rtas_free_rmo_buffer
0000000000003320 T rtas_get_config_addr_info2
0000000000003430 T rtas_get_dynamic_sensor
0000000000003570 T rtas_get_indices
0000000000003740 T rtas_get_power_level
0000000000005850 T rtas_get_rmo_buffer
0000000000003820 T rtas_get_sensor
0000000000003910 T rtas_get_sysparm
0000000000003a90 T rtas_get_time
0000000000003bf0 T rtas_get_vpd
0000000000003eb0 T rtas_lpar_perftools
00000000000051f0 T rtas_physical_attestation
0000000000004110 T rtas_platform_dump
00000000000043d0 T rtas_read_slot_reset
00000000000044e0 T rtas_scan_log_dump
0000000000004640 T rtas_set_debug
0000000000004680 T rtas_set_dynamic_indicator
00000000000047c0 T rtas_set_eeh_option
00000000000048b0 T rtas_set_indicator
0000000000004990 T rtas_set_power_level
0000000000004a80 T rtas_set_poweron_time
0000000000004bb0 T rtas_set_sysparm
0000000000004cc0 T rtas_set_time
0000000000004df0 T rtas_suspend_me
0000000000002400 T rtas_token <<<
0000000000004e90 T rtas_update_nodes
0000000000005040 T rtas_update_properties
0000000000002a90 T sanity_check <<<
We don't want clients to use the ones marked with <<<.
Possibilities for fixing this:
- Put all librtas code in one translation unit, allowing as to mark these static
- Using the "visibility" function attribute
- Export map
librtasevent seems to have a lot of questionable externally visible symbols as well but I haven't looked closely.
Metadata
Metadata
Assignees
Labels
No labels