| @@ -21,16 +21,10 @@ BOARD:=uml | |||||||
| BOARDNAME:=User Mode Linux | BOARDNAME:=User Mode Linux | ||||||
| FEATURES:=squashfs ext4 audio source-only | FEATURES:=squashfs ext4 audio source-only | ||||||
|  |  | ||||||
| KERNEL_PATCHVER:=4.14 | KERNEL_PATCHVER:=5.4 | ||||||
|  |  | ||||||
| include $(INCLUDE_DIR)/target.mk | include $(INCLUDE_DIR)/target.mk | ||||||
|  |  | ||||||
| define Kernel/Patch |  | ||||||
| 	mkdir -p $(LINUX_DIR)/arch/um/include/uapi |  | ||||||
| 	mv $(LINUX_DIR)/arch/um/include/asm $(LINUX_DIR)/arch/um/include/uapi/ |  | ||||||
| 	$(Kernel/Patch/Default) |  | ||||||
| endef |  | ||||||
|  |  | ||||||
| LINUX_TARGET_CONFIG:=$(CURDIR)/config/$(ARCH) | LINUX_TARGET_CONFIG:=$(CURDIR)/config/$(ARCH) | ||||||
|  |  | ||||||
| DEFAULT_PACKAGES += wpad-basic-wolfssl kmod-mac80211-hwsim mkf2fs e2fsprogs | DEFAULT_PACKAGES += wpad-basic-wolfssl kmod-mac80211-hwsim mkf2fs e2fsprogs | ||||||
|   | |||||||
| @@ -1,76 +1,62 @@ | |||||||
| # CONFIG_3_LEVEL_PGTABLES is not set | # CONFIG_3_LEVEL_PGTABLES is not set | ||||||
| # CONFIG_64BIT is not set | # CONFIG_64BIT is not set | ||||||
| CONFIG_ARCH_DEFCONFIG="arch/um/configs/i386_defconfig" | CONFIG_ARCH_DEFCONFIG="arch/um/configs/i386_defconfig" | ||||||
| # CONFIG_ARCH_HAS_GCOV_PROFILE_ALL is not set |  | ||||||
| CONFIG_ARCH_HAS_KCOV=y | CONFIG_ARCH_HAS_KCOV=y | ||||||
| CONFIG_ARCH_HAS_SC_SIGNALS=y | CONFIG_ARCH_NO_PREEMPT=y | ||||||
| # CONFIG_ARCH_HAS_SG_CHAIN is not set |  | ||||||
| # CONFIG_ARCH_HAS_STRICT_KERNEL_RWX is not set |  | ||||||
| # CONFIG_ARCH_HAS_STRICT_MODULE_RWX is not set |  | ||||||
| # CONFIG_ARCH_OPTIONAL_KERNEL_RWX is not set |  | ||||||
| # CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT is not set |  | ||||||
| CONFIG_ARCH_REUSE_HOST_VSYSCALL_AREA=y |  | ||||||
| CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y |  | ||||||
| CONFIG_BLK_DEV_COW_COMMON=y | CONFIG_BLK_DEV_COW_COMMON=y | ||||||
| CONFIG_BLK_DEV_LOOP=y | CONFIG_BLK_DEV_LOOP=y | ||||||
| CONFIG_BLK_DEV_UBD=y | CONFIG_BLK_DEV_UBD=y | ||||||
| CONFIG_BLK_DEV_UBD_SYNC=y | CONFIG_BLK_DEV_UBD_SYNC=y | ||||||
| CONFIG_CLONE_BACKWARDS=y | CONFIG_BLK_MQ_VIRTIO=y | ||||||
|  | CONFIG_CC_HAS_KASAN_GENERIC=y | ||||||
| CONFIG_CON_CHAN="xterm" | CONFIG_CON_CHAN="xterm" | ||||||
| CONFIG_CON_ZERO_CHAN="fd:0,fd:1" | CONFIG_CON_ZERO_CHAN="fd:0,fd:1" | ||||||
| CONFIG_CPU_SUP_AMD=y | CONFIG_CPU_SUP_AMD=y | ||||||
| CONFIG_CPU_SUP_CENTAUR=y | CONFIG_CPU_SUP_CENTAUR=y | ||||||
| CONFIG_CPU_SUP_CYRIX_32=y | CONFIG_CPU_SUP_HYGON=y | ||||||
| CONFIG_CPU_SUP_INTEL=y | CONFIG_CPU_SUP_INTEL=y | ||||||
| CONFIG_CPU_SUP_TRANSMETA_32=y | CONFIG_CPU_SUP_ZHAOXIN=y | ||||||
| CONFIG_CPU_SUP_UMC_32=y |  | ||||||
| # CONFIG_CRASHLOG is not set |  | ||||||
| CONFIG_CRC16=y | CONFIG_CRC16=y | ||||||
| CONFIG_CRYPTO_CRC32=y | CONFIG_CRYPTO_CRC32=y | ||||||
| CONFIG_CRYPTO_CRC32C=y | CONFIG_CRYPTO_CRC32C=y | ||||||
| CONFIG_CRYPTO_HASH=y | CONFIG_CRYPTO_HASH=y | ||||||
| CONFIG_CRYPTO_HASH2=y | CONFIG_CRYPTO_HASH2=y | ||||||
| CONFIG_CRYPTO_RNG2=y | CONFIG_CRYPTO_RNG2=y | ||||||
| CONFIG_CRYPTO_WORKQUEUE=y | CONFIG_CRYPTO_SHA1=y | ||||||
| CONFIG_DEBUG_MEMORY_INIT=y | CONFIG_DEBUG_MEMORY_INIT=y | ||||||
| CONFIG_DECOMPRESS_BZIP2=y | CONFIG_DECOMPRESS_BZIP2=y | ||||||
| CONFIG_DECOMPRESS_GZIP=y | CONFIG_DECOMPRESS_GZIP=y | ||||||
| CONFIG_DEFAULT_CFQ=y |  | ||||||
| # CONFIG_DEFAULT_DEADLINE is not set |  | ||||||
| CONFIG_DEFAULT_IOSCHED="cfq" |  | ||||||
| CONFIG_DNOTIFY=y | CONFIG_DNOTIFY=y | ||||||
| # CONFIG_EARLY_PRINTK is not set | # CONFIG_EARLY_PRINTK is not set | ||||||
| # CONFIG_EMBEDDED is not set |  | ||||||
| CONFIG_EXT4_FS=y | CONFIG_EXT4_FS=y | ||||||
| # CONFIG_F2FS_CHECK_FS is not set |  | ||||||
| CONFIG_F2FS_FS=y | CONFIG_F2FS_FS=y | ||||||
| # CONFIG_F2FS_FS_SECURITY is not set |  | ||||||
| CONFIG_F2FS_FS_XATTR=y | CONFIG_F2FS_FS_XATTR=y | ||||||
| CONFIG_F2FS_STAT_FS=y | CONFIG_F2FS_STAT_FS=y | ||||||
|  | CONFIG_FAILOVER=y | ||||||
|  | CONFIG_FS_IOMAP=y | ||||||
| CONFIG_FS_MBCACHE=y | CONFIG_FS_MBCACHE=y | ||||||
|  | CONFIG_FW_LOADER_PAGED_BUF=y | ||||||
| CONFIG_GENERIC_CLOCKEVENTS=y | CONFIG_GENERIC_CLOCKEVENTS=y | ||||||
|  | # CONFIG_GENERIC_CPU is not set | ||||||
| CONFIG_GENERIC_CPU_DEVICES=y | CONFIG_GENERIC_CPU_DEVICES=y | ||||||
| CONFIG_GENERIC_FIND_FIRST_BIT=y | CONFIG_GENERIC_FIND_FIRST_BIT=y | ||||||
| CONFIG_GENERIC_IO=y |  | ||||||
| CONFIG_GENERIC_IRQ_SHOW=y | CONFIG_GENERIC_IRQ_SHOW=y | ||||||
| # CONFIG_GRO_CELLS is not set |  | ||||||
| # CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set |  | ||||||
| CONFIG_HAVE_AOUT=y |  | ||||||
| CONFIG_HAVE_ARCH_AUDITSYSCALL=y | CONFIG_HAVE_ARCH_AUDITSYSCALL=y | ||||||
| # CONFIG_HAVE_ARCH_BITREVERSE is not set |  | ||||||
| CONFIG_HAVE_ARCH_SECCOMP_FILTER=y | CONFIG_HAVE_ARCH_SECCOMP_FILTER=y | ||||||
| # CONFIG_HAVE_BOOTMEM_INFO_NODE is not set | CONFIG_HAVE_ASM_MODVERSIONS=y | ||||||
|  | CONFIG_HAVE_COPY_THREAD_TLS=y | ||||||
|  | CONFIG_HAVE_DEBUG_BUGVERBOSE=y | ||||||
| CONFIG_HAVE_DEBUG_KMEMLEAK=y | CONFIG_HAVE_DEBUG_KMEMLEAK=y | ||||||
| CONFIG_HAVE_FUTEX_CMPXCHG=y | CONFIG_HAVE_FUTEX_CMPXCHG=y | ||||||
| # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |  | ||||||
| CONFIG_HAVE_NET_DSA=y | CONFIG_HAVE_NET_DSA=y | ||||||
| CONFIG_HAVE_UID16=y | CONFIG_HAVE_UID16=y | ||||||
| CONFIG_HOSTAUDIO=m | CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y | ||||||
| CONFIG_HOSTFS=y | CONFIG_HOSTFS=y | ||||||
|  | CONFIG_HVC_DRIVER=y | ||||||
|  | CONFIG_HZ=100 | ||||||
| CONFIG_HZ_PERIODIC=y | CONFIG_HZ_PERIODIC=y | ||||||
| CONFIG_INITRAMFS_SOURCE="" | CONFIG_INITRAMFS_SOURCE="" | ||||||
| CONFIG_INIT_ENV_ARG_LIMIT=128 | CONFIG_INIT_ENV_ARG_LIMIT=128 | ||||||
| CONFIG_IOSCHED_CFQ=y |  | ||||||
| CONFIG_IRQ_WORK=y | CONFIG_IRQ_WORK=y | ||||||
| CONFIG_ISO9660_FS=y | CONFIG_ISO9660_FS=y | ||||||
| CONFIG_JBD2=y | CONFIG_JBD2=y | ||||||
| @@ -78,68 +64,38 @@ CONFIG_JBD2=y | |||||||
| CONFIG_KALLSYMS=y | CONFIG_KALLSYMS=y | ||||||
| CONFIG_KERNEL_STACK_ORDER=2 | CONFIG_KERNEL_STACK_ORDER=2 | ||||||
| CONFIG_LD_SCRIPT_STATIC=y | CONFIG_LD_SCRIPT_STATIC=y | ||||||
| # CONFIG_M486 is not set | CONFIG_LOCK_DEBUGGING_SUPPORT=y | ||||||
| # CONFIG_M586 is not set |  | ||||||
| # CONFIG_M586MMX is not set |  | ||||||
| # CONFIG_M586TSC is not set |  | ||||||
| # CONFIG_M686 is not set |  | ||||||
| CONFIG_MAGIC_SYSRQ=y |  | ||||||
| # CONFIG_MATOM is not set | # CONFIG_MATOM is not set | ||||||
| CONFIG_MCONSOLE=y | CONFIG_MCONSOLE=y | ||||||
| # CONFIG_MCORE2 is not set | # CONFIG_MCORE2 is not set | ||||||
| # CONFIG_MCRUSOE is not set | CONFIG_MEMFD_CREATE=y | ||||||
| # CONFIG_MCYRIXIII is not set | CONFIG_MIGRATION=y | ||||||
| # CONFIG_MDIO_BUS is not set | CONFIG_MK8=y | ||||||
| # CONFIG_MEFFICEON is not set |  | ||||||
| # CONFIG_MELAN is not set |  | ||||||
| # CONFIG_MGEODEGX1 is not set |  | ||||||
| # CONFIG_MGEODE_LX is not set |  | ||||||
| # CONFIG_MK6 is not set |  | ||||||
| # CONFIG_MK7 is not set |  | ||||||
| # CONFIG_MK8 is not set |  | ||||||
| # CONFIG_MMAPPER is not set | # CONFIG_MMAPPER is not set | ||||||
| CONFIG_MODULES_USE_ELF_REL=y | CONFIG_MODULES_USE_ELF_RELA=y | ||||||
| # CONFIG_MPENTIUM4 is not set | # CONFIG_MPSC is not set | ||||||
| CONFIG_MPENTIUMII=y |  | ||||||
| # CONFIG_MPENTIUMIII is not set |  | ||||||
| # CONFIG_MPENTIUMM is not set |  | ||||||
| # CONFIG_MVIAC3_2 is not set |  | ||||||
| # CONFIG_MVIAC7 is not set |  | ||||||
| # CONFIG_MWINCHIP3D is not set |  | ||||||
| # CONFIG_MWINCHIPC6 is not set |  | ||||||
| CONFIG_NAMESPACES=y | CONFIG_NAMESPACES=y | ||||||
| CONFIG_NEED_PER_CPU_KM=y | CONFIG_NEED_PER_CPU_KM=y | ||||||
|  | CONFIG_NET_FAILOVER=y | ||||||
| # CONFIG_NET_NS is not set | # CONFIG_NET_NS is not set | ||||||
| CONFIG_NLS=y | CONFIG_NLS=y | ||||||
| # CONFIG_NOCONFIG_CHAN is not set |  | ||||||
| CONFIG_NO_DMA=y | CONFIG_NO_DMA=y | ||||||
| CONFIG_NO_IOMEM=y | CONFIG_NO_IOMEM=y | ||||||
| CONFIG_NR_CPUS=1 | CONFIG_NR_CPUS=1 | ||||||
| # CONFIG_NSC_GPIO is not set |  | ||||||
| CONFIG_NULL_CHAN=y | CONFIG_NULL_CHAN=y | ||||||
| # CONFIG_OF is not set | # CONFIG_OF is not set | ||||||
| CONFIG_OLD_SIGACTION=y | CONFIG_PGTABLE_LEVELS=3 | ||||||
| CONFIG_OLD_SIGSUSPEND3=y | CONFIG_PHYS_ADDR_T_64BIT=y | ||||||
| CONFIG_PGTABLE_LEVELS=2 |  | ||||||
| CONFIG_PORT_CHAN=y | CONFIG_PORT_CHAN=y | ||||||
| CONFIG_POSIX_MQUEUE=y | CONFIG_POSIX_MQUEUE=y | ||||||
| CONFIG_POSIX_MQUEUE_SYSCTL=y | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||||||
| # CONFIG_PROCESSOR_SELECT is not set | # CONFIG_PROCESSOR_SELECT is not set | ||||||
| CONFIG_PROC_PAGE_MONITOR=y | CONFIG_PROC_PAGE_MONITOR=y | ||||||
| CONFIG_PTY_CHAN=y | CONFIG_PTY_CHAN=y | ||||||
| # CONFIG_RCU_NEED_SEGCBLIST is not set |  | ||||||
| # CONFIG_RCU_STALL_COMMON is not set |  | ||||||
| CONFIG_RD_BZIP2=y | CONFIG_RD_BZIP2=y | ||||||
| CONFIG_RD_GZIP=y | CONFIG_RD_GZIP=y | ||||||
| CONFIG_RELAY=y | CONFIG_RELAY=y | ||||||
| # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set |  | ||||||
| # CONFIG_SBC8360_WDT is not set |  | ||||||
| # CONFIG_SCHED_INFO is not set |  | ||||||
| # CONFIG_SCSI_DMA is not set |  | ||||||
| CONFIG_SOFT_WATCHDOG=m | CONFIG_SOFT_WATCHDOG=m | ||||||
| CONFIG_SOUND=m |  | ||||||
| CONFIG_SOUND_OSS_CORE=y |  | ||||||
| CONFIG_SOUND_OSS_CORE_PRECLAIM=y |  | ||||||
| CONFIG_SRCU=y | CONFIG_SRCU=y | ||||||
| CONFIG_SSL=y | CONFIG_SSL=y | ||||||
| CONFIG_SSL_CHAN="pty" | CONFIG_SSL_CHAN="pty" | ||||||
| @@ -152,19 +108,26 @@ CONFIG_TTY_CHAN=y | |||||||
| CONFIG_UML=y | CONFIG_UML=y | ||||||
| CONFIG_UML_NET=y | CONFIG_UML_NET=y | ||||||
| CONFIG_UML_NET_DAEMON=y | CONFIG_UML_NET_DAEMON=y | ||||||
|  | CONFIG_UML_NET_DETERMINISTIC_MAC=y | ||||||
| CONFIG_UML_NET_ETHERTAP=y | CONFIG_UML_NET_ETHERTAP=y | ||||||
| CONFIG_UML_NET_MCAST=y | CONFIG_UML_NET_MCAST=y | ||||||
| # CONFIG_UML_NET_PCAP is not set | # CONFIG_UML_NET_PCAP is not set | ||||||
| # CONFIG_UML_NET_RANDOM_MAC is not set |  | ||||||
| CONFIG_UML_NET_SLIP=y | CONFIG_UML_NET_SLIP=y | ||||||
| CONFIG_UML_NET_SLIRP=y | CONFIG_UML_NET_SLIRP=y | ||||||
| CONFIG_UML_NET_TUNTAP=y | CONFIG_UML_NET_TUNTAP=y | ||||||
| # CONFIG_UML_NET_VDE is not set | # CONFIG_UML_NET_VDE is not set | ||||||
|  | CONFIG_UML_NET_VECTOR=y | ||||||
| CONFIG_UML_RANDOM=y | CONFIG_UML_RANDOM=y | ||||||
| CONFIG_UML_SOUND=m | # CONFIG_UML_SOUND is not set | ||||||
| CONFIG_UML_WATCHDOG=m | CONFIG_UML_TIME_TRAVEL_SUPPORT=y | ||||||
|  | CONFIG_UML_WATCHDOG=y | ||||||
| CONFIG_UML_X86=y | CONFIG_UML_X86=y | ||||||
| # CONFIG_USER_NS is not set | # CONFIG_USER_NS is not set | ||||||
|  | CONFIG_VIRTIO=y | ||||||
|  | CONFIG_VIRTIO_BLK=y | ||||||
|  | CONFIG_VIRTIO_CONSOLE=y | ||||||
|  | CONFIG_VIRTIO_NET=y | ||||||
|  | CONFIG_VIRTIO_UML=y | ||||||
| CONFIG_VM_EVENT_COUNTERS=y | CONFIG_VM_EVENT_COUNTERS=y | ||||||
| CONFIG_WATCHDOG_CORE=y | CONFIG_WATCHDOG_CORE=y | ||||||
| CONFIG_X86_32=y | CONFIG_X86_32=y | ||||||
|   | |||||||
| @@ -1,75 +1,64 @@ | |||||||
| CONFIG_3_LEVEL_PGTABLES=y | CONFIG_3_LEVEL_PGTABLES=y | ||||||
| CONFIG_64BIT=y | CONFIG_64BIT=y | ||||||
| CONFIG_ARCH_DEFCONFIG="arch/um/configs/x86_64_defconfig" | CONFIG_ARCH_DEFCONFIG="arch/um/configs/x86_64_defconfig" | ||||||
| # CONFIG_ARCH_HAS_GCOV_PROFILE_ALL is not set | CONFIG_ARCH_DMA_ADDR_T_64BIT=y | ||||||
| CONFIG_ARCH_HAS_KCOV=y | CONFIG_ARCH_HAS_KCOV=y | ||||||
| # CONFIG_ARCH_HAS_SC_SIGNALS is not set | CONFIG_ARCH_NO_PREEMPT=y | ||||||
| # CONFIG_ARCH_HAS_SG_CHAIN is not set |  | ||||||
| # CONFIG_ARCH_HAS_STRICT_KERNEL_RWX is not set |  | ||||||
| # CONFIG_ARCH_HAS_STRICT_MODULE_RWX is not set |  | ||||||
| # CONFIG_ARCH_OPTIONAL_KERNEL_RWX is not set |  | ||||||
| # CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT is not set |  | ||||||
| # CONFIG_ARCH_REUSE_HOST_VSYSCALL_AREA is not set |  | ||||||
| CONFIG_BLK_DEV_COW_COMMON=y | CONFIG_BLK_DEV_COW_COMMON=y | ||||||
| CONFIG_BLK_DEV_LOOP=y | CONFIG_BLK_DEV_LOOP=y | ||||||
| CONFIG_BLK_DEV_UBD=y | CONFIG_BLK_DEV_UBD=y | ||||||
| CONFIG_BLK_DEV_UBD_SYNC=y | CONFIG_BLK_DEV_UBD_SYNC=y | ||||||
|  | CONFIG_BLK_MQ_VIRTIO=y | ||||||
|  | CONFIG_CC_HAS_KASAN_GENERIC=y | ||||||
| CONFIG_CON_CHAN="xterm" | CONFIG_CON_CHAN="xterm" | ||||||
| CONFIG_CON_ZERO_CHAN="fd:0,fd:1" | CONFIG_CON_ZERO_CHAN="fd:0,fd:1" | ||||||
| CONFIG_CPU_SUP_AMD=y | CONFIG_CPU_SUP_AMD=y | ||||||
| CONFIG_CPU_SUP_CENTAUR=y | CONFIG_CPU_SUP_CENTAUR=y | ||||||
|  | CONFIG_CPU_SUP_HYGON=y | ||||||
| CONFIG_CPU_SUP_INTEL=y | CONFIG_CPU_SUP_INTEL=y | ||||||
| # CONFIG_CRASHLOG is not set | CONFIG_CPU_SUP_ZHAOXIN=y | ||||||
| CONFIG_CRC16=y | CONFIG_CRC16=y | ||||||
| # CONFIG_CRYPTO_AES_X86_64 is not set |  | ||||||
| CONFIG_CRYPTO_CRC32=y | CONFIG_CRYPTO_CRC32=y | ||||||
| CONFIG_CRYPTO_CRC32C=y | CONFIG_CRYPTO_CRC32C=y | ||||||
| CONFIG_CRYPTO_HASH=y | CONFIG_CRYPTO_HASH=y | ||||||
| CONFIG_CRYPTO_HASH2=y | CONFIG_CRYPTO_HASH2=y | ||||||
| CONFIG_CRYPTO_RNG2=y | CONFIG_CRYPTO_RNG2=y | ||||||
| CONFIG_CRYPTO_SHA1=y | CONFIG_CRYPTO_SHA1=y | ||||||
| # CONFIG_CRYPTO_SKEIN is not set |  | ||||||
| # CONFIG_CRYPTO_TWOFISH_X86_64 is not set | # CONFIG_CRYPTO_TWOFISH_X86_64 is not set | ||||||
| CONFIG_CRYPTO_WORKQUEUE=y |  | ||||||
| CONFIG_DEBUG_MEMORY_INIT=y | CONFIG_DEBUG_MEMORY_INIT=y | ||||||
| CONFIG_DECOMPRESS_BZIP2=y | CONFIG_DECOMPRESS_BZIP2=y | ||||||
| CONFIG_DECOMPRESS_GZIP=y | CONFIG_DECOMPRESS_GZIP=y | ||||||
| CONFIG_DEFAULT_CFQ=y |  | ||||||
| # CONFIG_DEFAULT_DEADLINE is not set |  | ||||||
| CONFIG_DEFAULT_IOSCHED="cfq" |  | ||||||
| CONFIG_DNOTIFY=y | CONFIG_DNOTIFY=y | ||||||
| # CONFIG_EARLY_PRINTK is not set | # CONFIG_EARLY_PRINTK is not set | ||||||
| CONFIG_EXT4_FS=y | CONFIG_EXT4_FS=y | ||||||
| # CONFIG_F2FS_CHECK_FS is not set |  | ||||||
| CONFIG_F2FS_FS=y | CONFIG_F2FS_FS=y | ||||||
| # CONFIG_F2FS_FS_SECURITY is not set |  | ||||||
| CONFIG_F2FS_FS_XATTR=y | CONFIG_F2FS_FS_XATTR=y | ||||||
| CONFIG_F2FS_STAT_FS=y | CONFIG_F2FS_STAT_FS=y | ||||||
|  | CONFIG_FAILOVER=y | ||||||
|  | CONFIG_FS_IOMAP=y | ||||||
| CONFIG_FS_MBCACHE=y | CONFIG_FS_MBCACHE=y | ||||||
|  | CONFIG_FW_LOADER_PAGED_BUF=y | ||||||
| CONFIG_GENERIC_CLOCKEVENTS=y | CONFIG_GENERIC_CLOCKEVENTS=y | ||||||
| # CONFIG_GENERIC_CPU is not set | # CONFIG_GENERIC_CPU is not set | ||||||
| CONFIG_GENERIC_CPU_DEVICES=y | CONFIG_GENERIC_CPU_DEVICES=y | ||||||
| CONFIG_GENERIC_FIND_FIRST_BIT=y | CONFIG_GENERIC_FIND_FIRST_BIT=y | ||||||
| CONFIG_GENERIC_IO=y |  | ||||||
| CONFIG_GENERIC_IRQ_SHOW=y | CONFIG_GENERIC_IRQ_SHOW=y | ||||||
| # CONFIG_GRO_CELLS is not set |  | ||||||
| CONFIG_HAVE_64BIT_ALIGNED_ACCESS=y |  | ||||||
| CONFIG_HAVE_ARCH_AUDITSYSCALL=y | CONFIG_HAVE_ARCH_AUDITSYSCALL=y | ||||||
| # CONFIG_HAVE_ARCH_BITREVERSE is not set |  | ||||||
| CONFIG_HAVE_ARCH_SECCOMP_FILTER=y | CONFIG_HAVE_ARCH_SECCOMP_FILTER=y | ||||||
| # CONFIG_HAVE_BOOTMEM_INFO_NODE is not set | CONFIG_HAVE_ASM_MODVERSIONS=y | ||||||
|  | CONFIG_HAVE_COPY_THREAD_TLS=y | ||||||
|  | CONFIG_HAVE_DEBUG_BUGVERBOSE=y | ||||||
| CONFIG_HAVE_DEBUG_KMEMLEAK=y | CONFIG_HAVE_DEBUG_KMEMLEAK=y | ||||||
| CONFIG_HAVE_FUTEX_CMPXCHG=y | CONFIG_HAVE_FUTEX_CMPXCHG=y | ||||||
| # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |  | ||||||
| CONFIG_HAVE_NET_DSA=y | CONFIG_HAVE_NET_DSA=y | ||||||
| CONFIG_HAVE_UID16=y | CONFIG_HAVE_UID16=y | ||||||
| CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y | CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y | ||||||
| CONFIG_HOSTAUDIO=m |  | ||||||
| CONFIG_HOSTFS=y | CONFIG_HOSTFS=y | ||||||
|  | CONFIG_HVC_DRIVER=y | ||||||
|  | CONFIG_HZ=100 | ||||||
| CONFIG_HZ_PERIODIC=y | CONFIG_HZ_PERIODIC=y | ||||||
| CONFIG_INITRAMFS_SOURCE="" | CONFIG_INITRAMFS_SOURCE="" | ||||||
| CONFIG_INIT_ENV_ARG_LIMIT=128 | CONFIG_INIT_ENV_ARG_LIMIT=128 | ||||||
| CONFIG_IOSCHED_CFQ=y |  | ||||||
| CONFIG_IRQ_WORK=y | CONFIG_IRQ_WORK=y | ||||||
| CONFIG_ISO9660_FS=y | CONFIG_ISO9660_FS=y | ||||||
| CONFIG_JBD2=y | CONFIG_JBD2=y | ||||||
| @@ -77,19 +66,21 @@ CONFIG_JBD2=y | |||||||
| CONFIG_KALLSYMS=y | CONFIG_KALLSYMS=y | ||||||
| CONFIG_KERNEL_STACK_ORDER=2 | CONFIG_KERNEL_STACK_ORDER=2 | ||||||
| CONFIG_LD_SCRIPT_STATIC=y | CONFIG_LD_SCRIPT_STATIC=y | ||||||
|  | CONFIG_LOCK_DEBUGGING_SUPPORT=y | ||||||
| # CONFIG_MATOM is not set | # CONFIG_MATOM is not set | ||||||
| CONFIG_MCONSOLE=y | CONFIG_MCONSOLE=y | ||||||
| # CONFIG_MCORE2 is not set | # CONFIG_MCORE2 is not set | ||||||
| # CONFIG_MDIO_BUS is not set | CONFIG_MEMFD_CREATE=y | ||||||
|  | CONFIG_MIGRATION=y | ||||||
| CONFIG_MK8=y | CONFIG_MK8=y | ||||||
| # CONFIG_MMAPPER is not set | # CONFIG_MMAPPER is not set | ||||||
| CONFIG_MODULES_USE_ELF_RELA=y | CONFIG_MODULES_USE_ELF_RELA=y | ||||||
| # CONFIG_MPSC is not set | # CONFIG_MPSC is not set | ||||||
| CONFIG_NAMESPACES=y | CONFIG_NAMESPACES=y | ||||||
| CONFIG_NEED_PER_CPU_KM=y | CONFIG_NEED_PER_CPU_KM=y | ||||||
|  | CONFIG_NET_FAILOVER=y | ||||||
| # CONFIG_NET_NS is not set | # CONFIG_NET_NS is not set | ||||||
| CONFIG_NLS=y | CONFIG_NLS=y | ||||||
| # CONFIG_NOCONFIG_CHAN is not set |  | ||||||
| CONFIG_NO_DMA=y | CONFIG_NO_DMA=y | ||||||
| CONFIG_NO_IOMEM=y | CONFIG_NO_IOMEM=y | ||||||
| CONFIG_NR_CPUS=1 | CONFIG_NR_CPUS=1 | ||||||
| @@ -103,19 +94,10 @@ CONFIG_POSIX_MQUEUE_SYSCTL=y | |||||||
| # CONFIG_PROCESSOR_SELECT is not set | # CONFIG_PROCESSOR_SELECT is not set | ||||||
| CONFIG_PROC_PAGE_MONITOR=y | CONFIG_PROC_PAGE_MONITOR=y | ||||||
| CONFIG_PTY_CHAN=y | CONFIG_PTY_CHAN=y | ||||||
| # CONFIG_RCU_NEED_SEGCBLIST is not set |  | ||||||
| # CONFIG_RCU_STALL_COMMON is not set |  | ||||||
| CONFIG_RD_BZIP2=y | CONFIG_RD_BZIP2=y | ||||||
| CONFIG_RD_GZIP=y | CONFIG_RD_GZIP=y | ||||||
| CONFIG_RELAY=y | CONFIG_RELAY=y | ||||||
| # CONFIG_RWSEM_GENERIC_SPINLOCK is not set |  | ||||||
| CONFIG_RWSEM_XCHGADD_ALGORITHM=y |  | ||||||
| # CONFIG_SCHED_INFO is not set |  | ||||||
| # CONFIG_SCSI_DMA is not set |  | ||||||
| CONFIG_SOFT_WATCHDOG=m | CONFIG_SOFT_WATCHDOG=m | ||||||
| CONFIG_SOUND=m |  | ||||||
| CONFIG_SOUND_OSS_CORE=y |  | ||||||
| CONFIG_SOUND_OSS_CORE_PRECLAIM=y |  | ||||||
| CONFIG_SRCU=y | CONFIG_SRCU=y | ||||||
| CONFIG_SSL=y | CONFIG_SSL=y | ||||||
| CONFIG_SSL_CHAN="pty" | CONFIG_SSL_CHAN="pty" | ||||||
| @@ -128,22 +110,28 @@ CONFIG_TTY_CHAN=y | |||||||
| CONFIG_UML=y | CONFIG_UML=y | ||||||
| CONFIG_UML_NET=y | CONFIG_UML_NET=y | ||||||
| CONFIG_UML_NET_DAEMON=y | CONFIG_UML_NET_DAEMON=y | ||||||
|  | CONFIG_UML_NET_DETERMINISTIC_MAC=y | ||||||
| CONFIG_UML_NET_ETHERTAP=y | CONFIG_UML_NET_ETHERTAP=y | ||||||
| CONFIG_UML_NET_MCAST=y | CONFIG_UML_NET_MCAST=y | ||||||
| # CONFIG_UML_NET_PCAP is not set | # CONFIG_UML_NET_PCAP is not set | ||||||
| # CONFIG_UML_NET_RANDOM_MAC is not set |  | ||||||
| CONFIG_UML_NET_SLIP=y | CONFIG_UML_NET_SLIP=y | ||||||
| CONFIG_UML_NET_SLIRP=y | CONFIG_UML_NET_SLIRP=y | ||||||
| CONFIG_UML_NET_TUNTAP=y | CONFIG_UML_NET_TUNTAP=y | ||||||
| # CONFIG_UML_NET_VDE is not set | # CONFIG_UML_NET_VDE is not set | ||||||
|  | CONFIG_UML_NET_VECTOR=y | ||||||
| CONFIG_UML_RANDOM=y | CONFIG_UML_RANDOM=y | ||||||
| CONFIG_UML_SOUND=m | # CONFIG_UML_SOUND is not set | ||||||
| CONFIG_UML_WATCHDOG=m | CONFIG_UML_TIME_TRAVEL_SUPPORT=y | ||||||
|  | CONFIG_UML_WATCHDOG=y | ||||||
| CONFIG_UML_X86=y | CONFIG_UML_X86=y | ||||||
| # CONFIG_USER_NS is not set | # CONFIG_USER_NS is not set | ||||||
|  | CONFIG_VIRTIO=y | ||||||
|  | CONFIG_VIRTIO_BLK=y | ||||||
|  | CONFIG_VIRTIO_CONSOLE=y | ||||||
|  | CONFIG_VIRTIO_NET=y | ||||||
|  | CONFIG_VIRTIO_UML=y | ||||||
| CONFIG_VM_EVENT_COUNTERS=y | CONFIG_VM_EVENT_COUNTERS=y | ||||||
| CONFIG_WATCHDOG_CORE=y | CONFIG_WATCHDOG_CORE=y | ||||||
| # CONFIG_X86_32 is not set |  | ||||||
| CONFIG_X86_64=y | CONFIG_X86_64=y | ||||||
| CONFIG_X86_CMOV=y | CONFIG_X86_CMOV=y | ||||||
| CONFIG_X86_CMPXCHG64=y | CONFIG_X86_CMPXCHG64=y | ||||||
|   | |||||||
| @@ -28,7 +28,7 @@ | |||||||
| --- a/arch/um/drivers/mconsole_kern.c
 | --- a/arch/um/drivers/mconsole_kern.c
 | ||||||
| +++ b/arch/um/drivers/mconsole_kern.c
 | +++ b/arch/um/drivers/mconsole_kern.c
 | ||||||
| @@ -4,6 +4,7 @@
 | @@ -4,6 +4,7 @@
 | ||||||
|   * Licensed under the GPL |   * Copyright (C) 2001 - 2008 Jeff Dike (jdike@{addtoit,linux.intel}.com) | ||||||
|   */ |   */ | ||||||
|   |   | ||||||
| +#include <linux/kmod.h>
 | +#include <linux/kmod.h>
 | ||||||
| @@ -43,7 +43,7 @@ | |||||||
|  #include <asm/switch_to.h> |  #include <asm/switch_to.h> | ||||||
|   |   | ||||||
|  #include <init.h> |  #include <init.h> | ||||||
| @@ -122,6 +124,59 @@ void mconsole_log(struct mc_request *req
 | @@ -121,6 +123,59 @@ void mconsole_log(struct mc_request *req
 | ||||||
|  	mconsole_reply(req, "", 0, 0); |  	mconsole_reply(req, "", 0, 0); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -123,7 +123,7 @@ | |||||||
|  }; |  }; | ||||||
| --- a/arch/um/os-Linux/file.c
 | --- a/arch/um/os-Linux/file.c
 | ||||||
| +++ b/arch/um/os-Linux/file.c
 | +++ b/arch/um/os-Linux/file.c
 | ||||||
| @@ -555,6 +555,8 @@ int os_create_unix_socket(const char *fi
 | @@ -557,6 +557,8 @@ int os_create_unix_socket(const char *fi
 | ||||||
|   |   | ||||||
|  	addr.sun_family = AF_UNIX; |  	addr.sun_family = AF_UNIX; | ||||||
|   |   | ||||||
| @@ -134,7 +134,7 @@ | |||||||
|  	err = bind(sock, (struct sockaddr *) &addr, sizeof(addr)); |  	err = bind(sock, (struct sockaddr *) &addr, sizeof(addr)); | ||||||
| --- a/include/linux/kmod.h
 | --- a/include/linux/kmod.h
 | ||||||
| +++ b/include/linux/kmod.h
 | +++ b/include/linux/kmod.h
 | ||||||
| @@ -45,4 +45,6 @@ static inline int request_module_nowait(
 | @@ -32,4 +32,6 @@ static inline int request_module_nowait(
 | ||||||
|  #define try_then_request_module(x, mod...) (x) |  #define try_then_request_module(x, mod...) (x) | ||||||
|  #endif |  #endif | ||||||
|   |   | ||||||
| @@ -143,25 +143,17 @@ | |||||||
|  #endif /* __LINUX_KMOD_H__ */ |  #endif /* __LINUX_KMOD_H__ */ | ||||||
| --- a/include/linux/umh.h
 | --- a/include/linux/umh.h
 | ||||||
| +++ b/include/linux/umh.h
 | +++ b/include/linux/umh.h
 | ||||||
| @@ -22,6 +22,7 @@ struct subprocess_info {
 | @@ -23,6 +23,7 @@ struct subprocess_info {
 | ||||||
|  	const char *path; |  | ||||||
|  	char **argv; |  	char **argv; | ||||||
|  	char **envp; |  	char **envp; | ||||||
|  |  	struct file *file; | ||||||
| +	struct file *stdout;
 | +	struct file *stdout;
 | ||||||
|  	int wait; |  	int wait; | ||||||
|  	int retval; |  	int retval; | ||||||
|  	int (*init)(struct subprocess_info *info, struct cred *new); |  	pid_t pid; | ||||||
| --- a/kernel/umh.c
 | --- a/kernel/umh.c
 | ||||||
| +++ b/kernel/umh.c
 | +++ b/kernel/umh.c
 | ||||||
| @@ -25,6 +25,7 @@
 | @@ -75,6 +75,28 @@ static int call_usermodehelper_exec_asyn
 | ||||||
|  #include <linux/ptrace.h> |  | ||||||
|  #include <linux/async.h> |  | ||||||
|  #include <linux/uaccess.h> |  | ||||||
| +#include <linux/pipe_fs_i.h>
 |  | ||||||
|   |  | ||||||
|  #include <trace/events/module.h> |  | ||||||
|   |  | ||||||
| @@ -70,6 +71,28 @@ static int call_usermodehelper_exec_asyn
 |  | ||||||
|  	flush_signal_handlers(current, 1); |  	flush_signal_handlers(current, 1); | ||||||
|  	spin_unlock_irq(¤t->sighand->siglock); |  	spin_unlock_irq(¤t->sighand->siglock); | ||||||
|   |   | ||||||
| @@ -190,9 +182,9 @@ | |||||||
|  	/* |  	/* | ||||||
|  	 * Our parent (unbound workqueue) runs with elevated scheduling |  	 * Our parent (unbound workqueue) runs with elevated scheduling | ||||||
|  	 * priority. Avoid propagating that into the userspace child. |  	 * priority. Avoid propagating that into the userspace child. | ||||||
| @@ -393,6 +416,20 @@ struct subprocess_info *call_usermodehel
 | @@ -353,6 +375,20 @@ static void helper_unlock(void)
 | ||||||
|  |  		wake_up(&running_helpers_waitq); | ||||||
|  } |  } | ||||||
|  EXPORT_SYMBOL(call_usermodehelper_setup); |  | ||||||
|   |   | ||||||
| +int call_usermodehelper_stdoutpipe(struct subprocess_info *sub_info,
 | +int call_usermodehelper_stdoutpipe(struct subprocess_info *sub_info,
 | ||||||
| +				   struct file **filp)
 | +				   struct file **filp)
 | ||||||
| @@ -209,5 +201,5 @@ | |||||||
| +EXPORT_SYMBOL(call_usermodehelper_stdoutpipe);
 | +EXPORT_SYMBOL(call_usermodehelper_stdoutpipe);
 | ||||||
| +
 | +
 | ||||||
|  /** |  /** | ||||||
|   * call_usermodehelper_exec - start a usermode application |   * call_usermodehelper_setup - prepare to call a usermode helper | ||||||
|   * @sub_info: information about the subprocessa |   * @path: path to usermode executable | ||||||
| @@ -9,16 +9,17 @@ TECHNICAL INFORMATION: | |||||||
| Applies to vanilla kernel 3.9.4. | Applies to vanilla kernel 3.9.4. | ||||||
| 
 | 
 | ||||||
| ===============================================================================
 | ===============================================================================
 | ||||||
| --- a/arch/um/Kconfig.net
 | --- a/arch/um/drivers/Kconfig
 | ||||||
| +++ b/arch/um/Kconfig.net
 | +++ b/arch/um/drivers/Kconfig
 | ||||||
| @@ -22,6 +22,19 @@ config UML_NET
 | @@ -146,6 +146,20 @@ config UML_NET
 | ||||||
|  	  enable at least one of the following transport options to actually |  	  enable at least one of the following transport options to actually | ||||||
|  	  make use of UML networking. |  	  make use of UML networking. | ||||||
|   |   | ||||||
| +config UML_NET_RANDOM_MAC
 | +config UML_NET_DETERMINISTIC_MAC
 | ||||||
| +	bool "Use random MAC addresses for network interfaces"
 | +	bool "Use deterministic MAC addresses for network interfaces"
 | ||||||
| +	default n
 | +	default y
 | ||||||
| +	depends on UML_NET
 | +	depends on UML_NET
 | ||||||
|  | +	select CRYPTO_SHA1
 | ||||||
| +	help
 | +	help
 | ||||||
| +        Virtual network devices inside a User-Mode Linux instance must be
 | +        Virtual network devices inside a User-Mode Linux instance must be
 | ||||||
| +        assigned a MAC (Ethernet) address. If none is specified on the UML
 | +        assigned a MAC (Ethernet) address. If none is specified on the UML
 | ||||||
| @@ -48,11 +49,11 @@ Applies to vanilla kernel 3.9.4. | |||||||
|  #define DRIVER_NAME "uml-netdev" |  #define DRIVER_NAME "uml-netdev" | ||||||
|   |   | ||||||
|  static DEFINE_SPINLOCK(opened_lock); |  static DEFINE_SPINLOCK(opened_lock); | ||||||
| @@ -288,11 +296,53 @@ static void uml_net_user_timer_expire(un
 | @@ -286,9 +294,51 @@ static void uml_net_user_timer_expire(st
 | ||||||
|  #endif |  #endif | ||||||
|  } |  } | ||||||
|   |   | ||||||
| +#ifndef CONFIG_UML_NET_RANDOM_MAC
 | +#ifdef CONFIG_UML_NET_DETERMINISTIC_MAC
 | ||||||
| +
 | +
 | ||||||
| +/* Compute a SHA1 hash of the UML instance's id and
 | +/* Compute a SHA1 hash of the UML instance's id and
 | ||||||
| + *  * an interface name. */
 | + *  * an interface name. */
 | ||||||
| @@ -93,20 +94,18 @@ Applies to vanilla kernel 3.9.4. | |||||||
| +
 | +
 | ||||||
| +#endif
 | +#endif
 | ||||||
| +
 | +
 | ||||||
|  static void setup_etheraddr(struct net_device *dev, char *str) |  void uml_net_setup_etheraddr(struct net_device *dev, char *str) | ||||||
|  { |  { | ||||||
|  	unsigned char *addr = dev->dev_addr; |  	unsigned char *addr = dev->dev_addr; | ||||||
|  | +	u8 hash[SHA1_DIGEST_SIZE];
 | ||||||
|  	char *end; |  	char *end; | ||||||
|  	int i; |  	int i; | ||||||
| +	u8 hash[SHA1_DIGEST_SIZE];
 |  | ||||||
|   |   | ||||||
|  	if (str == NULL) | @@ -331,9 +381,26 @@ void uml_net_setup_etheraddr(struct net_
 | ||||||
|  		goto random; |  | ||||||
| @@ -333,9 +383,26 @@ static void setup_etheraddr(struct net_d
 |  | ||||||
|  	return; |  	return; | ||||||
|   |   | ||||||
|  random: |  random: | ||||||
| +#ifdef CONFIG_UML_NET_RANDOM_MAC
 | +#ifndef CONFIG_UML_NET_DETERMINISTIC_MAC
 | ||||||
|  	printk(KERN_INFO |  	printk(KERN_INFO | ||||||
|  	       "Choosing a random ethernet address for device %s\n", dev->name); |  	       "Choosing a random ethernet address for device %s\n", dev->name); | ||||||
|  	eth_hw_addr_random(dev); |  	eth_hw_addr_random(dev); | ||||||
		Reference in New Issue
	
	Block a user
	 Felix Fietkau
					Felix Fietkau