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-randconfig-m041-20220925 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: Unexpected GOT/PLT entries detected! aarch64-linux-ld: Unexpected run-time procedure linkages detected! aarch64-linux-ld: drivers/tty/hvc/hvc_console.o: in function `hvc_cleanup': hvc_console.c:(.text+0x2a8): undefined reference to `tty_port_put' aarch64-linux-ld: drivers/tty/hvc/hvc_console.o: in function `hvc_set_winsz': hvc_console.c:(.text+0x388): undefined reference to `tty_port_tty_get' aarch64-linux-ld: hvc_console.c:(.text+0x3bc): undefined reference to `tty_do_resize' aarch64-linux-ld: drivers/tty/hvc/hvc_console.o: in function `hvc_hangup': hvc_console.c:(.text+0x514): undefined reference to `tty_port_tty_set' aarch64-linux-ld: drivers/tty/hvc/hvc_console.o: in function `hvc_open': hvc_console.c:(.text+0x5dc): undefined reference to `tty_port_tty_set' aarch64-linux-ld: drivers/tty/hvc/hvc_console.o: in function `hvc_close': hvc_console.c:(.text+0x6b4): undefined reference to `tty_hung_up_p' aarch64-linux-ld: hvc_console.c:(.text+0x6f0): undefined reference to `tty_port_tty_set' aarch64-linux-ld: hvc_console.c:(.text+0x744): undefined reference to `tty_wait_until_sent' aarch64-linux-ld: drivers/tty/hvc/hvc_console.o: in function `hvc_remove': >> (.text+0x7c4): undefined reference to `tty_port_tty_get' aarch64-linux-ld: (.text+0x820): undefined reference to `tty_port_put' aarch64-linux-ld: (.text+0x82c): undefined reference to `tty_vhangup' aarch64-linux-ld: drivers/tty/hvc/hvc_console.o: in function `hvc_alloc': >> (.text+0x8e8): undefined reference to `__tty_alloc_driver' aarch64-linux-ld: (.text+0x8fc): undefined reference to `tty_std_termios' aarch64-linux-ld: drivers/tty/hvc/hvc_console.o: relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol `tty_std_termios' which may bind externally can not be used when making a shared object; recompile with -fPIC (.text+0x8fc): dangerous relocation: unsupported relocation aarch64-linux-ld: (.text+0x900): undefined reference to `tty_std_termios' aarch64-linux-ld: (.text+0x990): undefined reference to `tty_register_driver' aarch64-linux-ld: (.text+0x9b0): undefined reference to `tty_driver_kref_put' aarch64-linux-ld: (.text+0x9c8): undefined reference to `tty_driver_kref_put' aarch64-linux-ld: (.text+0xa2c): undefined reference to `tty_port_init' aarch64-linux-ld: drivers/tty/hvc/hvc_console.o: in function `__hvc_poll': hvc_console.c:(.text+0xc90): undefined reference to `tty_port_tty_get' aarch64-linux-ld: hvc_console.c:(.text+0xcf0): undefined reference to `tty_buffer_request_room' aarch64-linux-ld: hvc_console.c:(.text+0xd48): undefined reference to `tty_hangup' aarch64-linux-ld: hvc_console.c:(.text+0xe08): undefined reference to `__tty_insert_flip_char' aarch64-linux-ld: hvc_console.c:(.text+0xea0): undefined reference to `tty_wakeup' aarch64-linux-ld: hvc_console.c:(.text+0xec8): undefined reference to `tty_flip_buffer_push' aarch64-linux-ld: drivers/tty/hvc/hvc_console.o: in function `hvc_install': hvc_console.c:(.text+0x1260): undefined reference to `tty_port_install' aarch64-linux-ld: hvc_console.c:(.text+0x1270): undefined reference to `tty_port_put' aarch64-linux-ld: drivers/tty/hvc/hvc_console.o: in function `hvc_instantiate': >> (.text+0x16f8): undefined reference to `tty_port_put' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_get_fixed_state': phylink.c:(.text+0x2a8): undefined reference to `linkmode_resolve_pause' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_decode_c37_word': phylink.c:(.text+0x3c8): undefined reference to `linkmode_resolve_pause' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_major_config': phylink.c:(.text+0x4ac): undefined reference to `netdev_printk' aarch64-linux-ld: phylink.c:(.text+0x514): undefined reference to `netdev_printk' aarch64-linux-ld: phylink.c:(.text+0x574): undefined reference to `netdev_printk' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_link_down': phylink.c:(.text+0x5d4): undefined reference to `netif_carrier_off' aarch64-linux-ld: phylink.c:(.text+0x610): undefined reference to `netdev_printk' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_ethtool_get_pauseparam': >> (.text+0x6e4): undefined reference to `rtnl_is_locked' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_disconnect_phy': (.text+0x7a0): undefined reference to `rtnl_is_locked' aarch64-linux-ld: (.text+0x7f0): undefined reference to `phy_disconnect' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_ethtool_get_wol': (.text+0x840): undefined reference to `rtnl_is_locked' aarch64-linux-ld: (.text+0x854): undefined reference to `phy_ethtool_get_wol' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_ethtool_set_wol': (.text+0x8a0): undefined reference to `rtnl_is_locked' aarch64-linux-ld: (.text+0x8b0): undefined reference to `phy_ethtool_set_wol' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_get_eee_err': (.text+0x8fc): undefined reference to `rtnl_is_locked' aarch64-linux-ld: (.text+0x908): undefined reference to `phy_get_eee_err' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_init_eee': >> (.text+0x950): undefined reference to `phy_init_eee' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_ethtool_get_eee': (.text+0x9a0): undefined reference to `rtnl_is_locked' aarch64-linux-ld: (.text+0x9b0): undefined reference to `phy_ethtool_get_eee' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_ethtool_set_eee': (.text+0xa00): undefined reference to `rtnl_is_locked' aarch64-linux-ld: (.text+0xa10): undefined reference to `phy_ethtool_set_eee' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_mii_c22_pcs_get_state': >> (.text+0xa74): undefined reference to `mdiobus_read' aarch64-linux-ld: (.text+0xa88): undefined reference to `mdiobus_read' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_mii_c45_pcs_get_state': (.text+0xbbc): undefined reference to `mdiobus_read' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_mii_c22_pcs_set_advertisement': (.text+0xca4): undefined reference to `mdiobus_read' aarch64-linux-ld: (.text+0xcc4): undefined reference to `mdiobus_write' aarch64-linux-ld: (.text+0xce0): undefined reference to `mdiobus_read' aarch64-linux-ld: (.text+0xd00): undefined reference to `mdiobus_write' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_mii_c22_pcs_an_restart': (.text+0xd5c): undefined reference to `mdiobus_read' aarch64-linux-ld: (.text+0xd74): undefined reference to `mdiobus_write' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_mii_emul_read': phylink.c:(.text+0xdec): undefined reference to `swphy_read_reg' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_speed_down': (.text+0xe54): undefined reference to `rtnl_is_locked' aarch64-linux-ld: (.text+0xe70): undefined reference to `phy_speed_down' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_speed_up': (.text+0xebc): undefined reference to `rtnl_is_locked' aarch64-linux-ld: (.text+0xed4): undefined reference to `phy_speed_up' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_mii_c22_pcs_config': >> (.text+0xf54): undefined reference to `mdiobus_modify' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_stop': (.text+0xfbc): undefined reference to `rtnl_is_locked' aarch64-linux-ld: (.text+0xfc8): undefined reference to `phy_stop' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_suspend': (.text+0x1070): undefined reference to `rtnl_is_locked' aarch64-linux-ld: (.text+0x10ac): undefined reference to `netif_carrier_off' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_ethtool_set_pauseparam': (.text+0x11c4): undefined reference to `rtnl_is_locked' aarch64-linux-ld: (.text+0x125c): undefined reference to `linkmode_set_pause' aarch64-linux-ld: (.text+0x12bc): undefined reference to `phy_set_asym_pause' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_phy_change': phylink.c:(.text+0x1650): undefined reference to `phy_get_pause' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_start': (.text+0x170c): undefined reference to `rtnl_is_locked' aarch64-linux-ld: (.text+0x177c): undefined reference to `netdev_printk' aarch64-linux-ld: (.text+0x1788): undefined reference to `netif_carrier_off' aarch64-linux-ld: (.text+0x1868): undefined reference to `phy_start' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_resume': (.text+0x18cc): undefined reference to `rtnl_is_locked' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_resolve': phylink.c:(.text+0x1df0): undefined reference to `netif_carrier_on' aarch64-linux-ld: phylink.c:(.text+0x1e08): undefined reference to `phy_speed_to_str' aarch64-linux-ld: phylink.c:(.text+0x1e18): undefined reference to `phy_duplex_to_str' aarch64-linux-ld: phylink.c:(.text+0x1e60): undefined reference to `netdev_printk' aarch64-linux-ld: phylink.c:(.text+0x1e78): undefined reference to `phy_speed_to_str' aarch64-linux-ld: phylink.c:(.text+0x1e80): undefined reference to `phy_duplex_to_str' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_ethtool_ksettings_get': (.text+0x1f20): undefined reference to `rtnl_is_locked' aarch64-linux-ld: (.text+0x1f30): undefined reference to `phy_ethtool_ksettings_get' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_mii_ioctl': (.text+0x1fe8): undefined reference to `rtnl_is_locked' aarch64-linux-ld: (.text+0x20bc): undefined reference to `mdiobus_read' aarch64-linux-ld: (.text+0x215c): undefined reference to `mdiobus_write' aarch64-linux-ld: (.text+0x216c): undefined reference to `phy_mii_ioctl' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_ethtool_nway_reset': (.text+0x229c): undefined reference to `rtnl_is_locked' aarch64-linux-ld: (.text+0x22ac): undefined reference to `phy_restart_aneg' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_bringup_phy': phylink.c:(.text+0x235c): undefined reference to `phy_support_asym_pause' aarch64-linux-ld: phylink.c:(.text+0x23fc): undefined reference to `phy_attached_info_irq' aarch64-linux-ld: phylink.c:(.text+0x2468): undefined reference to `netdev_printk' aarch64-linux-ld: phylink.c:(.text+0x249c): undefined reference to `netdev_printk' aarch64-linux-ld: phylink.c:(.text+0x2514): undefined reference to `phy_request_interrupt' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_connect_phy': >> (.text+0x25e0): undefined reference to `phy_attach_direct' aarch64-linux-ld: (.text+0x2608): undefined reference to `phy_detach' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_parse_mode': phylink.c:(.text+0x2714): undefined reference to `netdev_printk' aarch64-linux-ld: phylink.c:(.text+0x282c): undefined reference to `netdev_printk' aarch64-linux-ld: phylink.c:(.text+0x28b4): undefined reference to `netdev_printk' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_parse_fixedlink': phylink.c:(.text+0x2a94): undefined reference to `netdev_printk' aarch64-linux-ld: phylink.c:(.text+0x2b34): undefined reference to `netdev_printk' >> aarch64-linux-ld: phylink.c:(.text+0x2b98): undefined reference to `phy_lookup_setting' aarch64-linux-ld: phylink.c:(.text+0x2c24): undefined reference to `netdev_printk' aarch64-linux-ld: drivers/net/phy/phylink.o: in function `phylink_ethtool_ksettings_set': (.text+0x2f00): undefined reference to `rtnl_is_locked' aarch64-linux-ld: (.text+0x2f10): undefined reference to `phy_ethtool_ksettings_set' aarch64-linux-ld: (.text+0x2f7c): undefined reference to `phy_lookup_setting' aarch64-linux-ld: (.text+0x30dc): undefined reference to `netdev_printk' -- >> 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 PHYLINK Depends on [n]: NETDEVICES [=n] Selected by [y]: - GKI_HIDDEN_ETHERNET_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 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] WARNING: unmet direct dependencies detected for BALLOON_COMPACTION Depends on [n]: COMPACTION [=n] && MEMORY_BALLOON [=y] Selected by [y]: - GKI_HIDDEN_MM_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