tree: https://github.com/ammarfaizi2/linux-block google/android/kernel/common/android13-5.15 head: 754bb029c85fb4b18d198216540f75e635dde8d4 commit: f8bd6cf70dec3961c8b15b987866af33be2ce82b [2523/5636] ANDROID: GKI: Add module load time protected symbol lookup config: arm64-buildonly-randconfig-r006-20221124 compiler: aarch64-linux-gcc (GCC) 12.1.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/ammarfaizi2/linux-block/commit/f8bd6cf70dec3961c8b15b987866af33be2ce82b git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block git fetch --no-tags ammarfaizi2-block google/android/kernel/common/android13-5.15 git checkout f8bd6cf70dec3961c8b15b987866af33be2ce82b # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot All error/warnings (new ones prefixed by >>): aarch64-linux-ld: drivers/tty/hvc/hvc_console.o: in function `hvc_cleanup': hvc_console.c:(.text+0x204): undefined reference to `tty_port_put' hvc_console.c:(.text+0x204): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `tty_port_put' aarch64-linux-ld: drivers/tty/hvc/hvc_console.o: in function `hvc_set_winsz': hvc_console.c:(.text+0x28c): undefined reference to `tty_port_tty_get' hvc_console.c:(.text+0x28c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `tty_port_tty_get' aarch64-linux-ld: hvc_console.c:(.text+0x2c0): undefined reference to `tty_do_resize' hvc_console.c:(.text+0x2c0): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `tty_do_resize' aarch64-linux-ld: drivers/tty/hvc/hvc_console.o: in function `hvc_hangup': hvc_console.c:(.text+0x404): undefined reference to `tty_port_tty_set' hvc_console.c:(.text+0x404): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `tty_port_tty_set' aarch64-linux-ld: drivers/tty/hvc/hvc_console.o: in function `hvc_remove': >> (.text+0x43c): undefined reference to `tty_port_tty_get' (.text+0x43c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `tty_port_tty_get' >> aarch64-linux-ld: (.text+0x498): undefined reference to `tty_port_put' (.text+0x498): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `tty_port_put' >> aarch64-linux-ld: (.text+0x4a4): undefined reference to `tty_vhangup' (.text+0x4a4): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `tty_vhangup' aarch64-linux-ld: drivers/tty/hvc/hvc_console.o: in function `hvc_close': hvc_console.c:(.text+0x550): undefined reference to `tty_hung_up_p' hvc_console.c:(.text+0x550): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `tty_hung_up_p' aarch64-linux-ld: hvc_console.c:(.text+0x588): undefined reference to `tty_port_tty_set' hvc_console.c:(.text+0x588): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `tty_port_tty_set' aarch64-linux-ld: hvc_console.c:(.text+0x5dc): undefined reference to `tty_wait_until_sent' hvc_console.c:(.text+0x5dc): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `tty_wait_until_sent' aarch64-linux-ld: drivers/tty/hvc/hvc_console.o: in function `hvc_open': hvc_console.c:(.text+0x6ac): undefined reference to `tty_port_tty_set' hvc_console.c:(.text+0x6ac): additional relocation overflows omitted from the output aarch64-linux-ld: drivers/tty/hvc/hvc_console.o: in function `hvc_alloc': >> (.text+0x794): undefined reference to `__tty_alloc_driver' >> aarch64-linux-ld: (.text+0x7d8): undefined reference to `tty_std_termios' aarch64-linux-ld: (.text+0x7e0): undefined reference to `tty_std_termios' >> aarch64-linux-ld: (.text+0x830): undefined reference to `tty_register_driver' >> aarch64-linux-ld: (.text+0x84c): undefined reference to `tty_driver_kref_put' aarch64-linux-ld: (.text+0x898): undefined reference to `tty_driver_kref_put' >> aarch64-linux-ld: (.text+0x8ec): undefined reference to `tty_port_init' aarch64-linux-ld: drivers/tty/hvc/hvc_console.o: in function `__hvc_poll': hvc_console.c:(.text+0xab4): undefined reference to `tty_port_tty_get' aarch64-linux-ld: hvc_console.c:(.text+0xb6c): undefined reference to `tty_buffer_request_room' aarch64-linux-ld: hvc_console.c:(.text+0xbb8): undefined reference to `tty_hangup' aarch64-linux-ld: hvc_console.c:(.text+0xbd8): undefined reference to `tty_wakeup' aarch64-linux-ld: hvc_console.c:(.text+0xbfc): undefined reference to `tty_flip_buffer_push' aarch64-linux-ld: hvc_console.c:(.text+0xc98): undefined reference to `__tty_insert_flip_char' aarch64-linux-ld: drivers/tty/hvc/hvc_console.o: in function `hvc_instantiate': >> (.text+0x1160): undefined reference to `tty_port_put' aarch64-linux-ld: drivers/tty/hvc/hvc_console.o: in function `hvc_install': hvc_console.c:(.text+0x11fc): undefined reference to `tty_port_install' aarch64-linux-ld: hvc_console.c:(.text+0x120c): undefined reference to `tty_port_put' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_get_fixed_state': phylink.c:(.text+0x1cc): undefined reference to `linkmode_resolve_pause' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_ethtool_get_pauseparam': >> (.text+0x2f4): undefined reference to `rtnl_is_locked' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_disconnect_phy': (.text+0x3c8): undefined reference to `rtnl_is_locked' >> aarch64-linux-ld: (.text+0x44c): undefined reference to `phy_disconnect' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_ethtool_get_wol': (.text+0x488): undefined reference to `rtnl_is_locked' >> aarch64-linux-ld: (.text+0x4d4): undefined reference to `phy_ethtool_get_wol' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_ethtool_set_wol': (.text+0x50c): undefined reference to `rtnl_is_locked' >> aarch64-linux-ld: (.text+0x554): undefined reference to `phy_ethtool_set_wol' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_get_eee_err': (.text+0x58c): undefined reference to `rtnl_is_locked' >> aarch64-linux-ld: (.text+0x5d0): undefined reference to `phy_get_eee_err' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_init_eee': >> (.text+0x60c): undefined reference to `phy_init_eee' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_ethtool_get_eee': (.text+0x64c): undefined reference to `rtnl_is_locked' >> aarch64-linux-ld: (.text+0x694): undefined reference to `phy_ethtool_get_eee' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_ethtool_set_eee': (.text+0x6d0): undefined reference to `rtnl_is_locked' >> aarch64-linux-ld: (.text+0x718): undefined reference to `phy_ethtool_set_eee' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_mii_c22_pcs_set_advertisement': >> (.text+0x7c4): undefined reference to `mdiobus_read' >> aarch64-linux-ld: (.text+0x7e4): undefined reference to `mdiobus_write' >> aarch64-linux-ld: (.text+0x800): undefined reference to `mdiobus_read' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_mii_c22_pcs_an_restart': (.text+0x838): undefined reference to `mdiobus_read' aarch64-linux-ld: (.text+0x850): undefined reference to `mdiobus_write' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_mii_emul_read': phylink.c:(.text+0x8bc): undefined reference to `swphy_read_reg' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_speed_down': (.text+0x900): undefined reference to `rtnl_is_locked' aarch64-linux-ld: (.text+0x950): undefined reference to `phy_speed_down' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_speed_up': (.text+0x988): undefined reference to `rtnl_is_locked' aarch64-linux-ld: (.text+0x9d4): undefined reference to `phy_speed_up' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_mii_c22_pcs_config': (.text+0xa44): undefined reference to `mdiobus_modify' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_major_config': phylink.c:(.text+0xb64): undefined reference to `netdev_printk' aarch64-linux-ld: phylink.c:(.text+0xbf8): undefined reference to `netdev_printk' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_ethtool_nway_reset': (.text+0xc5c): undefined reference to `rtnl_is_locked' aarch64-linux-ld: (.text+0xca0): undefined reference to `phy_restart_aneg' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_mii_c45_pcs_get_state': (.text+0xd5c): undefined reference to `mdiobus_read' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_bringup_phy': phylink.c:(.text+0xf48): undefined reference to `phy_support_asym_pause' aarch64-linux-ld: phylink.c:(.text+0xfec): undefined reference to `netdev_printk' aarch64-linux-ld: phylink.c:(.text+0x104c): undefined reference to `phy_attached_info_irq' aarch64-linux-ld: phylink.c:(.text+0x108c): undefined reference to `netdev_printk' aarch64-linux-ld: phylink.c:(.text+0x1114): undefined reference to `phy_request_interrupt' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_connect_phy': (.text+0x11b0): undefined reference to `phy_attach_direct' aarch64-linux-ld: (.text+0x11d8): undefined reference to `phy_detach' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_parse_mode': phylink.c:(.text+0x13d0): undefined reference to `netdev_printk' aarch64-linux-ld: phylink.c:(.text+0x14fc): undefined reference to `netdev_printk' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_parse_fixedlink': phylink.c:(.text+0x16b4): undefined reference to `netdev_printk' aarch64-linux-ld: phylink.c:(.text+0x16f0): undefined reference to `phy_lookup_setting' aarch64-linux-ld: phylink.c:(.text+0x17c8): undefined reference to `netdev_printk' aarch64-linux-ld: phylink.c:(.text+0x186c): undefined reference to `netdev_printk' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_ethtool_ksettings_get': (.text+0x1b34): undefined reference to `rtnl_is_locked' aarch64-linux-ld: (.text+0x1b7c): undefined reference to `phy_ethtool_ksettings_get' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_link_down': phylink.c:(.text+0x1c18): undefined reference to `netif_carrier_off' aarch64-linux-ld: phylink.c:(.text+0x1c54): undefined reference to `netdev_printk' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_mii_ioctl': (.text+0x1c98): undefined reference to `rtnl_is_locked' aarch64-linux-ld: (.text+0x1d38): undefined reference to `mdiobus_read' aarch64-linux-ld: (.text+0x1e00): undefined reference to `mdiobus_write' aarch64-linux-ld: (.text+0x1e64): undefined reference to `phy_mii_ioctl' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_stop': (.text+0x1fe8): undefined reference to `rtnl_is_locked' aarch64-linux-ld: (.text+0x202c): undefined reference to `phy_stop' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_suspend': (.text+0x20c0): undefined reference to `rtnl_is_locked' aarch64-linux-ld: (.text+0x2134): undefined reference to `netif_carrier_off' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_resolve': phylink.c:(.text+0x2454): undefined reference to `netif_carrier_on' aarch64-linux-ld: phylink.c:(.text+0x2470): undefined reference to `phy_speed_to_str' aarch64-linux-ld: phylink.c:(.text+0x2480): undefined reference to `phy_duplex_to_str' aarch64-linux-ld: phylink.c:(.text+0x24b8): undefined reference to `netdev_printk' aarch64-linux-ld: phylink.c:(.text+0x24d8): undefined reference to `phy_speed_to_str' aarch64-linux-ld: phylink.c:(.text+0x24e0): undefined reference to `phy_duplex_to_str' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_phy_change': phylink.c:(.text+0x25f8): undefined reference to `phy_get_pause' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_start': (.text+0x2690): undefined reference to `rtnl_is_locked' aarch64-linux-ld: (.text+0x2718): undefined reference to `netdev_printk' aarch64-linux-ld: (.text+0x2724): undefined reference to `netif_carrier_off' aarch64-linux-ld: (.text+0x27ec): undefined reference to `phy_start' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_ethtool_set_pauseparam': (.text+0x2878): undefined reference to `rtnl_is_locked' aarch64-linux-ld: (.text+0x2940): undefined reference to `linkmode_set_pause' aarch64-linux-ld: (.text+0x299c): undefined reference to `phy_set_asym_pause' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_decode_c37_word': phylink.c:(.text+0x2a90): undefined reference to `linkmode_resolve_pause' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_mii_c22_pcs_get_state': (.text+0x2b28): undefined reference to `mdiobus_read' aarch64-linux-ld: (.text+0x2b3c): undefined reference to `mdiobus_read' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_resume': (.text+0x2c34): undefined reference to `rtnl_is_locked' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_ethtool_ksettings_set': (.text+0x2d10): undefined reference to `rtnl_is_locked' aarch64-linux-ld: (.text+0x2d58): undefined reference to `phy_ethtool_ksettings_set' aarch64-linux-ld: (.text+0x2dd4): undefined reference to `phy_lookup_setting' aarch64-linux-ld: (.text+0x2f78): undefined reference to `netdev_printk' aarch64-linux-ld: drivers/power/supply/pda_power.o: in function `pda_power_remove': pda_power.c:(.text+0x220): undefined reference to `usb_put_phy' aarch64-linux-ld: drivers/power/supply/pda_power.o: in function `pda_power_probe': pda_power.c:(.text+0x9d4): undefined reference to `usb_get_phy' aarch64-linux-ld: pda_power.c:(.text+0xb3c): undefined reference to `usb_put_phy' aarch64-linux-ld: drivers/power/supply/isp1704_charger.o: in function `isp1704_charger_probe': isp1704_charger.c:(.text+0x678): undefined reference to `devm_usb_get_phy_by_phandle' aarch64-linux-ld: isp1704_charger.c:(.text+0x6ec): undefined reference to `devm_usb_get_phy' -- >> kernel/gki_module.c:35:6: warning: no previous prototype for 'gki_is_module_protected_symbol' [-Wmissing-prototypes] 35 | bool gki_is_module_protected_symbol(const char *name) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> kernel/gki_module.c:46:6: warning: no previous prototype for 'gki_is_module_exported_symbol' [-Wmissing-prototypes] 46 | bool gki_is_module_exported_symbol(const char *name) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Kconfig warnings: (for reference only) WARNING: unmet direct dependencies detected for USB_PHY Depends on [n]: USB_SUPPORT [=n] Selected by [y]: - GKI_HIDDEN_USB_CONFIGS [=y] WARNING: unmet direct dependencies detected for WEXT_SPY Depends on [n]: NET [=n] && WIRELESS [=n] Selected by [y]: - GKI_LEGACY_WEXT_ALLCONFIG [=y] WARNING: unmet direct dependencies detected for PHYLINK Depends on [n]: NETDEVICES [=n] Selected by [y]: - GKI_HIDDEN_ETHERNET_CONFIGS [=y] WARNING: unmet direct dependencies detected for WIRELESS_EXT Depends on [n]: NET [=n] && WIRELESS [=n] Selected by [y]: - GKI_LEGACY_WEXT_ALLCONFIG [=y] WARNING: unmet direct dependencies detected for WEXT_CORE Depends on [n]: NET [=n] && WIRELESS [=n] && (CFG80211_WEXT [=n] || WIRELESS_EXT [=y]) Selected by [y]: - GKI_LEGACY_WEXT_ALLCONFIG [=y] WARNING: unmet direct dependencies detected for NET_PTP_CLASSIFY Depends on [n]: NET [=n] Selected by [y]: - GKI_HIDDEN_NET_CONFIGS [=y] WARNING: unmet direct dependencies detected for HVC_DRIVER Depends on [n]: TTY [=n] Selected by [y]: - GKI_HIDDEN_VIRTUAL_CONFIGS [=y] WARNING: unmet direct dependencies detected for WEXT_PROC Depends on [n]: NET [=n] && WIRELESS [=n] && PROC_FS [=y] && WEXT_CORE [=y] Selected by [y]: - GKI_LEGACY_WEXT_ALLCONFIG [=y] WARNING: unmet direct dependencies detected for WEXT_PRIV Depends on [n]: NET [=n] && WIRELESS [=n] Selected by [y]: - GKI_LEGACY_WEXT_ALLCONFIG [=y] WARNING: unmet direct dependencies detected for PAGE_POOL Depends on [n]: NET [=n] Selected by [y]: - GKI_HIDDEN_NET_CONFIGS [=y] vim +/gki_is_module_protected_symbol +35 kernel/gki_module.c 29 30 /** 31 * gki_is_module_protected_symbol - Is a symbol protected from unsigned module? 32 * 33 * @name: Symbol being checked against protection from unsigned module 34 */ > 35 bool gki_is_module_protected_symbol(const char *name) 36 { 37 return bsearch(name, gki_protected_symbols, NO_OF_PROTECTED_SYMBOLS, 38 MAX_PROTECTED_NAME_LEN, cmp_name) != NULL; 39 } 40 41 /** 42 * gki_is_module_exported_symbol - Is a symbol exported from a GKI module? 43 * 44 * @name: Symbol being checked against exported symbols from GKI modules 45 */ > 46 bool gki_is_module_exported_symbol(const char *name) -- 0-DAY CI Kernel Test Service https://01.org/lkp