uml: bump to 3.14.16

Signed-off-by: Nicolas Thill <nico@openwrt.org>

SVN-Revision: 42421
master
Nicolas Thill 10 years ago
parent c329f79dd4
commit 4ea085316e
  1. 2
      target/linux/uml/Makefile
  2. 213
      target/linux/uml/patches-3.10/001-fix_make_headers_install.patch
  3. 11
      target/linux/uml/patches-3.10/100-boot-parameter-mangling.patch
  4. 3814
      target/linux/uml/patches-3.14/001-fix_make_headers_install.patch
  5. 28
      target/linux/uml/patches-3.14/101-mconsole-exec.patch
  6. 19
      target/linux/uml/patches-3.14/102-pseudo-random-mac.patch

@ -23,7 +23,7 @@ BOARDNAME:=User Mode Linux
FEATURES:=ext4 audio
MAINTAINER:=Florian Fainelli <florian@openwrt.org>
LINUX_VERSION:=3.10.49
LINUX_VERSION:=3.14.16
include $(INCLUDE_DIR)/target.mk

@ -1,213 +0,0 @@
From faec6b6c2cc0219e74569c13f581fc11d8f3fc57 Mon Sep 17 00:00:00 2001
From: Florian Fainelli <florian@openwrt.org>
Date: Sun, 17 Mar 2013 20:12:10 +0100
Subject: [PATCH] UM: fix make headers_install after UAPI header installation
Commit 10b63956 (UAPI: Plumb the UAPI Kbuilds into the user
header installation and checking) breaks UML make headers_install with
the following:
$ ARCH=um make headers_install
CHK include/generated/uapi/linux/version.h
UPD include/generated/uapi/linux/version.h
HOSTCC scripts/basic/fixdep
WRAP arch/um/include/generated/asm/bug.h
[snip]
WRAP arch/um/include/generated/asm/trace_clock.h
SYSHDR arch/x86/syscalls/../include/generated/uapi/asm/unistd_32.h
SYSHDR arch/x86/syscalls/../include/generated/uapi/asm/unistd_64.h
SYSHDR arch/x86/syscalls/../include/generated/uapi/asm/unistd_x32.h
SYSTBL arch/x86/syscalls/../include/generated/asm/syscalls_32.h
HOSTCC scripts/unifdef
Makefile:912: *** Headers not exportable for the um architecture. Stop.
zsh: exit 2 ARCH=um make headers_install
The reason for that is because the top-level Makefile does the
following:
$(if $(wildcard $(srctree)/arch/$(hdr-arch)/include/uapi/asm/Kbuild),, \
$(error Headers not exportable for the $(SRCARCH) architecture))
we end-up in the else part of the $(if) statement because UML still uses
the old path in arch/um/include/asm/Kbuild. This patch fixes the issue
by moving the header files to be in arch/um/include/uapi/asm/ thus
making headers_install (and other make targets checking for uapi) to
succeed.
Signed-off-by: Florian Fainelli <florian@openwrt.org>
---
Richard, this has been broken for 3.7+ onwards, if you want me to send
you separate patches for 3.7 and 3.8 let me know. Thanks!
arch/um/include/{ => uapi}/asm/Kbuild | 0
arch/um/include/{ => uapi}/asm/a.out-core.h | 0
arch/um/include/{ => uapi}/asm/bugs.h | 0
arch/um/include/{ => uapi}/asm/cache.h | 0
arch/um/include/{ => uapi}/asm/common.lds.S | 0
arch/um/include/{ => uapi}/asm/dma.h | 0
arch/um/include/{ => uapi}/asm/fixmap.h | 0
arch/um/include/{ => uapi}/asm/irq.h | 0
arch/um/include/{ => uapi}/asm/irqflags.h | 0
arch/um/include/{ => uapi}/asm/kmap_types.h | 0
arch/um/include/{ => uapi}/asm/kvm_para.h | 0
arch/um/include/{ => uapi}/asm/mmu.h | 0
arch/um/include/{ => uapi}/asm/mmu_context.h | 0
arch/um/include/{ => uapi}/asm/page.h | 0
arch/um/include/{ => uapi}/asm/pgalloc.h | 0
arch/um/include/{ => uapi}/asm/pgtable-2level.h | 0
arch/um/include/{ => uapi}/asm/pgtable-3level.h | 0
arch/um/include/{ => uapi}/asm/pgtable.h | 0
arch/um/include/{ => uapi}/asm/processor-generic.h | 0
arch/um/include/{ => uapi}/asm/ptrace-generic.h | 0
arch/um/include/{ => uapi}/asm/setup.h | 0
arch/um/include/{ => uapi}/asm/smp.h | 0
arch/um/include/{ => uapi}/asm/sysrq.h | 0
arch/um/include/{ => uapi}/asm/thread_info.h | 0
arch/um/include/{ => uapi}/asm/timex.h | 0
arch/um/include/{ => uapi}/asm/tlb.h | 0
arch/um/include/{ => uapi}/asm/tlbflush.h | 0
arch/um/include/{ => uapi}/asm/uaccess.h | 0
28 files changed, 0 insertions(+), 0 deletions(-)
rename arch/um/include/{ => uapi}/asm/Kbuild (100%)
rename arch/um/include/{ => uapi}/asm/a.out-core.h (100%)
rename arch/um/include/{ => uapi}/asm/bugs.h (100%)
rename arch/um/include/{ => uapi}/asm/cache.h (100%)
rename arch/um/include/{ => uapi}/asm/common.lds.S (100%)
rename arch/um/include/{ => uapi}/asm/dma.h (100%)
rename arch/um/include/{ => uapi}/asm/fixmap.h (100%)
rename arch/um/include/{ => uapi}/asm/irq.h (100%)
rename arch/um/include/{ => uapi}/asm/irqflags.h (100%)
rename arch/um/include/{ => uapi}/asm/kmap_types.h (100%)
rename arch/um/include/{ => uapi}/asm/kvm_para.h (100%)
rename arch/um/include/{ => uapi}/asm/mmu.h (100%)
rename arch/um/include/{ => uapi}/asm/mmu_context.h (100%)
rename arch/um/include/{ => uapi}/asm/page.h (100%)
rename arch/um/include/{ => uapi}/asm/pgalloc.h (100%)
rename arch/um/include/{ => uapi}/asm/pgtable-2level.h (100%)
rename arch/um/include/{ => uapi}/asm/pgtable-3level.h (100%)
rename arch/um/include/{ => uapi}/asm/pgtable.h (100%)
rename arch/um/include/{ => uapi}/asm/processor-generic.h (100%)
rename arch/um/include/{ => uapi}/asm/ptrace-generic.h (100%)
rename arch/um/include/{ => uapi}/asm/setup.h (100%)
rename arch/um/include/{ => uapi}/asm/smp.h (100%)
rename arch/um/include/{ => uapi}/asm/sysrq.h (100%)
rename arch/um/include/{ => uapi}/asm/thread_info.h (100%)
rename arch/um/include/{ => uapi}/asm/timex.h (100%)
rename arch/um/include/{ => uapi}/asm/tlb.h (100%)
rename arch/um/include/{ => uapi}/asm/tlbflush.h (100%)
rename arch/um/include/{ => uapi}/asm/uaccess.h (100%)
diff --git a/arch/um/include/asm/Kbuild b/arch/um/include/uapi/asm/Kbuild
similarity index 100%
rename from arch/um/include/asm/Kbuild
rename to arch/um/include/uapi/asm/Kbuild
diff --git a/arch/um/include/asm/a.out-core.h b/arch/um/include/uapi/asm/a.out-core.h
similarity index 100%
rename from arch/um/include/asm/a.out-core.h
rename to arch/um/include/uapi/asm/a.out-core.h
diff --git a/arch/um/include/asm/bugs.h b/arch/um/include/uapi/asm/bugs.h
similarity index 100%
rename from arch/um/include/asm/bugs.h
rename to arch/um/include/uapi/asm/bugs.h
diff --git a/arch/um/include/asm/cache.h b/arch/um/include/uapi/asm/cache.h
similarity index 100%
rename from arch/um/include/asm/cache.h
rename to arch/um/include/uapi/asm/cache.h
diff --git a/arch/um/include/asm/common.lds.S b/arch/um/include/uapi/asm/common.lds.S
similarity index 100%
rename from arch/um/include/asm/common.lds.S
rename to arch/um/include/uapi/asm/common.lds.S
diff --git a/arch/um/include/asm/dma.h b/arch/um/include/uapi/asm/dma.h
similarity index 100%
rename from arch/um/include/asm/dma.h
rename to arch/um/include/uapi/asm/dma.h
diff --git a/arch/um/include/asm/fixmap.h b/arch/um/include/uapi/asm/fixmap.h
similarity index 100%
rename from arch/um/include/asm/fixmap.h
rename to arch/um/include/uapi/asm/fixmap.h
diff --git a/arch/um/include/asm/irq.h b/arch/um/include/uapi/asm/irq.h
similarity index 100%
rename from arch/um/include/asm/irq.h
rename to arch/um/include/uapi/asm/irq.h
diff --git a/arch/um/include/asm/irqflags.h b/arch/um/include/uapi/asm/irqflags.h
similarity index 100%
rename from arch/um/include/asm/irqflags.h
rename to arch/um/include/uapi/asm/irqflags.h
diff --git a/arch/um/include/asm/kmap_types.h b/arch/um/include/uapi/asm/kmap_types.h
similarity index 100%
rename from arch/um/include/asm/kmap_types.h
rename to arch/um/include/uapi/asm/kmap_types.h
diff --git a/arch/um/include/asm/kvm_para.h b/arch/um/include/uapi/asm/kvm_para.h
similarity index 100%
rename from arch/um/include/asm/kvm_para.h
rename to arch/um/include/uapi/asm/kvm_para.h
diff --git a/arch/um/include/asm/mmu.h b/arch/um/include/uapi/asm/mmu.h
similarity index 100%
rename from arch/um/include/asm/mmu.h
rename to arch/um/include/uapi/asm/mmu.h
diff --git a/arch/um/include/asm/mmu_context.h b/arch/um/include/uapi/asm/mmu_context.h
similarity index 100%
rename from arch/um/include/asm/mmu_context.h
rename to arch/um/include/uapi/asm/mmu_context.h
diff --git a/arch/um/include/asm/page.h b/arch/um/include/uapi/asm/page.h
similarity index 100%
rename from arch/um/include/asm/page.h
rename to arch/um/include/uapi/asm/page.h
diff --git a/arch/um/include/asm/pgalloc.h b/arch/um/include/uapi/asm/pgalloc.h
similarity index 100%
rename from arch/um/include/asm/pgalloc.h
rename to arch/um/include/uapi/asm/pgalloc.h
diff --git a/arch/um/include/asm/pgtable-2level.h b/arch/um/include/uapi/asm/pgtable-2level.h
similarity index 100%
rename from arch/um/include/asm/pgtable-2level.h
rename to arch/um/include/uapi/asm/pgtable-2level.h
diff --git a/arch/um/include/asm/pgtable-3level.h b/arch/um/include/uapi/asm/pgtable-3level.h
similarity index 100%
rename from arch/um/include/asm/pgtable-3level.h
rename to arch/um/include/uapi/asm/pgtable-3level.h
diff --git a/arch/um/include/asm/pgtable.h b/arch/um/include/uapi/asm/pgtable.h
similarity index 100%
rename from arch/um/include/asm/pgtable.h
rename to arch/um/include/uapi/asm/pgtable.h
diff --git a/arch/um/include/asm/processor-generic.h b/arch/um/include/uapi/asm/processor-generic.h
similarity index 100%
rename from arch/um/include/asm/processor-generic.h
rename to arch/um/include/uapi/asm/processor-generic.h
diff --git a/arch/um/include/asm/ptrace-generic.h b/arch/um/include/uapi/asm/ptrace-generic.h
similarity index 100%
rename from arch/um/include/asm/ptrace-generic.h
rename to arch/um/include/uapi/asm/ptrace-generic.h
diff --git a/arch/um/include/asm/setup.h b/arch/um/include/uapi/asm/setup.h
similarity index 100%
rename from arch/um/include/asm/setup.h
rename to arch/um/include/uapi/asm/setup.h
diff --git a/arch/um/include/asm/smp.h b/arch/um/include/uapi/asm/smp.h
similarity index 100%
rename from arch/um/include/asm/smp.h
rename to arch/um/include/uapi/asm/smp.h
diff --git a/arch/um/include/asm/sysrq.h b/arch/um/include/uapi/asm/sysrq.h
similarity index 100%
rename from arch/um/include/asm/sysrq.h
rename to arch/um/include/uapi/asm/sysrq.h
diff --git a/arch/um/include/asm/thread_info.h b/arch/um/include/uapi/asm/thread_info.h
similarity index 100%
rename from arch/um/include/asm/thread_info.h
rename to arch/um/include/uapi/asm/thread_info.h
diff --git a/arch/um/include/asm/timex.h b/arch/um/include/uapi/asm/timex.h
similarity index 100%
rename from arch/um/include/asm/timex.h
rename to arch/um/include/uapi/asm/timex.h
diff --git a/arch/um/include/asm/tlb.h b/arch/um/include/uapi/asm/tlb.h
similarity index 100%
rename from arch/um/include/asm/tlb.h
rename to arch/um/include/uapi/asm/tlb.h
diff --git a/arch/um/include/asm/tlbflush.h b/arch/um/include/uapi/asm/tlbflush.h
similarity index 100%
rename from arch/um/include/asm/tlbflush.h
rename to arch/um/include/uapi/asm/tlbflush.h
diff --git a/arch/um/include/asm/uaccess.h b/arch/um/include/uapi/asm/uaccess.h
similarity index 100%
rename from arch/um/include/asm/uaccess.h
rename to arch/um/include/uapi/asm/uaccess.h
--
1.7.10.4

@ -1,11 +0,0 @@
--- pristine-linux-3.4.38/init/main.c 2013-03-28 21:12:41.000000000 +0200
+++ build-linux-3.4.38/init/main.c 2013-04-04 12:25:59.987999573 +0300
@@ -743,7 +743,7 @@
extern const struct kernel_param __start___param[], __stop___param[];
initcall_t *fn;
- strcpy(static_command_line, saved_command_line);
+ /* strcpy(static_command_line, saved_command_line); */
parse_args(initcall_level_names[level],
static_command_line, __start___param,
__stop___param - __start___param,

@ -15,11 +15,9 @@
#
# - Nothing useful is done with stdin
#
diff --git a/arch/um/drivers/mconsole.h b/arch/um/drivers/mconsole.h
index 8b22535..77cc5f7 100644
--- a/arch/um/drivers/mconsole.h
+++ b/arch/um/drivers/mconsole.h
@@ -85,6 +85,7 @@ extern void mconsole_cad(struct mc_request *req);
@@ -85,6 +85,7 @@ extern void mconsole_cad(struct mc_reque
extern void mconsole_stop(struct mc_request *req);
extern void mconsole_go(struct mc_request *req);
extern void mconsole_log(struct mc_request *req);
@ -27,8 +25,6 @@ index 8b22535..77cc5f7 100644
extern void mconsole_proc(struct mc_request *req);
extern void mconsole_stack(struct mc_request *req);
diff --git a/arch/um/drivers/mconsole_kern.c b/arch/um/drivers/mconsole_kern.c
index 3df3bd5..307bf75 100644
--- a/arch/um/drivers/mconsole_kern.c
+++ b/arch/um/drivers/mconsole_kern.c
@@ -4,6 +4,7 @@
@ -47,7 +43,7 @@ index 3df3bd5..307bf75 100644
#include <asm/uaccess.h>
#include <asm/switch_to.h>
@@ -121,6 +123,59 @@ void mconsole_log(struct mc_request *req)
@@ -121,6 +123,59 @@ void mconsole_log(struct mc_request *req
mconsole_reply(req, "", 0, 0);
}
@ -107,7 +103,7 @@ index 3df3bd5..307bf75 100644
void mconsole_proc(struct mc_request *req)
{
struct vfsmount *mnt = task_active_pid_ns(current)->proc_mnt;
@@ -187,6 +242,7 @@ void mconsole_proc(struct mc_request *req)
@@ -187,6 +242,7 @@ void mconsole_proc(struct mc_request *re
stop - pause the UML; it will do nothing until it receives a 'go' \n\
go - continue the UML after a 'stop' \n\
log <string> - make UML enter <string> into the kernel log\n\
@ -115,11 +111,9 @@ index 3df3bd5..307bf75 100644
proc <file> - returns the contents of the UML's /proc/<file>\n\
stack <pid> - returns the stack of the specified pid\n\
"
diff --git a/arch/um/drivers/mconsole_user.c b/arch/um/drivers/mconsole_user.c
index 9920982..3ed0d32 100644
--- a/arch/um/drivers/mconsole_user.c
+++ b/arch/um/drivers/mconsole_user.c
@@ -30,6 +30,7 @@ static struct mconsole_command commands[] = {
@@ -30,6 +30,7 @@ static struct mconsole_command commands[
{ "stop", mconsole_stop, MCONSOLE_PROC },
{ "go", mconsole_go, MCONSOLE_INTR },
{ "log", mconsole_log, MCONSOLE_INTR },
@ -127,11 +121,9 @@ index 9920982..3ed0d32 100644
{ "proc", mconsole_proc, MCONSOLE_PROC },
{ "stack", mconsole_stack, MCONSOLE_INTR },
};
diff --git a/arch/um/os-Linux/file.c b/arch/um/os-Linux/file.c
index c17bd6f..1c55fa8 100644
--- a/arch/um/os-Linux/file.c
+++ b/arch/um/os-Linux/file.c
@@ -519,6 +519,8 @@ int os_create_unix_socket(const char *file, int len, int close_on_exec)
@@ -528,6 +528,8 @@ int os_create_unix_socket(const char *fi
addr.sun_family = AF_UNIX;
@ -140,8 +132,6 @@ index c17bd6f..1c55fa8 100644
snprintf(addr.sun_path, len, "%s", file);
err = bind(sock, (struct sockaddr *) &addr, sizeof(addr));
diff --git a/include/linux/kmod.h b/include/linux/kmod.h
index 0555cc6..476084d 100644
--- a/include/linux/kmod.h
+++ b/include/linux/kmod.h
@@ -62,6 +62,7 @@ struct subprocess_info {
@ -152,15 +142,13 @@ index 0555cc6..476084d 100644
void (*cleanup)(struct subprocess_info *info);
void *data;
};
@@ -104,4 +105,6 @@ extern int usermodehelper_read_trylock(void);
@@ -104,4 +105,6 @@ extern int usermodehelper_read_trylock(v
extern long usermodehelper_read_lock_wait(long timeout);
extern void usermodehelper_read_unlock(void);
+int call_usermodehelper_stdoutpipe(struct subprocess_info *sub_info, struct file **filp);
+
#endif /* __LINUX_KMOD_H__ */
diff --git a/kernel/kmod.c b/kernel/kmod.c
index 8241906..2d7f718 100644
--- a/kernel/kmod.c
+++ b/kernel/kmod.c
@@ -39,6 +39,7 @@
@ -171,7 +159,7 @@ index 8241906..2d7f718 100644
#include <asm/uaccess.h>
#include <trace/events/module.h>
@@ -206,6 +207,28 @@ static int ____call_usermodehelper(void *data)
@@ -209,6 +210,28 @@ static int ____call_usermodehelper(void
flush_signal_handlers(current, 1);
spin_unlock_irq(&current->sighand->siglock);
@ -200,7 +188,7 @@ index 8241906..2d7f718 100644
/* We can run anywhere, unlike our parent keventd(). */
set_cpus_allowed_ptr(current, cpu_all_mask);
@@ -551,6 +574,20 @@ struct subprocess_info *call_usermodehelper_setup(char *path, char **argv,
@@ -554,6 +577,20 @@ struct subprocess_info *call_usermodehel
}
EXPORT_SYMBOL(call_usermodehelper_setup);

@ -9,10 +9,9 @@ TECHNICAL INFORMATION:
Applies to vanilla kernel 3.9.4.
===============================================================================
diff -aur linux-3.9.4-orig/arch/um/Kconfig.net linux-3.9.4/arch/um/Kconfig.net
--- linux-3.9.4-orig/arch/um/Kconfig.net 2013-05-24 21:45:59.000000000 +0300
+++ linux-3.9.4/arch/um/Kconfig.net 2013-06-11 13:07:06.363999999 +0300
@@ -21,6 +21,19 @@
--- a/arch/um/Kconfig.net
+++ b/arch/um/Kconfig.net
@@ -21,6 +21,19 @@ config UML_NET
enable at least one of the following transport options to actually
make use of UML networking.
@ -32,9 +31,8 @@ diff -aur linux-3.9.4-orig/arch/um/Kconfig.net linux-3.9.4/arch/um/Kconfig.net
config UML_NET_ETHERTAP
bool "Ethertap transport"
depends on UML_NET
diff -aur linux-3.9.4-orig/arch/um/drivers/net_kern.c linux-3.9.4/arch/um/drivers/net_kern.c
--- linux-3.9.4-orig/arch/um/drivers/net_kern.c 2013-05-24 21:45:59.000000000 +0300
+++ linux-3.9.4/arch/um/drivers/net_kern.c 2013-06-11 13:09:03.452000001 +0300
--- a/arch/um/drivers/net_kern.c
+++ b/arch/um/drivers/net_kern.c
@@ -25,6 +25,13 @@
#include <net_kern.h>
#include <net_user.h>
@ -49,7 +47,7 @@ diff -aur linux-3.9.4-orig/arch/um/drivers/net_kern.c linux-3.9.4/arch/um/driver
#define DRIVER_NAME "uml-netdev"
static DEFINE_SPINLOCK(opened_lock);
@@ -295,11 +302,47 @@
@@ -295,11 +302,47 @@ static void uml_net_user_timer_expire(un
#endif
}
@ -97,7 +95,7 @@ diff -aur linux-3.9.4-orig/arch/um/drivers/net_kern.c linux-3.9.4/arch/um/driver
if (str == NULL)
goto random;
@@ -340,9 +383,26 @@
@@ -340,9 +383,26 @@ static void setup_etheraddr(struct net_d
return;
random:
@ -124,6 +122,3 @@ diff -aur linux-3.9.4-orig/arch/um/drivers/net_kern.c linux-3.9.4/arch/um/driver
}
static DEFINE_SPINLOCK(devices_lock);
Only in linux-3.9.4/arch/um/drivers: net_kern.c.orig
Only in linux-3.9.4/arch/um/drivers: net_kern.c.rej
Only in linux-3.9.4/arch/um/drivers: net_kern.c~
Loading…
Cancel
Save