uml: bump to 3.14.16

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

SVN-Revision: 42421
owl
Nicolas Thill 2014-09-05 22:02:09 +00:00
parent c329f79dd4
commit 4ea085316e
6 changed files with 3830 additions and 257 deletions

View File

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

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -15,11 +15,9 @@
# #
# - Nothing useful is done with stdin # - 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 --- a/arch/um/drivers/mconsole.h
+++ b/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_stop(struct mc_request *req);
extern void mconsole_go(struct mc_request *req); extern void mconsole_go(struct mc_request *req);
extern void mconsole_log(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_proc(struct mc_request *req);
extern void mconsole_stack(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 --- 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 @@
@ -47,7 +43,7 @@ index 3df3bd5..307bf75 100644
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/switch_to.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); mconsole_reply(req, "", 0, 0);
} }
@ -107,7 +103,7 @@ index 3df3bd5..307bf75 100644
void mconsole_proc(struct mc_request *req) void mconsole_proc(struct mc_request *req)
{ {
struct vfsmount *mnt = task_active_pid_ns(current)->proc_mnt; 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\ stop - pause the UML; it will do nothing until it receives a 'go' \n\
go - continue the UML after a 'stop' \n\ go - continue the UML after a 'stop' \n\
log <string> - make UML enter <string> into the kernel log\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\ proc <file> - returns the contents of the UML's /proc/<file>\n\
stack <pid> - returns the stack of the specified pid\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 --- a/arch/um/drivers/mconsole_user.c
+++ b/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 }, { "stop", mconsole_stop, MCONSOLE_PROC },
{ "go", mconsole_go, MCONSOLE_INTR }, { "go", mconsole_go, MCONSOLE_INTR },
{ "log", mconsole_log, MCONSOLE_INTR }, { "log", mconsole_log, MCONSOLE_INTR },
@ -127,11 +121,9 @@ index 9920982..3ed0d32 100644
{ "proc", mconsole_proc, MCONSOLE_PROC }, { "proc", mconsole_proc, MCONSOLE_PROC },
{ "stack", mconsole_stack, MCONSOLE_INTR }, { "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 --- a/arch/um/os-Linux/file.c
+++ b/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; addr.sun_family = AF_UNIX;
@ -140,8 +132,6 @@ index c17bd6f..1c55fa8 100644
snprintf(addr.sun_path, len, "%s", file); snprintf(addr.sun_path, len, "%s", file);
err = bind(sock, (struct sockaddr *) &addr, sizeof(addr)); 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 --- a/include/linux/kmod.h
+++ b/include/linux/kmod.h +++ b/include/linux/kmod.h
@@ -62,6 +62,7 @@ struct subprocess_info { @@ -62,6 +62,7 @@ struct subprocess_info {
@ -152,15 +142,13 @@ index 0555cc6..476084d 100644
void (*cleanup)(struct subprocess_info *info); void (*cleanup)(struct subprocess_info *info);
void *data; 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 long usermodehelper_read_lock_wait(long timeout);
extern void usermodehelper_read_unlock(void); extern void usermodehelper_read_unlock(void);
+int call_usermodehelper_stdoutpipe(struct subprocess_info *sub_info, struct file **filp); +int call_usermodehelper_stdoutpipe(struct subprocess_info *sub_info, struct file **filp);
+ +
#endif /* __LINUX_KMOD_H__ */ #endif /* __LINUX_KMOD_H__ */
diff --git a/kernel/kmod.c b/kernel/kmod.c
index 8241906..2d7f718 100644
--- a/kernel/kmod.c --- a/kernel/kmod.c
+++ b/kernel/kmod.c +++ b/kernel/kmod.c
@@ -39,6 +39,7 @@ @@ -39,6 +39,7 @@
@ -171,7 +159,7 @@ index 8241906..2d7f718 100644
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <trace/events/module.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); flush_signal_handlers(current, 1);
spin_unlock_irq(&current->sighand->siglock); spin_unlock_irq(&current->sighand->siglock);
@ -200,7 +188,7 @@ index 8241906..2d7f718 100644
/* We can run anywhere, unlike our parent keventd(). */ /* We can run anywhere, unlike our parent keventd(). */
set_cpus_allowed_ptr(current, cpu_all_mask); 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); EXPORT_SYMBOL(call_usermodehelper_setup);

View File

@ -9,10 +9,9 @@ TECHNICAL INFORMATION:
Applies to vanilla kernel 3.9.4. 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 --- a/arch/um/Kconfig.net
--- linux-3.9.4-orig/arch/um/Kconfig.net 2013-05-24 21:45:59.000000000 +0300 +++ b/arch/um/Kconfig.net
+++ linux-3.9.4/arch/um/Kconfig.net 2013-06-11 13:07:06.363999999 +0300 @@ -21,6 +21,19 @@ config UML_NET
@@ -21,6 +21,19 @@
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.
@ -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 config UML_NET_ETHERTAP
bool "Ethertap transport" bool "Ethertap transport"
depends on UML_NET 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 --- a/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 +++ b/arch/um/drivers/net_kern.c
+++ linux-3.9.4/arch/um/drivers/net_kern.c 2013-06-11 13:09:03.452000001 +0300
@@ -25,6 +25,13 @@ @@ -25,6 +25,13 @@
#include <net_kern.h> #include <net_kern.h>
#include <net_user.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" #define DRIVER_NAME "uml-netdev"
static DEFINE_SPINLOCK(opened_lock); static DEFINE_SPINLOCK(opened_lock);
@@ -295,11 +302,47 @@ @@ -295,11 +302,47 @@ static void uml_net_user_timer_expire(un
#endif #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) if (str == NULL)
goto random; goto random;
@@ -340,9 +383,26 @@ @@ -340,9 +383,26 @@ static void setup_etheraddr(struct net_d
return; return;
random: 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); 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~