| @@ -21,16 +21,10 @@ BOARD:=uml | ||||
| BOARDNAME:=User Mode Linux | ||||
| FEATURES:=squashfs ext4 audio source-only | ||||
|  | ||||
| KERNEL_PATCHVER:=4.14 | ||||
| KERNEL_PATCHVER:=5.4 | ||||
|  | ||||
| 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) | ||||
|  | ||||
| DEFAULT_PACKAGES += wpad-basic-wolfssl kmod-mac80211-hwsim mkf2fs e2fsprogs | ||||
|   | ||||
| @@ -1,76 +1,62 @@ | ||||
| # CONFIG_3_LEVEL_PGTABLES is not set | ||||
| # CONFIG_64BIT is not set | ||||
| 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_SC_SIGNALS=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_ARCH_NO_PREEMPT=y | ||||
| CONFIG_BLK_DEV_COW_COMMON=y | ||||
| CONFIG_BLK_DEV_LOOP=y | ||||
| CONFIG_BLK_DEV_UBD=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_ZERO_CHAN="fd:0,fd:1" | ||||
| CONFIG_CPU_SUP_AMD=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_TRANSMETA_32=y | ||||
| CONFIG_CPU_SUP_UMC_32=y | ||||
| # CONFIG_CRASHLOG is not set | ||||
| CONFIG_CPU_SUP_ZHAOXIN=y | ||||
| CONFIG_CRC16=y | ||||
| CONFIG_CRYPTO_CRC32=y | ||||
| CONFIG_CRYPTO_CRC32C=y | ||||
| CONFIG_CRYPTO_HASH=y | ||||
| CONFIG_CRYPTO_HASH2=y | ||||
| CONFIG_CRYPTO_RNG2=y | ||||
| CONFIG_CRYPTO_WORKQUEUE=y | ||||
| CONFIG_CRYPTO_SHA1=y | ||||
| CONFIG_DEBUG_MEMORY_INIT=y | ||||
| CONFIG_DECOMPRESS_BZIP2=y | ||||
| CONFIG_DECOMPRESS_GZIP=y | ||||
| CONFIG_DEFAULT_CFQ=y | ||||
| # CONFIG_DEFAULT_DEADLINE is not set | ||||
| CONFIG_DEFAULT_IOSCHED="cfq" | ||||
| CONFIG_DNOTIFY=y | ||||
| # CONFIG_EARLY_PRINTK is not set | ||||
| # CONFIG_EMBEDDED is not set | ||||
| CONFIG_EXT4_FS=y | ||||
| # CONFIG_F2FS_CHECK_FS is not set | ||||
| CONFIG_F2FS_FS=y | ||||
| # CONFIG_F2FS_FS_SECURITY is not set | ||||
| CONFIG_F2FS_FS_XATTR=y | ||||
| CONFIG_F2FS_STAT_FS=y | ||||
| CONFIG_FAILOVER=y | ||||
| CONFIG_FS_IOMAP=y | ||||
| CONFIG_FS_MBCACHE=y | ||||
| CONFIG_FW_LOADER_PAGED_BUF=y | ||||
| CONFIG_GENERIC_CLOCKEVENTS=y | ||||
| # CONFIG_GENERIC_CPU is not set | ||||
| CONFIG_GENERIC_CPU_DEVICES=y | ||||
| CONFIG_GENERIC_FIND_FIRST_BIT=y | ||||
| CONFIG_GENERIC_IO=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_BITREVERSE is not set | ||||
| 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_FUTEX_CMPXCHG=y | ||||
| # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | ||||
| CONFIG_HAVE_NET_DSA=y | ||||
| CONFIG_HAVE_UID16=y | ||||
| CONFIG_HOSTAUDIO=m | ||||
| CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y | ||||
| CONFIG_HOSTFS=y | ||||
| CONFIG_HVC_DRIVER=y | ||||
| CONFIG_HZ=100 | ||||
| CONFIG_HZ_PERIODIC=y | ||||
| CONFIG_INITRAMFS_SOURCE="" | ||||
| CONFIG_INIT_ENV_ARG_LIMIT=128 | ||||
| CONFIG_IOSCHED_CFQ=y | ||||
| CONFIG_IRQ_WORK=y | ||||
| CONFIG_ISO9660_FS=y | ||||
| CONFIG_JBD2=y | ||||
| @@ -78,68 +64,38 @@ CONFIG_JBD2=y | ||||
| CONFIG_KALLSYMS=y | ||||
| CONFIG_KERNEL_STACK_ORDER=2 | ||||
| CONFIG_LD_SCRIPT_STATIC=y | ||||
| # CONFIG_M486 is not set | ||||
| # 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_LOCK_DEBUGGING_SUPPORT=y | ||||
| # CONFIG_MATOM is not set | ||||
| CONFIG_MCONSOLE=y | ||||
| # CONFIG_MCORE2 is not set | ||||
| # CONFIG_MCRUSOE is not set | ||||
| # CONFIG_MCYRIXIII is not set | ||||
| # CONFIG_MDIO_BUS is not set | ||||
| # 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_MEMFD_CREATE=y | ||||
| CONFIG_MIGRATION=y | ||||
| CONFIG_MK8=y | ||||
| # CONFIG_MMAPPER is not set | ||||
| CONFIG_MODULES_USE_ELF_REL=y | ||||
| # CONFIG_MPENTIUM4 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_MODULES_USE_ELF_RELA=y | ||||
| # CONFIG_MPSC is not set | ||||
| CONFIG_NAMESPACES=y | ||||
| CONFIG_NEED_PER_CPU_KM=y | ||||
| CONFIG_NET_FAILOVER=y | ||||
| # CONFIG_NET_NS is not set | ||||
| CONFIG_NLS=y | ||||
| # CONFIG_NOCONFIG_CHAN is not set | ||||
| CONFIG_NO_DMA=y | ||||
| CONFIG_NO_IOMEM=y | ||||
| CONFIG_NR_CPUS=1 | ||||
| # CONFIG_NSC_GPIO is not set | ||||
| CONFIG_NULL_CHAN=y | ||||
| # CONFIG_OF is not set | ||||
| CONFIG_OLD_SIGACTION=y | ||||
| CONFIG_OLD_SIGSUSPEND3=y | ||||
| CONFIG_PGTABLE_LEVELS=2 | ||||
| CONFIG_PGTABLE_LEVELS=3 | ||||
| CONFIG_PHYS_ADDR_T_64BIT=y | ||||
| CONFIG_PORT_CHAN=y | ||||
| CONFIG_POSIX_MQUEUE=y | ||||
| CONFIG_POSIX_MQUEUE_SYSCTL=y | ||||
| # CONFIG_PROCESSOR_SELECT is not set | ||||
| CONFIG_PROC_PAGE_MONITOR=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_GZIP=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_SOUND=m | ||||
| CONFIG_SOUND_OSS_CORE=y | ||||
| CONFIG_SOUND_OSS_CORE_PRECLAIM=y | ||||
| CONFIG_SRCU=y | ||||
| CONFIG_SSL=y | ||||
| CONFIG_SSL_CHAN="pty" | ||||
| @@ -152,19 +108,26 @@ CONFIG_TTY_CHAN=y | ||||
| CONFIG_UML=y | ||||
| CONFIG_UML_NET=y | ||||
| CONFIG_UML_NET_DAEMON=y | ||||
| CONFIG_UML_NET_DETERMINISTIC_MAC=y | ||||
| CONFIG_UML_NET_ETHERTAP=y | ||||
| CONFIG_UML_NET_MCAST=y | ||||
| # CONFIG_UML_NET_PCAP is not set | ||||
| # CONFIG_UML_NET_RANDOM_MAC is not set | ||||
| CONFIG_UML_NET_SLIP=y | ||||
| CONFIG_UML_NET_SLIRP=y | ||||
| CONFIG_UML_NET_TUNTAP=y | ||||
| # CONFIG_UML_NET_VDE is not set | ||||
| CONFIG_UML_NET_VECTOR=y | ||||
| CONFIG_UML_RANDOM=y | ||||
| CONFIG_UML_SOUND=m | ||||
| CONFIG_UML_WATCHDOG=m | ||||
| # CONFIG_UML_SOUND is not set | ||||
| CONFIG_UML_TIME_TRAVEL_SUPPORT=y | ||||
| CONFIG_UML_WATCHDOG=y | ||||
| CONFIG_UML_X86=y | ||||
| # 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_WATCHDOG_CORE=y | ||||
| CONFIG_X86_32=y | ||||
|   | ||||
| @@ -1,75 +1,64 @@ | ||||
| CONFIG_3_LEVEL_PGTABLES=y | ||||
| CONFIG_64BIT=y | ||||
| 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_SC_SIGNALS is not set | ||||
| # 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_ARCH_NO_PREEMPT=y | ||||
| CONFIG_BLK_DEV_COW_COMMON=y | ||||
| CONFIG_BLK_DEV_LOOP=y | ||||
| CONFIG_BLK_DEV_UBD=y | ||||
| CONFIG_BLK_DEV_UBD_SYNC=y | ||||
| CONFIG_BLK_MQ_VIRTIO=y | ||||
| CONFIG_CC_HAS_KASAN_GENERIC=y | ||||
| CONFIG_CON_CHAN="xterm" | ||||
| CONFIG_CON_ZERO_CHAN="fd:0,fd:1" | ||||
| CONFIG_CPU_SUP_AMD=y | ||||
| CONFIG_CPU_SUP_CENTAUR=y | ||||
| CONFIG_CPU_SUP_HYGON=y | ||||
| CONFIG_CPU_SUP_INTEL=y | ||||
| # CONFIG_CRASHLOG is not set | ||||
| CONFIG_CPU_SUP_ZHAOXIN=y | ||||
| CONFIG_CRC16=y | ||||
| # CONFIG_CRYPTO_AES_X86_64 is not set | ||||
| CONFIG_CRYPTO_CRC32=y | ||||
| CONFIG_CRYPTO_CRC32C=y | ||||
| CONFIG_CRYPTO_HASH=y | ||||
| CONFIG_CRYPTO_HASH2=y | ||||
| CONFIG_CRYPTO_RNG2=y | ||||
| CONFIG_CRYPTO_SHA1=y | ||||
| # CONFIG_CRYPTO_SKEIN is not set | ||||
| # CONFIG_CRYPTO_TWOFISH_X86_64 is not set | ||||
| CONFIG_CRYPTO_WORKQUEUE=y | ||||
| CONFIG_DEBUG_MEMORY_INIT=y | ||||
| CONFIG_DECOMPRESS_BZIP2=y | ||||
| CONFIG_DECOMPRESS_GZIP=y | ||||
| CONFIG_DEFAULT_CFQ=y | ||||
| # CONFIG_DEFAULT_DEADLINE is not set | ||||
| CONFIG_DEFAULT_IOSCHED="cfq" | ||||
| CONFIG_DNOTIFY=y | ||||
| # CONFIG_EARLY_PRINTK is not set | ||||
| CONFIG_EXT4_FS=y | ||||
| # CONFIG_F2FS_CHECK_FS is not set | ||||
| CONFIG_F2FS_FS=y | ||||
| # CONFIG_F2FS_FS_SECURITY is not set | ||||
| CONFIG_F2FS_FS_XATTR=y | ||||
| CONFIG_F2FS_STAT_FS=y | ||||
| CONFIG_FAILOVER=y | ||||
| CONFIG_FS_IOMAP=y | ||||
| CONFIG_FS_MBCACHE=y | ||||
| CONFIG_FW_LOADER_PAGED_BUF=y | ||||
| CONFIG_GENERIC_CLOCKEVENTS=y | ||||
| # CONFIG_GENERIC_CPU is not set | ||||
| CONFIG_GENERIC_CPU_DEVICES=y | ||||
| CONFIG_GENERIC_FIND_FIRST_BIT=y | ||||
| CONFIG_GENERIC_IO=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_BITREVERSE is not set | ||||
| 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_FUTEX_CMPXCHG=y | ||||
| # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | ||||
| CONFIG_HAVE_NET_DSA=y | ||||
| CONFIG_HAVE_UID16=y | ||||
| CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y | ||||
| CONFIG_HOSTAUDIO=m | ||||
| CONFIG_HOSTFS=y | ||||
| CONFIG_HVC_DRIVER=y | ||||
| CONFIG_HZ=100 | ||||
| CONFIG_HZ_PERIODIC=y | ||||
| CONFIG_INITRAMFS_SOURCE="" | ||||
| CONFIG_INIT_ENV_ARG_LIMIT=128 | ||||
| CONFIG_IOSCHED_CFQ=y | ||||
| CONFIG_IRQ_WORK=y | ||||
| CONFIG_ISO9660_FS=y | ||||
| CONFIG_JBD2=y | ||||
| @@ -77,19 +66,21 @@ CONFIG_JBD2=y | ||||
| CONFIG_KALLSYMS=y | ||||
| CONFIG_KERNEL_STACK_ORDER=2 | ||||
| CONFIG_LD_SCRIPT_STATIC=y | ||||
| CONFIG_LOCK_DEBUGGING_SUPPORT=y | ||||
| # CONFIG_MATOM is not set | ||||
| CONFIG_MCONSOLE=y | ||||
| # CONFIG_MCORE2 is not set | ||||
| # CONFIG_MDIO_BUS is not set | ||||
| CONFIG_MEMFD_CREATE=y | ||||
| CONFIG_MIGRATION=y | ||||
| CONFIG_MK8=y | ||||
| # CONFIG_MMAPPER is not set | ||||
| CONFIG_MODULES_USE_ELF_RELA=y | ||||
| # CONFIG_MPSC is not set | ||||
| CONFIG_NAMESPACES=y | ||||
| CONFIG_NEED_PER_CPU_KM=y | ||||
| CONFIG_NET_FAILOVER=y | ||||
| # CONFIG_NET_NS is not set | ||||
| CONFIG_NLS=y | ||||
| # CONFIG_NOCONFIG_CHAN is not set | ||||
| CONFIG_NO_DMA=y | ||||
| CONFIG_NO_IOMEM=y | ||||
| CONFIG_NR_CPUS=1 | ||||
| @@ -103,19 +94,10 @@ CONFIG_POSIX_MQUEUE_SYSCTL=y | ||||
| # CONFIG_PROCESSOR_SELECT is not set | ||||
| CONFIG_PROC_PAGE_MONITOR=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_GZIP=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_SOUND=m | ||||
| CONFIG_SOUND_OSS_CORE=y | ||||
| CONFIG_SOUND_OSS_CORE_PRECLAIM=y | ||||
| CONFIG_SRCU=y | ||||
| CONFIG_SSL=y | ||||
| CONFIG_SSL_CHAN="pty" | ||||
| @@ -128,22 +110,28 @@ CONFIG_TTY_CHAN=y | ||||
| CONFIG_UML=y | ||||
| CONFIG_UML_NET=y | ||||
| CONFIG_UML_NET_DAEMON=y | ||||
| CONFIG_UML_NET_DETERMINISTIC_MAC=y | ||||
| CONFIG_UML_NET_ETHERTAP=y | ||||
| CONFIG_UML_NET_MCAST=y | ||||
| # CONFIG_UML_NET_PCAP is not set | ||||
| # CONFIG_UML_NET_RANDOM_MAC is not set | ||||
| CONFIG_UML_NET_SLIP=y | ||||
| CONFIG_UML_NET_SLIRP=y | ||||
| CONFIG_UML_NET_TUNTAP=y | ||||
| # CONFIG_UML_NET_VDE is not set | ||||
| CONFIG_UML_NET_VECTOR=y | ||||
| CONFIG_UML_RANDOM=y | ||||
| CONFIG_UML_SOUND=m | ||||
| CONFIG_UML_WATCHDOG=m | ||||
| # CONFIG_UML_SOUND is not set | ||||
| CONFIG_UML_TIME_TRAVEL_SUPPORT=y | ||||
| CONFIG_UML_WATCHDOG=y | ||||
| CONFIG_UML_X86=y | ||||
| # 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_WATCHDOG_CORE=y | ||||
| # CONFIG_X86_32 is not set | ||||
| CONFIG_X86_64=y | ||||
| CONFIG_X86_CMOV=y | ||||
| CONFIG_X86_CMPXCHG64=y | ||||
|   | ||||
| @@ -28,7 +28,7 @@ | ||||
| --- a/arch/um/drivers/mconsole_kern.c
 | ||||
| +++ b/arch/um/drivers/mconsole_kern.c
 | ||||
| @@ -4,6 +4,7 @@
 | ||||
|   * Licensed under the GPL | ||||
|   * Copyright (C) 2001 - 2008 Jeff Dike (jdike@{addtoit,linux.intel}.com) | ||||
|   */ | ||||
|   | ||||
| +#include <linux/kmod.h>
 | ||||
| @@ -43,7 +43,7 @@ | ||||
|  #include <asm/switch_to.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); | ||||
|  } | ||||
|   | ||||
| @@ -123,7 +123,7 @@ | ||||
|  }; | ||||
| --- a/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; | ||||
|   | ||||
| @@ -134,7 +134,7 @@ | ||||
|  	err = bind(sock, (struct sockaddr *) &addr, sizeof(addr)); | ||||
| --- a/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) | ||||
|  #endif | ||||
|   | ||||
| @@ -143,25 +143,17 @@ | ||||
|  #endif /* __LINUX_KMOD_H__ */ | ||||
| --- a/include/linux/umh.h
 | ||||
| +++ b/include/linux/umh.h
 | ||||
| @@ -22,6 +22,7 @@ struct subprocess_info {
 | ||||
|  	const char *path; | ||||
| @@ -23,6 +23,7 @@ struct subprocess_info {
 | ||||
|  	char **argv; | ||||
|  	char **envp; | ||||
|  	struct file *file; | ||||
| +	struct file *stdout;
 | ||||
|  	int wait; | ||||
|  	int retval; | ||||
|  	int (*init)(struct subprocess_info *info, struct cred *new); | ||||
|  	pid_t pid; | ||||
| --- a/kernel/umh.c
 | ||||
| +++ b/kernel/umh.c
 | ||||
| @@ -25,6 +25,7 @@
 | ||||
|  #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
 | ||||
| @@ -75,6 +75,28 @@ static int call_usermodehelper_exec_asyn
 | ||||
|  	flush_signal_handlers(current, 1); | ||||
|  	spin_unlock_irq(¤t->sighand->siglock); | ||||
|   | ||||
| @@ -190,9 +182,9 @@ | ||||
|  	/* | ||||
|  	 * Our parent (unbound workqueue) runs with elevated scheduling | ||||
|  	 * 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,
 | ||||
| +				   struct file **filp)
 | ||||
| @@ -209,5 +201,5 @@ | ||||
| +EXPORT_SYMBOL(call_usermodehelper_stdoutpipe);
 | ||||
| +
 | ||||
|  /** | ||||
|   * call_usermodehelper_exec - start a usermode application | ||||
|   * @sub_info: information about the subprocessa | ||||
|   * call_usermodehelper_setup - prepare to call a usermode helper | ||||
|   * @path: path to usermode executable | ||||
| @@ -9,16 +9,17 @@ TECHNICAL INFORMATION: | ||||
| Applies to vanilla kernel 3.9.4. | ||||
| 
 | ||||
| ===============================================================================
 | ||||
| --- a/arch/um/Kconfig.net
 | ||||
| +++ b/arch/um/Kconfig.net
 | ||||
| @@ -22,6 +22,19 @@ config UML_NET
 | ||||
| --- a/arch/um/drivers/Kconfig
 | ||||
| +++ b/arch/um/drivers/Kconfig
 | ||||
| @@ -146,6 +146,20 @@ config UML_NET
 | ||||
|  	  enable at least one of the following transport options to actually | ||||
|  	  make use of UML networking. | ||||
|   | ||||
| +config UML_NET_RANDOM_MAC
 | ||||
| +	bool "Use random MAC addresses for network interfaces"
 | ||||
| +	default n
 | ||||
| +config UML_NET_DETERMINISTIC_MAC
 | ||||
| +	bool "Use deterministic MAC addresses for network interfaces"
 | ||||
| +	default y
 | ||||
| +	depends on UML_NET
 | ||||
| +	select CRYPTO_SHA1
 | ||||
| +	help
 | ||||
| +        Virtual network devices inside a User-Mode Linux instance must be
 | ||||
| +        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" | ||||
|   | ||||
|  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 | ||||
|  } | ||||
|   | ||||
| +#ifndef CONFIG_UML_NET_RANDOM_MAC
 | ||||
| +#ifdef CONFIG_UML_NET_DETERMINISTIC_MAC
 | ||||
| +
 | ||||
| +/* Compute a SHA1 hash of the UML instance's id and
 | ||||
| + *  * an interface name. */
 | ||||
| @@ -93,20 +94,18 @@ Applies to vanilla kernel 3.9.4. | ||||
| +
 | ||||
| +#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; | ||||
| +	u8 hash[SHA1_DIGEST_SIZE];
 | ||||
|  	char *end; | ||||
|  	int i; | ||||
| +	u8 hash[SHA1_DIGEST_SIZE];
 | ||||
|   | ||||
|  	if (str == NULL) | ||||
|  		goto random; | ||||
| @@ -333,9 +383,26 @@ static void setup_etheraddr(struct net_d
 | ||||
| @@ -331,9 +381,26 @@ void uml_net_setup_etheraddr(struct net_
 | ||||
|  	return; | ||||
|   | ||||
|  random: | ||||
| +#ifdef CONFIG_UML_NET_RANDOM_MAC
 | ||||
| +#ifndef CONFIG_UML_NET_DETERMINISTIC_MAC
 | ||||
|  	printk(KERN_INFO | ||||
|  	       "Choosing a random ethernet address for device %s\n", dev->name); | ||||
|  	eth_hw_addr_random(dev); | ||||
		Reference in New Issue
	
	Block a user
	 Felix Fietkau
					Felix Fietkau