Forked from: https://bugzilla.kernel.org/show_bug.cgi?id=205223 Heidi Fahim discovered that allyesconfig is broken for UML. I tracked down all the offending configs and it appears to be quite a few: CONFIG_STATIC_LINK=y CONFIG_UML_NET_VECTOR=y CONFIG_UML_NET_VDE=y CONFIG_UML_NET_PCAP=y CONFIG_NET_PTP_CLASSIFY=y CONFIG_IP_VS=y CONFIG_BRIDGE_EBT_BROUTE=y CONFIG_BRIDGE_EBT_T_FILTER=y CONFIG_BRIDGE_EBT_T_NAT=y CONFIG_MTD_NAND_CADENCE=y CONFIG_MTD_NAND_NANDSIM=y CONFIG_BLK_DEV_NULL_BLK=y CONFIG_BLK_DEV_RAM=y CONFIG_SCSI_DEBUG=y CONFIG_NET_VENDOR_XILINX=y CONFIG_NULL_TTY=y CONFIG_PTP_1588_CLOCK=y CONFIG_PINCTRL_EQUILIBRIUM=y CONFIG_DMABUF_SELFTESTS=y CONFIG_COMEDI=y CONFIG_XIL_AXIS_FIFO=y CONFIG_EXFAT_FS=y CONFIG_STM_DUMMY=y CONFIG_FSI_MASTER_ASPEED=y CONFIG_JFS_FS=y CONFIG_UBIFS_FS=y CONFIG_CRAMFS=y CONFIG_CRYPTO_DEV_SAFEXCEL=y CONFIG_CRYPTO_DEV_AMLOGIC_GXL=y CONFIG_KCOV=y CONFIG_LKDTM=y CONFIG_REED_SOLOMON_TEST=y CONFIG_TEST_RHASHTABLE=y CONFIG_TEST_MEMINIT=y CONFIG_NETWORK_PHY_TIMESTAMPING=y Some of these prevent UML from building, others cause UML to crash before reaching the end of init. One important note: It is not clear that CONFIG_NULL_TTY=y is actually broken on UML; however, it does cause the null TTY it creates to become console, which prevents UML from printing output after it is initialized.
CONFIG_UML_NET_VECTOR=y CONFIG_UML_NET_VDE=y CONFIG_UML_NET_PCAP=y all appear to be just very very broken. We should probably just delete them. CONFIG_EXFAT_FS=y appears to be broken on multiple architectures. It has a symbol name conflict with hostfs: ld: drivers/staging/exfat/exfat_core.o: in function `rename_file': /usr/local/google/home/brendanhiggins/gbmc-linux/drivers/staging/exfat/exfat_core.c:2327: multiple definition of `rename_file'; fs/hostfs/hostfs_user.o:/usr/local/google/home/brendanhiggins/gbmc-linux/fs/hostfs/hostfs_user.c:350: first defined here make: *** [Makefile:1077: vmlinux] Error 1 CONFIG_LKDTM=y doesn't seem to work with UML due to undefined symbols: drivers/misc/lkdtm/bugs.c: In function ‘lkdtm_UNSET_SMEP’: drivers/misc/lkdtm/bugs.c:288:8: error: implicit declaration of function ‘native_read_cr4’ [-Werror=implicit-function-declaration] cr4 = native_read_cr4(); ^~~~~~~~~~~~~~~ drivers/misc/lkdtm/bugs.c:290:13: error: ‘X86_CR4_SMEP’ undeclared (first use in this function); did you mean ‘X86_FEATURE_SMEP’? if ((cr4 & X86_CR4_SMEP) != X86_CR4_SMEP) { ^~~~~~~~~~~~ X86_FEATURE_SMEP drivers/misc/lkdtm/bugs.c:290:13: note: each undeclared identifier is reported only once for each function it appears in drivers/misc/lkdtm/bugs.c:297:2: error: implicit declaration of function ‘native_write_cr4’; did you mean ‘direct_write_cr4’? [-Werror=implicit-function-declaration] native_write_cr4(cr4); ^~~~~~~~~~~~~~~~ direct_write_cr4
CONFIG_PINCTRL_EQUILIBRIUM=y CONFIG_MTD_NAND_CADENCE=y CONFIG_FSI_MASTER_ASPEED=y CONFIG_CRYPTO_DEV_SAFEXCEL=y CONFIG_XIL_AXIS_FIFO=y CONFIG_CRYPTO_DEV_AMLOGIC_GXL=y CONFIG_XILINX_AXI_EMAC=y all have the issue that they depend on devm_platform_ioremap_resource which is not defined when CONFIG_HAS_IOMEM is not set (like on UML): /usr/bin/ld: drivers/pinctrl/pinctrl-equilibrium.o: in function `eqbr_pinctrl_probe': /usr/local/google/home/brendanhiggins/gbmc-linux/drivers/pinctrl/pinctrl-equilibrium.c:908: undefined reference to `devm_platform_ioremap_resource' /usr/bin/ld: /usr/local/google/home/brendanhiggins/gbmc-linux/drivers/pinctrl/pinctrl-equilibrium.c:223: undefined reference to `devm_ioremap_resource' /usr/bin/ld: drivers/mtd/nand/raw/cadence-nand-controller.o: in function `cadence_nand_dt_probe.cold.31': /usr/local/google/home/brendanhiggins/gbmc-linux/drivers/mtd/nand/raw/cadence-nand-controller.c:2969: undefined reference to `devm_platform_ioremap_resource' /usr/bin/ld: /usr/local/google/home/brendanhiggins/gbmc-linux/drivers/mtd/nand/raw/cadence-nand-controller.c:2977: undefined reference to `devm_ioremap_resource' /usr/bin/ld: drivers/net/ethernet/xilinx/xilinx_axienet_main.o: in function `axienet_probe': /usr/local/google/home/brendanhiggins/gbmc-linux/drivers/net/ethernet/xilinx/xilinx_axienet_main.c:1680: undefined reference to `devm_ioremap_resource' /usr/bin/ld: /usr/local/google/home/brendanhiggins/gbmc-linux/drivers/net/ethernet/xilinx/xilinx_axienet_main.c:1779: undefined reference to `devm_ioremap_resource' /usr/bin/ld: /usr/local/google/home/brendanhiggins/gbmc-linux/drivers/net/ethernet/xilinx/xilinx_axienet_main.c:1789: undefined reference to `devm_ioremap_resource' /usr/bin/ld: drivers/crypto/inside-secure/safexcel.o: in function `safexcel_probe': /usr/local/google/home/brendanhiggins/gbmc-linux/drivers/crypto/inside-secure/safexcel.c:1692: undefined reference to `devm_platform_ioremap_resource' /usr/bin/ld: drivers/crypto/amlogic/amlogic-gxl-core.o: in function `meson_crypto_probe': /usr/local/google/home/brendanhiggins/gbmc-linux/drivers/crypto/amlogic/amlogic-gxl-core.c:240: undefined reference to `devm_platform_ioremap_resource' /usr/bin/ld: drivers/staging/axis-fifo/axis-fifo.o: in function `axis_fifo_probe': /usr/local/google/home/brendanhiggins/gbmc-linux/drivers/staging/axis-fifo/axis-fifo.c:809: undefined reference to `devm_ioremap_resource' /usr/bin/ld: drivers/fsi/fsi-master-aspeed.o: in function `fsi_master_aspeed_probe': /usr/local/google/home/brendanhiggins/gbmc-linux/drivers/fsi/fsi-master-aspeed.c:436: undefined reference to `devm_ioremap_resource'
(In reply to Brendan Higgins from comment #1) > CONFIG_EXFAT_FS=y > > appears to be broken on multiple architectures. It has a symbol name > conflict with hostfs: > > ld: drivers/staging/exfat/exfat_core.o: in function `rename_file': > /usr/local/google/home/brendanhiggins/gbmc-linux/drivers/staging/exfat/ > exfat_core.c:2327: multiple definition of `rename_file'; > fs/hostfs/hostfs_user.o:/usr/local/google/home/brendanhiggins/gbmc-linux/fs/ > hostfs/hostfs_user.c:350: first defined here > make: *** [Makefile:1077: vmlinux] Error 1 Actually, CONFIG_HOSTFS appears to only be available on UML. So EXFAT is only broken on UML.
This is obsolete at least for KUnit.