uml: update to linux 5.4

Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
Felix Fietkau 2020-08-20 17:14:36 +02:00
parent 17d16e093f
commit 3f69f7dd84
6 changed files with 91 additions and 155 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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(&current->sighand->siglock); spin_unlock_irq(&current->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

View File

@ -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);