Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
e3e25fc
Apply Linux patch 3.10.33 - 3.10.34
Stane1983 Aug 3, 2015
0e283d0
Apply Linux patch 3.10.34 - 3.10.35
Stane1983 Aug 3, 2015
b1295cf
Apply Linux patch 3.10.35 - 3.10.36
Stane1983 Aug 3, 2015
c3192d0
Apply Linux patch 3.10.36 - 3.10.37
Stane1983 Aug 3, 2015
1b9ac66
Apply Linux patch 3.10.37 - 3.10.38
Stane1983 Aug 3, 2015
cd6536c
Apply Linux patch 3.10.38 - 3.10.39
Stane1983 Aug 3, 2015
5332864
Apply Linux patch 3.10.39 - 3.10.40
Stane1983 Aug 3, 2015
4180f3b
Apply Linux patch 3.10.40 - 3.10.41
Stane1983 Aug 3, 2015
69c9072
Apply Linux patch 3.10.41 - 3.10.42
Stane1983 Aug 3, 2015
c024ed0
Apply Linux patch 3.10.42 - 3.10.43
Stane1983 Aug 3, 2015
59b8f92
Apply Linux patch 3.10.43 - 3.10.44
Stane1983 Aug 3, 2015
b3f7edc
Apply Linux patch 3.10.44 - 3.10.45
Stane1983 Aug 3, 2015
96129de
Apply Linux patch 3.10.45 - 3.10.46
Stane1983 Aug 3, 2015
c42504f
Apply Linux patch 3.10.46 - 3.10.47
Stane1983 Aug 3, 2015
5ba824f
Apply Linux patch 3.10.47 - 3.10.48
Stane1983 Aug 3, 2015
6f35a47
Apply Linux patch 3.10.48 - 3.10.49
Stane1983 Aug 3, 2015
9977c93
Apply Linux patch 3.10.49 - 3.10.50
Stane1983 Aug 3, 2015
25f795f
Apply Linux patch 3.10.50 - 3.10.51
Stane1983 Aug 3, 2015
89fffc4
Apply Linux patch 3.10.51 - 3.10.52
Stane1983 Aug 3, 2015
e0b9329
Apply Linux patch 3.10.52 - 3.10.53
Stane1983 Aug 3, 2015
f70dcab
Apply Linux patch 3.10.53 - 3.10.54
Stane1983 Aug 3, 2015
989ed95
Apply Linux patch 3.10.54 - 3.10.55
Stane1983 Aug 3, 2015
2e1a81f
Apply Linux patch 3.10.55 - 3.10.56
Stane1983 Aug 3, 2015
21bd39e
Apply Linux patch 3.10.56 - 3.10.57
Stane1983 Aug 3, 2015
5e81b98
Apply Linux patch 3.10.57 - 3.10.58
Stane1983 Aug 3, 2015
903b15e
Apply Linux patch 3.10.58 - 3.10.59
Stane1983 Aug 3, 2015
f9f2bd8
Apply Linux patch 3.10.59 - 3.10.60
Stane1983 Aug 3, 2015
2afd64b
Apply Linux patch 3.10.60 - 3.10.61
Stane1983 Aug 3, 2015
058c3b7
Apply Linux patch 3.10.61 - 3.10.62
Stane1983 Aug 3, 2015
a4e1311
Apply Linux patch 3.10.62 - 3.10.63
Stane1983 Aug 3, 2015
051666a
Fix compile: kernel/power/main.c - we don't have valid_state function
Stane1983 Aug 3, 2015
8c214f2
Apply Linux patch 3.10.63 - 3.10.64
Stane1983 Aug 3, 2015
3400e38
Apply Linux patch 3.10.64 - 3.10.65
Stane1983 Aug 3, 2015
8e2dd13
Apply Linux patch 3.10.65 - 3.10.66
Stane1983 Aug 3, 2015
d31a314
Apply Linux patch 3.10.66 - 3.10.67
Stane1983 Aug 3, 2015
fdd4c3a
Apply Linux patch 3.10.67 - 3.10.68
Stane1983 Aug 3, 2015
ee98242
Apply Linux patch 3.10.68 - 3.10.69
Stane1983 Aug 3, 2015
18a0dbb
Apply Linux patch 3.10.69 - 3.10.70
Stane1983 Aug 3, 2015
931fde7
Apply Linux patch 3.10.70 - 3.10.71
Stane1983 Aug 3, 2015
8c09d4b
Apply Linux patch 3.10.71 - 3.10.72
Stane1983 Aug 3, 2015
d90587b
Apply Linux patch 3.10.72 - 3.10.73
Stane1983 Aug 3, 2015
78638e8
Apply Linux patch 3.10.73 - 3.10.74
Stane1983 Aug 3, 2015
c6cdeaf
Apply Linux patch 3.10.74 - 3.10.75
Stane1983 Aug 3, 2015
3869818
Apply Linux patch 3.10.75 - 3.10.76
Stane1983 Aug 3, 2015
6c63c39
Apply Linux patch 3.10.76 - 3.10.77
Stane1983 Aug 3, 2015
bdbcd23
Apply Linux patch 3.10.77 - 3.10.78
Stane1983 Aug 3, 2015
ba13873
Apply Linux patch 3.10.78 - 3.10.79
Stane1983 Aug 3, 2015
efe3060
amlogic-pinctrl: Fix driver for 3.10.79 kernel
Stane1983 Aug 3, 2015
2be1d25
Apply Linux patch 3.10.79 - 3.10.80
Stane1983 Aug 3, 2015
3c7c6cc
gpio: Fix compile
Stane1983 Aug 3, 2015
7884067
Apply Linux patch 3.10.80 - 3.10.81
Stane1983 Aug 3, 2015
3546613
Apply Linux patch 3.10.81 - 3.10.82
Stane1983 Aug 3, 2015
2597172
Apply Linux patch 3.10.82 - 3.10.83
Stane1983 Aug 3, 2015
fd5e4f2
Apply Linux patch 3.10.83 - 3.10.84
Stane1983 Aug 3, 2015
7fd89bc
FIX: arm: define PHYS_OFFSET only if it's not already defined
Stane1983 Aug 3, 2015
cf612d7
Fix pinctrl driver
Stane1983 Aug 3, 2015
871da13
Apply Linux patch 3.10.84 - 3.10.85
Stane1983 Aug 3, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Apply Linux patch 3.10.59 - 3.10.60
  • Loading branch information
Stane1983 committed Aug 3, 2015
commit f9f2bd879b2f2e4402e5924d10f5470095b37a24
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
VERSION = 3
PATCHLEVEL = 10
SUBLEVEL = 59
SUBLEVEL = 60
EXTRAVERSION =
NAME = TOSSUG Baby Fish

Expand Down
2 changes: 1 addition & 1 deletion arch/arc/boot/dts/nsimosci.dts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
/* this is for console on PGU */
/* bootargs = "console=tty0 consoleblank=0"; */
/* this is for console on serial */
bootargs = "earlycon=uart8250,mmio32,0xc0000000,115200n8 console=ttyS0,115200n8 consoleblank=0 debug";
bootargs = "earlycon=uart8250,mmio32,0xc0000000,115200n8 console=tty0 console=ttyS0,115200n8 consoleblank=0 debug";
};

aliases {
Expand Down
32 changes: 18 additions & 14 deletions arch/arc/include/asm/kgdb.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
* register API yet */
#undef DBG_MAX_REG_NUM

#define GDB_MAX_REGS 39
#define GDB_MAX_REGS 87

#define BREAK_INSTR_SIZE 2
#define CACHE_FLUSH_IS_SAFE 1
Expand All @@ -33,23 +33,27 @@ static inline void arch_kgdb_breakpoint(void)

extern void kgdb_trap(struct pt_regs *regs, int param);

enum arc700_linux_regnums {
/* This is the numbering of registers according to the GDB. See GDB's
* arc-tdep.h for details.
*
* Registers are ordered for GDB 7.5. It is incompatible with GDB 6.8. */
enum arc_linux_regnums {
_R0 = 0,
_R1, _R2, _R3, _R4, _R5, _R6, _R7, _R8, _R9, _R10, _R11, _R12, _R13,
_R14, _R15, _R16, _R17, _R18, _R19, _R20, _R21, _R22, _R23, _R24,
_R25, _R26,
_BTA = 27,
_LP_START = 28,
_LP_END = 29,
_LP_COUNT = 30,
_STATUS32 = 31,
_BLINK = 32,
_FP = 33,
__SP = 34,
_EFA = 35,
_RET = 36,
_ORIG_R8 = 37,
_STOP_PC = 38
_FP = 27,
__SP = 28,
_R30 = 30,
_BLINK = 31,
_LP_COUNT = 60,
_STOP_PC = 64,
_RET = 64,
_LP_START = 65,
_LP_END = 66,
_STATUS32 = 67,
_ECR = 76,
_BTA = 82,
};

#else
Expand Down
6 changes: 5 additions & 1 deletion arch/mips/mm/tlbex.c
Original file line number Diff line number Diff line change
Expand Up @@ -1091,6 +1091,7 @@ static void __cpuinit build_update_entries(u32 **p, unsigned int tmp,
struct mips_huge_tlb_info {
int huge_pte;
int restore_scratch;
bool need_reload_pte;
};

static struct mips_huge_tlb_info __cpuinit
Expand All @@ -1105,6 +1106,7 @@ build_fast_tlb_refill_handler (u32 **p, struct uasm_label **l,

rv.huge_pte = scratch;
rv.restore_scratch = 0;
rv.need_reload_pte = false;

if (check_for_high_segbits) {
UASM_i_MFC0(p, tmp, C0_BADVADDR);
Expand Down Expand Up @@ -1293,6 +1295,7 @@ static void __cpuinit build_r4000_tlb_refill_handler(void)
} else {
htlb_info.huge_pte = K0;
htlb_info.restore_scratch = 0;
htlb_info.need_reload_pte = true;
vmalloc_mode = refill_noscratch;
/*
* create the plain linear handler
Expand Down Expand Up @@ -1329,7 +1332,8 @@ static void __cpuinit build_r4000_tlb_refill_handler(void)
}
#ifdef CONFIG_MIPS_HUGE_TLB_SUPPORT
uasm_l_tlb_huge_update(&l, p);
UASM_i_LW(&p, K0, 0, K1);
if (htlb_info.need_reload_pte)
UASM_i_LW(&p, htlb_info.huge_pte, 0, K1);
build_huge_update_entries(&p, htlb_info.huge_pte, K1);
build_huge_tlb_write_entry(&p, &l, &r, K0, tlb_random,
htlb_info.restore_scratch);
Expand Down
18 changes: 17 additions & 1 deletion arch/x86/ia32/ia32entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,16 @@ ENTRY(ia32_sysenter_target)
1: movl (%rbp),%ebp
_ASM_EXTABLE(1b,ia32_badarg)
ASM_CLAC

/*
* Sysenter doesn't filter flags, so we need to clear NT
* ourselves. To save a few cycles, we can check whether
* NT was set instead of doing an unconditional popfq.
*/
testl $X86_EFLAGS_NT,EFLAGS-ARGOFFSET(%rsp)
jnz sysenter_fix_flags
sysenter_flags_fixed:

orl $TS_COMPAT,TI_status+THREAD_INFO(%rsp,RIP-ARGOFFSET)
testl $_TIF_WORK_SYSCALL_ENTRY,TI_flags+THREAD_INFO(%rsp,RIP-ARGOFFSET)
CFI_REMEMBER_STATE
Expand Down Expand Up @@ -184,6 +194,8 @@ sysexit_from_sys_call:
TRACE_IRQS_ON
ENABLE_INTERRUPTS_SYSEXIT32

CFI_RESTORE_STATE

#ifdef CONFIG_AUDITSYSCALL
.macro auditsys_entry_common
movl %esi,%r9d /* 6th arg: 4th syscall arg */
Expand Down Expand Up @@ -226,7 +238,6 @@ sysexit_from_sys_call:
.endm

sysenter_auditsys:
CFI_RESTORE_STATE
auditsys_entry_common
movl %ebp,%r9d /* reload 6th syscall arg */
jmp sysenter_dispatch
Expand All @@ -235,6 +246,11 @@ sysexit_audit:
auditsys_exit sysexit_from_sys_call
#endif

sysenter_fix_flags:
pushq_cfi $(X86_EFLAGS_IF|X86_EFLAGS_FIXED)
popfq_cfi
jmp sysenter_flags_fixed

sysenter_tracesys:
#ifdef CONFIG_AUDITSYSCALL
testl $(_TIF_WORK_SYSCALL_ENTRY & ~_TIF_SYSCALL_AUDIT),TI_flags+THREAD_INFO(%rsp,RIP-ARGOFFSET)
Expand Down
5 changes: 3 additions & 2 deletions arch/x86/include/asm/elf.h
Original file line number Diff line number Diff line change
Expand Up @@ -155,8 +155,9 @@ do { \
#define elf_check_arch(x) \
((x)->e_machine == EM_X86_64)

#define compat_elf_check_arch(x) \
(elf_check_arch_ia32(x) || (x)->e_machine == EM_X86_64)
#define compat_elf_check_arch(x) \
(elf_check_arch_ia32(x) || \
(IS_ENABLED(CONFIG_X86_X32_ABI) && (x)->e_machine == EM_X86_64))

#if __USER32_DS != __USER_DS
# error "The following code assumes __USER32_DS == __USER_DS"
Expand Down
16 changes: 15 additions & 1 deletion arch/x86/include/asm/kvm_host.h
Original file line number Diff line number Diff line change
Expand Up @@ -953,6 +953,20 @@ static inline void kvm_inject_gp(struct kvm_vcpu *vcpu, u32 error_code)
kvm_queue_exception_e(vcpu, GP_VECTOR, error_code);
}

static inline u64 get_canonical(u64 la)
{
return ((int64_t)la << 16) >> 16;
}

static inline bool is_noncanonical_address(u64 la)
{
#ifdef CONFIG_X86_64
return get_canonical(la) != la;
#else
return false;
#endif
}

#define TSS_IOPB_BASE_OFFSET 0x66
#define TSS_BASE_SIZE 0x68
#define TSS_IOPB_SIZE (65536 / 8)
Expand Down Expand Up @@ -1011,7 +1025,7 @@ int kvm_cpu_get_interrupt(struct kvm_vcpu *v);
void kvm_vcpu_reset(struct kvm_vcpu *vcpu);

void kvm_define_shared_msr(unsigned index, u32 msr);
void kvm_set_shared_msr(unsigned index, u64 val, u64 mask);
int kvm_set_shared_msr(unsigned index, u64 val, u64 mask);

bool kvm_is_linear_rip(struct kvm_vcpu *vcpu, unsigned long linear_rip);

Expand Down
2 changes: 1 addition & 1 deletion arch/x86/include/uapi/asm/processor-flags.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
* EFLAGS bits
*/
#define X86_EFLAGS_CF 0x00000001 /* Carry Flag */
#define X86_EFLAGS_BIT1 0x00000002 /* Bit 1 - always on */
#define X86_EFLAGS_FIXED 0x00000002 /* Bit 1 - always on */
#define X86_EFLAGS_PF 0x00000004 /* Parity Flag */
#define X86_EFLAGS_AF 0x00000010 /* Auxiliary carry Flag */
#define X86_EFLAGS_ZF 0x00000040 /* Zero Flag */
Expand Down
4 changes: 2 additions & 2 deletions arch/x86/kernel/apic/apic.c
Original file line number Diff line number Diff line change
Expand Up @@ -1263,7 +1263,7 @@ void __cpuinit setup_local_APIC(void)
unsigned int value, queued;
int i, j, acked = 0;
unsigned long long tsc = 0, ntsc;
long long max_loops = cpu_khz;
long long max_loops = cpu_khz ? cpu_khz : 1000000;

if (cpu_has_tsc)
rdtscll(tsc);
Expand Down Expand Up @@ -1360,7 +1360,7 @@ void __cpuinit setup_local_APIC(void)
break;
}
if (queued) {
if (cpu_has_tsc) {
if (cpu_has_tsc && cpu_khz) {
rdtscll(ntsc);
max_loops = (cpu_khz << 10) - (ntsc - tsc);
} else
Expand Down
2 changes: 1 addition & 1 deletion arch/x86/kernel/cpu/common.c
Original file line number Diff line number Diff line change
Expand Up @@ -1134,7 +1134,7 @@ void syscall_init(void)
/* Flags to clear on syscall */
wrmsrl(MSR_SYSCALL_MASK,
X86_EFLAGS_TF|X86_EFLAGS_DF|X86_EFLAGS_IF|
X86_EFLAGS_IOPL|X86_EFLAGS_AC);
X86_EFLAGS_IOPL|X86_EFLAGS_AC|X86_EFLAGS_NT);
}

/*
Expand Down
2 changes: 1 addition & 1 deletion arch/x86/kernel/entry_64.S
Original file line number Diff line number Diff line change
Expand Up @@ -366,7 +366,7 @@ ENDPROC(native_usergs_sysret64)
/*CFI_REL_OFFSET ss,0*/
pushq_cfi %rax /* rsp */
CFI_REL_OFFSET rsp,0
pushq_cfi $(X86_EFLAGS_IF|X86_EFLAGS_BIT1) /* eflags - interrupts on */
pushq_cfi $(X86_EFLAGS_IF|X86_EFLAGS_FIXED) /* eflags - interrupts on */
/*CFI_REL_OFFSET rflags,0*/
pushq_cfi $__KERNEL_CS /* cs */
/*CFI_REL_OFFSET cs,0*/
Expand Down
2 changes: 1 addition & 1 deletion arch/x86/kernel/process_32.c
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ int copy_thread(unsigned long clone_flags, unsigned long sp,
childregs->bp = arg;
childregs->orig_ax = -1;
childregs->cs = __KERNEL_CS | get_kernel_rpl();
childregs->flags = X86_EFLAGS_IF | X86_EFLAGS_BIT1;
childregs->flags = X86_EFLAGS_IF | X86_EFLAGS_FIXED;
p->fpu_counter = 0;
p->thread.io_bitmap_ptr = NULL;
memset(p->thread.ptrace_bps, 0, sizeof(p->thread.ptrace_bps));
Expand Down
2 changes: 1 addition & 1 deletion arch/x86/kernel/process_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ int copy_thread(unsigned long clone_flags, unsigned long sp,
childregs->bp = arg;
childregs->orig_ax = -1;
childregs->cs = __KERNEL_CS | get_kernel_rpl();
childregs->flags = X86_EFLAGS_IF | X86_EFLAGS_BIT1;
childregs->flags = X86_EFLAGS_IF | X86_EFLAGS_FIXED;
return 0;
}
*childregs = *current_pt_regs();
Expand Down
5 changes: 5 additions & 0 deletions arch/x86/kernel/signal.c
Original file line number Diff line number Diff line change
Expand Up @@ -677,6 +677,11 @@ handle_signal(struct ksignal *ksig, struct pt_regs *regs)
* handler too.
*/
regs->flags &= ~X86_EFLAGS_TF;
/*
* Ensure the signal handler starts with the new fpu state.
*/
if (used_math())
drop_init_fpu(current);
}
signal_setup_done(failed, ksig, test_thread_flag(TIF_SINGLESTEP));
}
Expand Down
5 changes: 4 additions & 1 deletion arch/x86/kernel/tsc.c
Original file line number Diff line number Diff line change
Expand Up @@ -968,14 +968,17 @@ void __init tsc_init(void)

x86_init.timers.tsc_pre_init();

if (!cpu_has_tsc)
if (!cpu_has_tsc) {
setup_clear_cpu_cap(X86_FEATURE_TSC_DEADLINE_TIMER);
return;
}

tsc_khz = x86_platform.calibrate_tsc();
cpu_khz = tsc_khz;

if (!tsc_khz) {
mark_tsc_unstable("could not calculate TSC khz");
setup_clear_cpu_cap(X86_FEATURE_TSC_DEADLINE_TIMER);
return;
}

Expand Down
7 changes: 4 additions & 3 deletions arch/x86/kernel/xsave.c
Original file line number Diff line number Diff line change
Expand Up @@ -268,8 +268,6 @@ int save_xstate_sig(void __user *buf, void __user *buf_fx, int size)
if (use_fxsr() && save_xstate_epilog(buf_fx, ia32_fxstate))
return -1;

drop_init_fpu(tsk); /* trigger finit */

return 0;
}

Expand Down Expand Up @@ -400,8 +398,11 @@ int __restore_xstate_sig(void __user *buf, void __user *buf_fx, int size)
set_used_math();
}

if (use_eager_fpu())
if (use_eager_fpu()) {
preempt_disable();
math_state_restore();
preempt_enable();
}

return err;
} else {
Expand Down
Loading