Linux v3.4-4842-g61011677
This commit is contained in:
parent
50c065d6a1
commit
16cd90df88
@ -2285,6 +2285,7 @@ CONFIG_SENSORS_MAX1668=m
|
|||||||
|
|
||||||
# CONFIG_HMC6352 is not set
|
# CONFIG_HMC6352 is not set
|
||||||
# CONFIG_BMP085 is not set
|
# CONFIG_BMP085 is not set
|
||||||
|
# CONFIG_BMP085_I2C is not set
|
||||||
# CONFIG_PCH_PHUB is not set
|
# CONFIG_PCH_PHUB is not set
|
||||||
# CONFIG_SERIAL_PCH_UART is not set
|
# CONFIG_SERIAL_PCH_UART is not set
|
||||||
# CONFIG_USB_SWITCH_FSA9480 is not set
|
# CONFIG_USB_SWITCH_FSA9480 is not set
|
||||||
@ -3125,6 +3126,7 @@ CONFIG_USB_HID=y
|
|||||||
CONFIG_HID_SUPPORT=y
|
CONFIG_HID_SUPPORT=y
|
||||||
|
|
||||||
CONFIG_HID=m
|
CONFIG_HID=m
|
||||||
|
CONFIG_HID_BATTERY_STRENGTH=y
|
||||||
# debugging default is y upstream now
|
# debugging default is y upstream now
|
||||||
CONFIG_HIDRAW=y
|
CONFIG_HIDRAW=y
|
||||||
CONFIG_HID_PID=y
|
CONFIG_HID_PID=y
|
||||||
@ -3189,6 +3191,9 @@ CONFIG_HID_WIIMOTE_EXT=y
|
|||||||
CONFIG_HID_KYE=m
|
CONFIG_HID_KYE=m
|
||||||
CONFIG_HID_SAITEK=m
|
CONFIG_HID_SAITEK=m
|
||||||
CONFIG_HID_TIVO=m
|
CONFIG_HID_TIVO=m
|
||||||
|
CONFIG_HID_GENERIC=m
|
||||||
|
CONFIG_HID_AUREAL=m
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# USB Imaging devices
|
# USB Imaging devices
|
||||||
@ -3300,6 +3305,7 @@ CONFIG_USB_EPSON2888=y
|
|||||||
CONFIG_USB_KC2190=y
|
CONFIG_USB_KC2190=y
|
||||||
|
|
||||||
# CONFIG_USB_MUSB_HDRC is not set
|
# CONFIG_USB_MUSB_HDRC is not set
|
||||||
|
# CONFIG_USB_CHIPIDEA is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# USB port drivers
|
# USB port drivers
|
||||||
@ -3376,6 +3382,7 @@ CONFIG_USB_SERIAL_QCAUX=m
|
|||||||
CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m
|
CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m
|
||||||
CONFIG_USB_SERIAL_DEBUG=m
|
CONFIG_USB_SERIAL_DEBUG=m
|
||||||
CONFIG_USB_SERIAL_SSU100=m
|
CONFIG_USB_SERIAL_SSU100=m
|
||||||
|
CONFIG_USB_SERIAL_QT2=m
|
||||||
|
|
||||||
CONFIG_USB_SERIAL_CONSOLE=y
|
CONFIG_USB_SERIAL_CONSOLE=y
|
||||||
|
|
||||||
@ -3438,6 +3445,8 @@ CONFIG_USB_ZERO=m
|
|||||||
|
|
||||||
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
|
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
|
||||||
|
|
||||||
|
# CONFIG_USB_ISP1301 is not set
|
||||||
|
|
||||||
# CONFIG_USB_OTG is not set
|
# CONFIG_USB_OTG is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -3947,6 +3956,7 @@ CONFIG_CRC_T10DIF=m
|
|||||||
CONFIG_CRC8=m
|
CONFIG_CRC8=m
|
||||||
# CONFIG_CRC7 is not set
|
# CONFIG_CRC7 is not set
|
||||||
CONFIG_CORDIC=m
|
CONFIG_CORDIC=m
|
||||||
|
# CONFIG_DDR is not set
|
||||||
|
|
||||||
CONFIG_CRYPTO_ZLIB=m
|
CONFIG_CRYPTO_ZLIB=m
|
||||||
CONFIG_ZLIB_INFLATE=y
|
CONFIG_ZLIB_INFLATE=y
|
||||||
@ -4280,6 +4290,8 @@ CONFIG_USB_WUSB_CBAF=m
|
|||||||
# CONFIG_USB_WUSB_CBAF_DEBUG is not set
|
# CONFIG_USB_WUSB_CBAF_DEBUG is not set
|
||||||
CONFIG_USB_WHCI_HCD=m
|
CONFIG_USB_WHCI_HCD=m
|
||||||
CONFIG_USB_HWA_HCD=m
|
CONFIG_USB_HWA_HCD=m
|
||||||
|
# CONFIG_USB_HCD_BCMA is not set
|
||||||
|
# CONFIG_USB_HCD_SSB is not set
|
||||||
|
|
||||||
CONFIG_UWB=m
|
CONFIG_UWB=m
|
||||||
CONFIG_UWB_HWA=m
|
CONFIG_UWB_HWA=m
|
||||||
@ -4350,6 +4362,8 @@ CONFIG_ALTERA_STAPL=m
|
|||||||
# CONFIG_ZSMALLOC is not set
|
# CONFIG_ZSMALLOC is not set
|
||||||
# CONFIG_RAMSTER is not set
|
# CONFIG_RAMSTER is not set
|
||||||
# CONFIG_USB_WPAN_HCD is not set
|
# CONFIG_USB_WPAN_HCD is not set
|
||||||
|
# CONFIG_WIMAX_GDM72XX is not set
|
||||||
|
# CONFIG_IPACK_BUS is not set
|
||||||
#
|
#
|
||||||
# END OF STAGING
|
# END OF STAGING
|
||||||
|
|
||||||
@ -4395,6 +4409,9 @@ CONFIG_IEEE802154_FAKELB=m
|
|||||||
|
|
||||||
CONFIG_MAC802154=m
|
CONFIG_MAC802154=m
|
||||||
|
|
||||||
|
# CONFIG_EXTCON is not set
|
||||||
|
# CONFIG_MEMORY is not set
|
||||||
|
|
||||||
CONFIG_PPS=m
|
CONFIG_PPS=m
|
||||||
# CONFIG_PPS_CLIENT_KTIMER is not set
|
# CONFIG_PPS_CLIENT_KTIMER is not set
|
||||||
CONFIG_PPS_CLIENT_LDISC=m
|
CONFIG_PPS_CLIENT_LDISC=m
|
||||||
@ -4457,6 +4474,7 @@ CONFIG_TCM_FC=m
|
|||||||
CONFIG_HWSPINLOCK=m
|
CONFIG_HWSPINLOCK=m
|
||||||
|
|
||||||
CONFIG_PSTORE=y
|
CONFIG_PSTORE=y
|
||||||
|
CONFIG_PSTORE_RAM=m
|
||||||
|
|
||||||
# CONFIG_AVERAGE is not set
|
# CONFIG_AVERAGE is not set
|
||||||
|
|
||||||
|
@ -95,7 +95,7 @@ Summary: The Linux kernel
|
|||||||
# The rc snapshot level
|
# The rc snapshot level
|
||||||
%define rcrev 0
|
%define rcrev 0
|
||||||
# The git snapshot level
|
# The git snapshot level
|
||||||
%define gitrev 3
|
%define gitrev 4
|
||||||
# Set rpm version accordingly
|
# Set rpm version accordingly
|
||||||
%define rpmversion 3.%{upstream_sublevel}.0
|
%define rpmversion 3.%{upstream_sublevel}.0
|
||||||
%endif
|
%endif
|
||||||
@ -2299,6 +2299,9 @@ fi
|
|||||||
# ||----w |
|
# ||----w |
|
||||||
# || ||
|
# || ||
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed May 23 2012 Josh Boyer <jwboyer@redhat.com> - 3.5.0-0.rc0.git4.1
|
||||||
|
- Linux v3.4-4842-g61011677
|
||||||
|
|
||||||
* Wed May 23 2012 Dennis Gilmore <dennis@ausil.us>
|
* Wed May 23 2012 Dennis Gilmore <dennis@ausil.us>
|
||||||
- add patch to fix ftbfs on tegra due to sdhci MODULE_DEVICE_TABLE mismatch
|
- add patch to fix ftbfs on tegra due to sdhci MODULE_DEVICE_TABLE mismatch
|
||||||
- dont make a arm config file we do not use it anywhere
|
- dont make a arm config file we do not use it anywhere
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
diff --git a/arch/x86/include/asm/desc.h b/arch/x86/include/asm/desc.h
|
diff --git a/arch/x86/include/asm/desc.h b/arch/x86/include/asm/desc.h
|
||||||
index e95822d..00b222f 100644
|
index 8bf1c06..49f8ab2 100644
|
||||||
--- a/arch/x86/include/asm/desc.h
|
--- a/arch/x86/include/asm/desc.h
|
||||||
+++ b/arch/x86/include/asm/desc.h
|
+++ b/arch/x86/include/asm/desc.h
|
||||||
@@ -5,6 +5,7 @@
|
@@ -5,6 +5,7 @@
|
||||||
@ -8,9 +8,9 @@ index e95822d..00b222f 100644
|
|||||||
|
|
||||||
+#include <linux/mm_types.h>
|
+#include <linux/mm_types.h>
|
||||||
#include <linux/smp.h>
|
#include <linux/smp.h>
|
||||||
|
#include <linux/percpu.h>
|
||||||
|
|
||||||
static inline void fill_ldt(struct desc_struct *desc, const struct user_desc *info)
|
@@ -100,6 +101,9 @@ static inline int desc_empty(const void *ptr)
|
||||||
@@ -99,6 +100,9 @@ static inline int desc_empty(const void *ptr)
|
|
||||||
|
|
||||||
#define load_TLS(t, cpu) native_load_tls(t, cpu)
|
#define load_TLS(t, cpu) native_load_tls(t, cpu)
|
||||||
#define set_ldt native_set_ldt
|
#define set_ldt native_set_ldt
|
||||||
@ -20,7 +20,7 @@ index e95822d..00b222f 100644
|
|||||||
|
|
||||||
#define write_ldt_entry(dt, entry, desc) native_write_ldt_entry(dt, entry, desc)
|
#define write_ldt_entry(dt, entry, desc) native_write_ldt_entry(dt, entry, desc)
|
||||||
#define write_gdt_entry(dt, entry, desc, type) native_write_gdt_entry(dt, entry, desc, type)
|
#define write_gdt_entry(dt, entry, desc, type) native_write_gdt_entry(dt, entry, desc, type)
|
||||||
@@ -404,4 +408,25 @@ static inline void set_system_intr_gate_ist(int n, void *addr, unsigned ist)
|
@@ -405,4 +409,25 @@ static inline void set_system_intr_gate_ist(int n, void *addr, unsigned ist)
|
||||||
_set_gate(n, GATE_INTERRUPT, addr, 0x3, ist, __KERNEL_CS);
|
_set_gate(n, GATE_INTERRUPT, addr, 0x3, ist, __KERNEL_CS);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -73,10 +73,10 @@ index 5f55e69..aba94f0 100644
|
|||||||
|
|
||||||
#ifdef CONFIG_SMP
|
#ifdef CONFIG_SMP
|
||||||
diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h
|
diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h
|
||||||
index a7d2db9..cc4ad60 100644
|
index aa0f913..016fcf6 100644
|
||||||
--- a/arch/x86/include/asm/paravirt.h
|
--- a/arch/x86/include/asm/paravirt.h
|
||||||
+++ b/arch/x86/include/asm/paravirt.h
|
+++ b/arch/x86/include/asm/paravirt.h
|
||||||
@@ -298,6 +298,12 @@ static inline void set_ldt(const void *addr, unsigned entries)
|
@@ -299,6 +299,12 @@ static inline void set_ldt(const void *addr, unsigned entries)
|
||||||
{
|
{
|
||||||
PVOP_VCALL2(pv_cpu_ops.set_ldt, addr, entries);
|
PVOP_VCALL2(pv_cpu_ops.set_ldt, addr, entries);
|
||||||
}
|
}
|
||||||
@ -104,10 +104,10 @@ index 8e8b9a4..cca421e 100644
|
|||||||
void (*load_tls)(struct thread_struct *t, unsigned int cpu);
|
void (*load_tls)(struct thread_struct *t, unsigned int cpu);
|
||||||
#ifdef CONFIG_X86_64
|
#ifdef CONFIG_X86_64
|
||||||
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
|
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
|
||||||
index d43cad7..07da281 100644
|
index 82f29e7..d8597f2 100644
|
||||||
--- a/arch/x86/kernel/cpu/common.c
|
--- a/arch/x86/kernel/cpu/common.c
|
||||||
+++ b/arch/x86/kernel/cpu/common.c
|
+++ b/arch/x86/kernel/cpu/common.c
|
||||||
@@ -839,6 +839,22 @@ static void __cpuinit identify_cpu(struct cpuinfo_x86 *c)
|
@@ -841,6 +841,22 @@ static void __cpuinit identify_cpu(struct cpuinfo_x86 *c)
|
||||||
/* Filter out anything that depends on CPUID levels we don't have */
|
/* Filter out anything that depends on CPUID levels we don't have */
|
||||||
filter_cpuid_features(c, true);
|
filter_cpuid_features(c, true);
|
||||||
|
|
||||||
@ -131,10 +131,10 @@ index d43cad7..07da281 100644
|
|||||||
if (!c->x86_model_id[0]) {
|
if (!c->x86_model_id[0]) {
|
||||||
const char *p;
|
const char *p;
|
||||||
diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c
|
diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c
|
||||||
index d90272e..cc594fc 100644
|
index 9ce8859..d19990c 100644
|
||||||
--- a/arch/x86/kernel/paravirt.c
|
--- a/arch/x86/kernel/paravirt.c
|
||||||
+++ b/arch/x86/kernel/paravirt.c
|
+++ b/arch/x86/kernel/paravirt.c
|
||||||
@@ -358,6 +358,9 @@ struct pv_cpu_ops pv_cpu_ops = {
|
@@ -360,6 +360,9 @@ struct pv_cpu_ops pv_cpu_ops = {
|
||||||
.read_tscp = native_read_tscp,
|
.read_tscp = native_read_tscp,
|
||||||
.load_tr_desc = native_load_tr_desc,
|
.load_tr_desc = native_load_tr_desc,
|
||||||
.set_ldt = native_set_ldt,
|
.set_ldt = native_set_ldt,
|
||||||
@ -145,10 +145,10 @@ index d90272e..cc594fc 100644
|
|||||||
.load_idt = native_load_idt,
|
.load_idt = native_load_idt,
|
||||||
.store_gdt = native_store_gdt,
|
.store_gdt = native_store_gdt,
|
||||||
diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c
|
diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c
|
||||||
index 324cd72..95618a4 100644
|
index 01d8d40..4c2ece1 100644
|
||||||
--- a/arch/x86/kernel/process_32.c
|
--- a/arch/x86/kernel/process_32.c
|
||||||
+++ b/arch/x86/kernel/process_32.c
|
+++ b/arch/x86/kernel/process_32.c
|
||||||
@@ -249,7 +249,10 @@ int copy_thread(unsigned long clone_flags, unsigned long sp,
|
@@ -191,7 +191,10 @@ int copy_thread(unsigned long clone_flags, unsigned long sp,
|
||||||
void
|
void
|
||||||
start_thread(struct pt_regs *regs, unsigned long new_ip, unsigned long new_sp)
|
start_thread(struct pt_regs *regs, unsigned long new_ip, unsigned long new_sp)
|
||||||
{
|
{
|
||||||
@ -159,7 +159,7 @@ index 324cd72..95618a4 100644
|
|||||||
regs->fs = 0;
|
regs->fs = 0;
|
||||||
regs->ds = __USER_DS;
|
regs->ds = __USER_DS;
|
||||||
regs->es = __USER_DS;
|
regs->es = __USER_DS;
|
||||||
@@ -257,6 +260,11 @@ start_thread(struct pt_regs *regs, unsigned long new_ip, unsigned long new_sp)
|
@@ -199,6 +202,11 @@ start_thread(struct pt_regs *regs, unsigned long new_ip, unsigned long new_sp)
|
||||||
regs->cs = __USER_CS;
|
regs->cs = __USER_CS;
|
||||||
regs->ip = new_ip;
|
regs->ip = new_ip;
|
||||||
regs->sp = new_sp;
|
regs->sp = new_sp;
|
||||||
@ -171,7 +171,7 @@ index 324cd72..95618a4 100644
|
|||||||
/*
|
/*
|
||||||
* Free the old FP and other extended state
|
* Free the old FP and other extended state
|
||||||
*/
|
*/
|
||||||
@@ -321,6 +329,9 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
|
@@ -264,6 +272,9 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
|
||||||
*/
|
*/
|
||||||
lazy_save_gs(prev->gs);
|
lazy_save_gs(prev->gs);
|
||||||
|
|
||||||
@ -181,7 +181,7 @@ index 324cd72..95618a4 100644
|
|||||||
/*
|
/*
|
||||||
* Load the per-thread Thread-Local Storage descriptor.
|
* Load the per-thread Thread-Local Storage descriptor.
|
||||||
*/
|
*/
|
||||||
@@ -389,3 +400,40 @@ unsigned long get_wchan(struct task_struct *p)
|
@@ -334,3 +345,40 @@ unsigned long get_wchan(struct task_struct *p)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -223,10 +223,10 @@ index 324cd72..95618a4 100644
|
|||||||
+ set_user_cs(&mm->context.user_cs, 0);
|
+ set_user_cs(&mm->context.user_cs, 0);
|
||||||
+}
|
+}
|
||||||
diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
|
diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
|
||||||
index 4d42300..4cb14a1 100644
|
index 92d5756..662c2f9 100644
|
||||||
--- a/arch/x86/kernel/traps.c
|
--- a/arch/x86/kernel/traps.c
|
||||||
+++ b/arch/x86/kernel/traps.c
|
+++ b/arch/x86/kernel/traps.c
|
||||||
@@ -107,6 +107,78 @@ static inline void preempt_conditional_cli(struct pt_regs *regs)
|
@@ -108,6 +108,78 @@ static inline void preempt_conditional_cli(struct pt_regs *regs)
|
||||||
dec_preempt_count();
|
dec_preempt_count();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -305,7 +305,7 @@ index 4d42300..4cb14a1 100644
|
|||||||
static void __kprobes
|
static void __kprobes
|
||||||
do_trap(int trapnr, int signr, char *str, struct pt_regs *regs,
|
do_trap(int trapnr, int signr, char *str, struct pt_regs *regs,
|
||||||
long error_code, siginfo_t *info)
|
long error_code, siginfo_t *info)
|
||||||
@@ -263,6 +335,29 @@ do_general_protection(struct pt_regs *regs, long error_code)
|
@@ -268,6 +340,29 @@ do_general_protection(struct pt_regs *regs, long error_code)
|
||||||
if (!user_mode(regs))
|
if (!user_mode(regs))
|
||||||
goto gp_in_kernel;
|
goto gp_in_kernel;
|
||||||
|
|
||||||
@ -335,7 +335,7 @@ index 4d42300..4cb14a1 100644
|
|||||||
tsk->thread.error_code = error_code;
|
tsk->thread.error_code = error_code;
|
||||||
tsk->thread.trap_nr = X86_TRAP_GP;
|
tsk->thread.trap_nr = X86_TRAP_GP;
|
||||||
|
|
||||||
@@ -650,20 +745,37 @@ do_device_not_available(struct pt_regs *regs, long error_code)
|
@@ -646,20 +741,37 @@ do_device_not_available(struct pt_regs *regs, long error_code)
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_X86_32
|
#ifdef CONFIG_X86_32
|
||||||
@ -413,7 +413,7 @@ index 410531d..eb040ad 100644
|
|||||||
"missing in CPU!\n");
|
"missing in CPU!\n");
|
||||||
} else {
|
} else {
|
||||||
diff --git a/arch/x86/mm/tlb.c b/arch/x86/mm/tlb.c
|
diff --git a/arch/x86/mm/tlb.c b/arch/x86/mm/tlb.c
|
||||||
index d6c0418..c15b765 100644
|
index 3804471..3c7805c 100644
|
||||||
--- a/arch/x86/mm/tlb.c
|
--- a/arch/x86/mm/tlb.c
|
||||||
+++ b/arch/x86/mm/tlb.c
|
+++ b/arch/x86/mm/tlb.c
|
||||||
@@ -7,6 +7,7 @@
|
@@ -7,6 +7,7 @@
|
||||||
@ -438,10 +438,10 @@ index d6c0418..c15b765 100644
|
|||||||
* orig_rax contains the negated interrupt vector.
|
* orig_rax contains the negated interrupt vector.
|
||||||
* Use that to determine where the sender put the data.
|
* Use that to determine where the sender put the data.
|
||||||
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
|
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
|
||||||
index 12eb07b..c48ed49 100644
|
index c0f5fac..2040256 100644
|
||||||
--- a/arch/x86/xen/enlighten.c
|
--- a/arch/x86/xen/enlighten.c
|
||||||
+++ b/arch/x86/xen/enlighten.c
|
+++ b/arch/x86/xen/enlighten.c
|
||||||
@@ -354,6 +354,24 @@ static void xen_set_ldt(const void *addr, unsigned entries)
|
@@ -446,6 +446,24 @@ static void xen_set_ldt(const void *addr, unsigned entries)
|
||||||
xen_mc_issue(PARAVIRT_LAZY_CPU);
|
xen_mc_issue(PARAVIRT_LAZY_CPU);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -466,7 +466,7 @@ index 12eb07b..c48ed49 100644
|
|||||||
static void xen_load_gdt(const struct desc_ptr *dtr)
|
static void xen_load_gdt(const struct desc_ptr *dtr)
|
||||||
{
|
{
|
||||||
unsigned long va = dtr->address;
|
unsigned long va = dtr->address;
|
||||||
@@ -994,6 +1012,9 @@ static const struct pv_cpu_ops xen_cpu_ops __initconst = {
|
@@ -1119,6 +1137,9 @@ static const struct pv_cpu_ops xen_cpu_ops __initconst = {
|
||||||
|
|
||||||
.load_tr_desc = paravirt_nop,
|
.load_tr_desc = paravirt_nop,
|
||||||
.set_ldt = xen_set_ldt,
|
.set_ldt = xen_set_ldt,
|
||||||
@ -477,10 +477,10 @@ index 12eb07b..c48ed49 100644
|
|||||||
.load_idt = xen_load_idt,
|
.load_idt = xen_load_idt,
|
||||||
.load_tls = xen_load_tls,
|
.load_tls = xen_load_tls,
|
||||||
diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c
|
diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c
|
||||||
index 81878b7..2536ec3 100644
|
index 16f7354..611f1c6 100644
|
||||||
--- a/fs/binfmt_elf.c
|
--- a/fs/binfmt_elf.c
|
||||||
+++ b/fs/binfmt_elf.c
|
+++ b/fs/binfmt_elf.c
|
||||||
@@ -711,6 +711,16 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
|
@@ -708,6 +708,16 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
|
||||||
if (retval)
|
if (retval)
|
||||||
goto out_free_dentry;
|
goto out_free_dentry;
|
||||||
|
|
||||||
@ -498,10 +498,10 @@ index 81878b7..2536ec3 100644
|
|||||||
current->mm->def_flags = def_flags;
|
current->mm->def_flags = def_flags;
|
||||||
|
|
||||||
diff --git a/include/linux/sched.h b/include/linux/sched.h
|
diff --git a/include/linux/sched.h b/include/linux/sched.h
|
||||||
index 7d379a6..90ccb05 100644
|
index 28fa9d0..c961aa8 100644
|
||||||
--- a/include/linux/sched.h
|
--- a/include/linux/sched.h
|
||||||
+++ b/include/linux/sched.h
|
+++ b/include/linux/sched.h
|
||||||
@@ -102,6 +102,9 @@ struct fs_struct;
|
@@ -101,6 +101,9 @@ struct fs_struct;
|
||||||
struct perf_event_context;
|
struct perf_event_context;
|
||||||
struct blk_plug;
|
struct blk_plug;
|
||||||
|
|
||||||
@ -512,7 +512,7 @@ index 7d379a6..90ccb05 100644
|
|||||||
* List of flags we want to share for kernel threads,
|
* List of flags we want to share for kernel threads,
|
||||||
* if only because they are not used by them anyway.
|
* if only because they are not used by them anyway.
|
||||||
diff --git a/mm/mmap.c b/mm/mmap.c
|
diff --git a/mm/mmap.c b/mm/mmap.c
|
||||||
index 3f758c7..0e29e1b 100644
|
index 69a1889..5172f68 100644
|
||||||
--- a/mm/mmap.c
|
--- a/mm/mmap.c
|
||||||
+++ b/mm/mmap.c
|
+++ b/mm/mmap.c
|
||||||
@@ -46,6 +46,18 @@
|
@@ -46,6 +46,18 @@
|
||||||
@ -534,7 +534,7 @@ index 3f758c7..0e29e1b 100644
|
|||||||
static void unmap_region(struct mm_struct *mm,
|
static void unmap_region(struct mm_struct *mm,
|
||||||
struct vm_area_struct *vma, struct vm_area_struct *prev,
|
struct vm_area_struct *vma, struct vm_area_struct *prev,
|
||||||
unsigned long start, unsigned long end);
|
unsigned long start, unsigned long end);
|
||||||
@@ -424,6 +436,8 @@ __vma_link(struct mm_struct *mm, struct vm_area_struct *vma,
|
@@ -426,6 +438,8 @@ __vma_link(struct mm_struct *mm, struct vm_area_struct *vma,
|
||||||
struct vm_area_struct *prev, struct rb_node **rb_link,
|
struct vm_area_struct *prev, struct rb_node **rb_link,
|
||||||
struct rb_node *rb_parent)
|
struct rb_node *rb_parent)
|
||||||
{
|
{
|
||||||
@ -543,7 +543,7 @@ index 3f758c7..0e29e1b 100644
|
|||||||
__vma_link_list(mm, vma, prev, rb_parent);
|
__vma_link_list(mm, vma, prev, rb_parent);
|
||||||
__vma_link_rb(mm, vma, rb_link, rb_parent);
|
__vma_link_rb(mm, vma, rb_link, rb_parent);
|
||||||
}
|
}
|
||||||
@@ -478,6 +492,8 @@ __vma_unlink(struct mm_struct *mm, struct vm_area_struct *vma,
|
@@ -479,6 +493,8 @@ __vma_unlink(struct mm_struct *mm, struct vm_area_struct *vma,
|
||||||
rb_erase(&vma->vm_rb, &mm->mm_rb);
|
rb_erase(&vma->vm_rb, &mm->mm_rb);
|
||||||
if (mm->mmap_cache == vma)
|
if (mm->mmap_cache == vma)
|
||||||
mm->mmap_cache = prev;
|
mm->mmap_cache = prev;
|
||||||
@ -552,7 +552,7 @@ index 3f758c7..0e29e1b 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -794,6 +810,8 @@ struct vm_area_struct *vma_merge(struct mm_struct *mm,
|
@@ -795,6 +811,8 @@ struct vm_area_struct *vma_merge(struct mm_struct *mm,
|
||||||
} else /* cases 2, 5, 7 */
|
} else /* cases 2, 5, 7 */
|
||||||
err = vma_adjust(prev, prev->vm_start,
|
err = vma_adjust(prev, prev->vm_start,
|
||||||
end, prev->vm_pgoff, NULL);
|
end, prev->vm_pgoff, NULL);
|
||||||
@ -561,7 +561,7 @@ index 3f758c7..0e29e1b 100644
|
|||||||
if (err)
|
if (err)
|
||||||
return NULL;
|
return NULL;
|
||||||
khugepaged_enter_vma_merge(prev);
|
khugepaged_enter_vma_merge(prev);
|
||||||
@@ -1952,10 +1970,14 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
|
@@ -2009,10 +2027,14 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
|
||||||
if (new->vm_ops && new->vm_ops->open)
|
if (new->vm_ops && new->vm_ops->open)
|
||||||
new->vm_ops->open(new);
|
new->vm_ops->open(new);
|
||||||
|
|
||||||
@ -578,7 +578,7 @@ index 3f758c7..0e29e1b 100644
|
|||||||
err = vma_adjust(vma, vma->vm_start, addr, vma->vm_pgoff, new);
|
err = vma_adjust(vma, vma->vm_start, addr, vma->vm_pgoff, new);
|
||||||
|
|
||||||
/* Success. */
|
/* Success. */
|
||||||
@@ -2266,6 +2266,7 @@ void exit_mmap(struct mm_struct *mm)
|
@@ -2312,6 +2334,7 @@ void exit_mmap(struct mm_struct *mm)
|
||||||
|
|
||||||
free_pgtables(&tlb, vma, FIRST_USER_ADDRESS, 0);
|
free_pgtables(&tlb, vma, FIRST_USER_ADDRESS, 0);
|
||||||
tlb_finish_mmu(&tlb, 0, -1);
|
tlb_finish_mmu(&tlb, 0, -1);
|
||||||
@ -587,7 +587,7 @@ index 3f758c7..0e29e1b 100644
|
|||||||
/*
|
/*
|
||||||
* Walk the list again, actually closing and freeing it,
|
* Walk the list again, actually closing and freeing it,
|
||||||
diff --git a/mm/mprotect.c b/mm/mprotect.c
|
diff --git a/mm/mprotect.c b/mm/mprotect.c
|
||||||
index 5a688a2..128d996 100644
|
index a409926..5e05c67 100644
|
||||||
--- a/mm/mprotect.c
|
--- a/mm/mprotect.c
|
||||||
+++ b/mm/mprotect.c
|
+++ b/mm/mprotect.c
|
||||||
@@ -25,9 +25,14 @@
|
@@ -25,9 +25,14 @@
|
||||||
|
Loading…
Reference in New Issue
Block a user