Skip to content

Commit 4c940b3

Browse files
author
Alex Shi
committed
Merge remote-tracking branch 'lts/linux-4.4.y' into linux-linaro-lsk-v4.4
2 parents 91d95be + be90e26 commit 4c940b3

92 files changed

Lines changed: 819 additions & 390 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
VERSION = 4
22
PATCHLEVEL = 4
3-
SUBLEVEL = 66
3+
SUBLEVEL = 68
44
EXTRAVERSION =
55
NAME = Blurry Fish Butt
66

arch/arm/kernel/Makefile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,6 @@ obj-$(CONFIG_IWMMXT) += iwmmxt.o
7373
obj-$(CONFIG_PERF_EVENTS) += perf_regs.o perf_callchain.o
7474
obj-$(CONFIG_HW_PERF_EVENTS) += perf_event_xscale.o perf_event_v6.o \
7575
perf_event_v7.o
76-
CFLAGS_pj4-cp0.o := -marm
7776
AFLAGS_iwmmxt.o := -Wa,-mcpu=iwmmxt
7877
obj-$(CONFIG_ARM_CPU_TOPOLOGY) += topology.o
7978
obj-$(CONFIG_VDSO) += vdso.o

arch/arm/kernel/pj4-cp0.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,13 @@ static void __init pj4_cp_access_write(u32 value)
6666

6767
__asm__ __volatile__ (
6868
"mcr p15, 0, %1, c1, c0, 2\n\t"
69+
#ifdef CONFIG_THUMB2_KERNEL
70+
"isb\n\t"
71+
#else
6972
"mrc p15, 0, %0, c1, c0, 2\n\t"
7073
"mov %0, %0\n\t"
7174
"sub pc, pc, #4\n\t"
75+
#endif
7276
: "=r" (temp) : "r" (value));
7377
}
7478

arch/arm/mach-omap2/omap-headsmp.S

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
#include <linux/linkage.h>
1919
#include <linux/init.h>
20+
#include <asm/assembler.h>
2021

2122
#include "omap44xx.h"
2223

@@ -56,7 +57,7 @@ wait_2: ldr r2, =AUX_CORE_BOOT0_PA @ read from AuxCoreBoot0
5657
cmp r0, r4
5758
bne wait_2
5859
ldr r12, =API_HYP_ENTRY
59-
adr r0, hyp_boot
60+
badr r0, hyp_boot
6061
smc #0
6162
hyp_boot:
6263
b secondary_startup

arch/arm64/net/bpf_jit_comp.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -728,14 +728,14 @@ static int build_body(struct jit_ctx *ctx)
728728
int ret;
729729

730730
ret = build_insn(insn, ctx);
731-
732-
if (ctx->image == NULL)
733-
ctx->offset[i] = ctx->idx;
734-
735731
if (ret > 0) {
736732
i++;
733+
if (ctx->image == NULL)
734+
ctx->offset[i] = ctx->idx;
737735
continue;
738736
}
737+
if (ctx->image == NULL)
738+
ctx->offset[i] = ctx->idx;
739739
if (ret)
740740
return ret;
741741
}

arch/mips/kernel/mips-r2-to-r6-emul.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -434,8 +434,8 @@ static int multu_func(struct pt_regs *regs, u32 ir)
434434
rs = regs->regs[MIPSInst_RS(ir)];
435435
res = (u64)rt * (u64)rs;
436436
rt = res;
437-
regs->lo = (s64)rt;
438-
regs->hi = (s64)(res >> 32);
437+
regs->lo = (s64)(s32)rt;
438+
regs->hi = (s64)(s32)(res >> 32);
439439

440440
MIPS_R2_STATS(muls);
441441

@@ -671,9 +671,9 @@ static int maddu_func(struct pt_regs *regs, u32 ir)
671671
res += ((((s64)rt) << 32) | (u32)rs);
672672

673673
rt = res;
674-
regs->lo = (s64)rt;
674+
regs->lo = (s64)(s32)rt;
675675
rs = res >> 32;
676-
regs->hi = (s64)rs;
676+
regs->hi = (s64)(s32)rs;
677677

678678
MIPS_R2_STATS(dsps);
679679

@@ -729,9 +729,9 @@ static int msubu_func(struct pt_regs *regs, u32 ir)
729729
res = ((((s64)rt) << 32) | (u32)rs) - res;
730730

731731
rt = res;
732-
regs->lo = (s64)rt;
732+
regs->lo = (s64)(s32)rt;
733733
rs = res >> 32;
734-
regs->hi = (s64)rs;
734+
regs->hi = (s64)(s32)rs;
735735

736736
MIPS_R2_STATS(dsps);
737737

arch/powerpc/platforms/powernv/opal-wrappers.S

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ opal_tracepoint_entry:
148148
opal_tracepoint_return:
149149
std r3,STK_REG(R31)(r1)
150150
mr r4,r3
151-
ld r0,STK_REG(R23)(r1)
151+
ld r3,STK_REG(R23)(r1)
152152
bl __trace_opal_exit
153153
ld r3,STK_REG(R31)(r1)
154154
addi r1,r1,STACKFRAMESIZE

arch/x86/kernel/apic/io_apic.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1875,6 +1875,7 @@ static struct irq_chip ioapic_chip __read_mostly = {
18751875
.irq_ack = irq_chip_ack_parent,
18761876
.irq_eoi = ioapic_ack_level,
18771877
.irq_set_affinity = ioapic_set_affinity,
1878+
.irq_retrigger = irq_chip_retrigger_hierarchy,
18781879
.flags = IRQCHIP_SKIP_SET_WAKE,
18791880
};
18801881

@@ -1886,6 +1887,7 @@ static struct irq_chip ioapic_ir_chip __read_mostly = {
18861887
.irq_ack = irq_chip_ack_parent,
18871888
.irq_eoi = ioapic_ir_ack_level,
18881889
.irq_set_affinity = ioapic_set_affinity,
1890+
.irq_retrigger = irq_chip_retrigger_hierarchy,
18891891
.flags = IRQCHIP_SKIP_SET_WAKE,
18901892
};
18911893

arch/x86/kernel/kprobes/common.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
#endif
6868

6969
/* Ensure if the instruction can be boostable */
70-
extern int can_boost(kprobe_opcode_t *instruction);
70+
extern int can_boost(kprobe_opcode_t *instruction, void *addr);
7171
/* Recover instruction if given address is probed */
7272
extern unsigned long recover_probed_instruction(kprobe_opcode_t *buf,
7373
unsigned long addr);

arch/x86/kernel/kprobes/core.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -163,12 +163,12 @@ NOKPROBE_SYMBOL(skip_prefixes);
163163
* Returns non-zero if opcode is boostable.
164164
* RIP relative instructions are adjusted at copying time in 64 bits mode
165165
*/
166-
int can_boost(kprobe_opcode_t *opcodes)
166+
int can_boost(kprobe_opcode_t *opcodes, void *addr)
167167
{
168168
kprobe_opcode_t opcode;
169169
kprobe_opcode_t *orig_opcodes = opcodes;
170170

171-
if (search_exception_tables((unsigned long)opcodes))
171+
if (search_exception_tables((unsigned long)addr))
172172
return 0; /* Page fault may occur on this address. */
173173

174174
retry:
@@ -413,7 +413,7 @@ static int arch_copy_kprobe(struct kprobe *p)
413413
* __copy_instruction can modify the displacement of the instruction,
414414
* but it doesn't affect boostable check.
415415
*/
416-
if (can_boost(p->ainsn.insn))
416+
if (can_boost(p->ainsn.insn, p->addr))
417417
p->ainsn.boostable = 0;
418418
else
419419
p->ainsn.boostable = -1;

0 commit comments

Comments
 (0)