Skip to content

Commit fba961a

Browse files
committed
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Lots of overlapping changes. Also on the net-next side the XDP state management is handled more in the generic layers so undo the 'net' nfp fix which isn't applicable in net-next. Include a necessary change by Jakub Kicinski, with log message: ==================== cls_bpf no longer takes care of offload tracking. Make sure netdevsim performs necessary checks. This fixes a warning caused by TC trying to remove a filter it has not added. Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com> Reviewed-by: Quentin Monnet <quentin.monnet@netronome.com> ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
2 parents 0a80f0c + ead68f2 commit fba961a

File tree

202 files changed

+2851
-1137
lines changed

Some content is hidden

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

202 files changed

+2851
-1137
lines changed

Documentation/devicetree/bindings/mtd/jedec,spi-nor.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ Required properties:
1313
at25df321a
1414
at25df641
1515
at26df081a
16-
en25s64
1716
mr25h128
1817
mr25h256
1918
mr25h10
@@ -33,7 +32,6 @@ Required properties:
3332
s25fl008k
3433
s25fl064k
3534
sst25vf040b
36-
sst25wf040b
3735
m25p40
3836
m25p80
3937
m25p16

Documentation/devicetree/bindings/spi/fsl-imx-cspi.txt

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,24 +12,30 @@ Required properties:
1212
- "fsl,imx53-ecspi" for SPI compatible with the one integrated on i.MX53 and later Soc
1313
- reg : Offset and length of the register set for the device
1414
- interrupts : Should contain CSPI/eCSPI interrupt
15-
- cs-gpios : Specifies the gpio pins to be used for chipselects.
1615
- clocks : Clock specifiers for both ipg and per clocks.
1716
- clock-names : Clock names should include both "ipg" and "per"
1817
See the clock consumer binding,
1918
Documentation/devicetree/bindings/clock/clock-bindings.txt
20-
- dmas: DMA specifiers for tx and rx dma. See the DMA client binding,
21-
Documentation/devicetree/bindings/dma/dma.txt
22-
- dma-names: DMA request names should include "tx" and "rx" if present.
2319

24-
Obsolete properties:
25-
- fsl,spi-num-chipselects : Contains the number of the chipselect
20+
Recommended properties:
21+
- cs-gpios : GPIOs to use as chip selects, see spi-bus.txt. While the native chip
22+
select lines can be used, they appear to always generate a pulse between each
23+
word of a transfer. Most use cases will require GPIO based chip selects to
24+
generate a valid transaction.
2625

2726
Optional properties:
27+
- num-cs : Number of total chip selects, see spi-bus.txt.
28+
- dmas: DMA specifiers for tx and rx dma. See the DMA client binding,
29+
Documentation/devicetree/bindings/dma/dma.txt.
30+
- dma-names: DMA request names, if present, should include "tx" and "rx".
2831
- fsl,spi-rdy-drctl: Integer, representing the value of DRCTL, the register
2932
controlling the SPI_READY handling. Note that to enable the DRCTL consideration,
3033
the SPI_READY mode-flag needs to be set too.
3134
Valid values are: 0 (disabled), 1 (edge-triggered burst) and 2 (level-triggered burst).
3235

36+
Obsolete properties:
37+
- fsl,spi-num-chipselects : Contains the number of the chipselect
38+
3339
Example:
3440

3541
ecspi@70010000 {

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
VERSION = 4
33
PATCHLEVEL = 15
44
SUBLEVEL = 0
5-
EXTRAVERSION = -rc3
5+
EXTRAVERSION = -rc4
66
NAME = Fearless Coyote
77

88
# *DOCUMENTATION*

arch/arm/lib/csumpartialcopyuser.S

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,11 @@
8585
.pushsection .text.fixup,"ax"
8686
.align 4
8787
9001: mov r4, #-EFAULT
88+
#ifdef CONFIG_CPU_SW_DOMAIN_PAN
89+
ldr r5, [sp, #9*4] @ *err_ptr
90+
#else
8891
ldr r5, [sp, #8*4] @ *err_ptr
92+
#endif
8993
str r4, [r5]
9094
ldmia sp, {r1, r2} @ retrieve dst, len
9195
add r2, r2, r1

arch/arm64/kvm/hyp/debug-sr.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,9 @@ static void __hyp_text __debug_save_spe_nvhe(u64 *pmscr_el1)
7474
{
7575
u64 reg;
7676

77+
/* Clear pmscr in case of early return */
78+
*pmscr_el1 = 0;
79+
7780
/* SPE present on this CPU? */
7881
if (!cpuid_feature_extract_unsigned_field(read_sysreg(id_aa64dfr0_el1),
7982
ID_AA64DFR0_PMSVER_SHIFT))

arch/parisc/boot/compressed/misc.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,8 @@ int puts(const char *s)
123123
while ((nuline = strchr(s, '\n')) != NULL) {
124124
if (nuline != s)
125125
pdc_iodc_print(s, nuline - s);
126-
pdc_iodc_print("\r\n", 2);
127-
s = nuline + 1;
126+
pdc_iodc_print("\r\n", 2);
127+
s = nuline + 1;
128128
}
129129
if (*s != '\0')
130130
pdc_iodc_print(s, strlen(s));

arch/parisc/include/asm/thread_info.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,12 @@ struct thread_info {
3535

3636
/* thread information allocation */
3737

38+
#ifdef CONFIG_IRQSTACKS
39+
#define THREAD_SIZE_ORDER 2 /* PA-RISC requires at least 16k stack */
40+
#else
3841
#define THREAD_SIZE_ORDER 3 /* PA-RISC requires at least 32k stack */
42+
#endif
43+
3944
/* Be sure to hunt all references to this down when you change the size of
4045
* the kernel stack */
4146
#define THREAD_SIZE (PAGE_SIZE << THREAD_SIZE_ORDER)

arch/parisc/kernel/entry.S

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -878,9 +878,6 @@ ENTRY_CFI(syscall_exit_rfi)
878878
STREG %r19,PT_SR7(%r16)
879879

880880
intr_return:
881-
/* NOTE: Need to enable interrupts incase we schedule. */
882-
ssm PSW_SM_I, %r0
883-
884881
/* check for reschedule */
885882
mfctl %cr30,%r1
886883
LDREG TI_FLAGS(%r1),%r19 /* sched.h: TIF_NEED_RESCHED */
@@ -907,6 +904,11 @@ intr_check_sig:
907904
LDREG PT_IASQ1(%r16), %r20
908905
cmpib,COND(=),n 0,%r20,intr_restore /* backward */
909906

907+
/* NOTE: We need to enable interrupts if we have to deliver
908+
* signals. We used to do this earlier but it caused kernel
909+
* stack overflows. */
910+
ssm PSW_SM_I, %r0
911+
910912
copy %r0, %r25 /* long in_syscall = 0 */
911913
#ifdef CONFIG_64BIT
912914
ldo -16(%r30),%r29 /* Reference param save area */
@@ -958,6 +960,10 @@ intr_do_resched:
958960
cmpib,COND(=) 0, %r20, intr_do_preempt
959961
nop
960962

963+
/* NOTE: We need to enable interrupts if we schedule. We used
964+
* to do this earlier but it caused kernel stack overflows. */
965+
ssm PSW_SM_I, %r0
966+
961967
#ifdef CONFIG_64BIT
962968
ldo -16(%r30),%r29 /* Reference param save area */
963969
#endif

arch/parisc/kernel/hpmc.S

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,7 @@ ENDPROC_CFI(os_hpmc)
305305

306306

307307
__INITRODATA
308+
.align 4
308309
.export os_hpmc_size
309310
os_hpmc_size:
310311
.word .os_hpmc_end-.os_hpmc

arch/parisc/kernel/unwind.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
#include <linux/slab.h>
1616
#include <linux/kallsyms.h>
1717
#include <linux/sort.h>
18-
#include <linux/sched.h>
1918

2019
#include <linux/uaccess.h>
2120
#include <asm/assembly.h>

arch/parisc/lib/delay.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,7 @@
1616
#include <linux/preempt.h>
1717
#include <linux/init.h>
1818

19-
#include <asm/processor.h>
2019
#include <asm/delay.h>
21-
2220
#include <asm/special_insns.h> /* for mfctl() */
2321
#include <asm/processor.h> /* for boot_cpu_data */
2422

arch/powerpc/net/bpf_jit_comp64.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -763,7 +763,8 @@ static int bpf_jit_build_body(struct bpf_prog *fp, u32 *image,
763763
func = (u8 *) __bpf_call_base + imm;
764764

765765
/* Save skb pointer if we need to re-cache skb data */
766-
if (bpf_helper_changes_pkt_data(func))
766+
if ((ctx->seen & SEEN_SKB) &&
767+
bpf_helper_changes_pkt_data(func))
767768
PPC_BPF_STL(3, 1, bpf_jit_stack_local(ctx));
768769

769770
bpf_jit_emit_func_call(image, ctx, (u64)func);
@@ -772,7 +773,8 @@ static int bpf_jit_build_body(struct bpf_prog *fp, u32 *image,
772773
PPC_MR(b2p[BPF_REG_0], 3);
773774

774775
/* refresh skb cache */
775-
if (bpf_helper_changes_pkt_data(func)) {
776+
if ((ctx->seen & SEEN_SKB) &&
777+
bpf_helper_changes_pkt_data(func)) {
776778
/* reload skb pointer to r3 */
777779
PPC_BPF_LL(3, 1, bpf_jit_stack_local(ctx));
778780
bpf_jit_emit_skb_loads(image, ctx);

arch/s390/net/bpf_jit_comp.c

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,7 @@ struct bpf_jit {
5555
#define SEEN_LITERAL 8 /* code uses literals */
5656
#define SEEN_FUNC 16 /* calls C functions */
5757
#define SEEN_TAIL_CALL 32 /* code uses tail calls */
58-
#define SEEN_SKB_CHANGE 64 /* code changes skb data */
59-
#define SEEN_REG_AX 128 /* code uses constant blinding */
58+
#define SEEN_REG_AX 64 /* code uses constant blinding */
6059
#define SEEN_STACK (SEEN_FUNC | SEEN_MEM | SEEN_SKB)
6160

6261
/*
@@ -448,12 +447,12 @@ static void bpf_jit_prologue(struct bpf_jit *jit, u32 stack_depth)
448447
EMIT6_DISP_LH(0xe3000000, 0x0024, REG_W1, REG_0,
449448
REG_15, 152);
450449
}
451-
if (jit->seen & SEEN_SKB)
450+
if (jit->seen & SEEN_SKB) {
452451
emit_load_skb_data_hlen(jit);
453-
if (jit->seen & SEEN_SKB_CHANGE)
454452
/* stg %b1,ST_OFF_SKBP(%r0,%r15) */
455453
EMIT6_DISP_LH(0xe3000000, 0x0024, BPF_REG_1, REG_0, REG_15,
456454
STK_OFF_SKBP);
455+
}
457456
}
458457

459458
/*
@@ -983,8 +982,8 @@ static noinline int bpf_jit_insn(struct bpf_jit *jit, struct bpf_prog *fp, int i
983982
EMIT2(0x0d00, REG_14, REG_W1);
984983
/* lgr %b0,%r2: load return value into %b0 */
985984
EMIT4(0xb9040000, BPF_REG_0, REG_2);
986-
if (bpf_helper_changes_pkt_data((void *)func)) {
987-
jit->seen |= SEEN_SKB_CHANGE;
985+
if ((jit->seen & SEEN_SKB) &&
986+
bpf_helper_changes_pkt_data((void *)func)) {
988987
/* lg %b1,ST_OFF_SKBP(%r15) */
989988
EMIT6_DISP_LH(0xe3000000, 0x0004, BPF_REG_1, REG_0,
990989
REG_15, STK_OFF_SKBP);

arch/sparc/mm/fault_32.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ show_signal_msg(struct pt_regs *regs, int sig, int code,
113113
if (!printk_ratelimit())
114114
return;
115115

116-
printk("%s%s[%d]: segfault at %lx ip %p (rpc %p) sp %p error %x",
116+
printk("%s%s[%d]: segfault at %lx ip %px (rpc %px) sp %px error %x",
117117
task_pid_nr(tsk) > 1 ? KERN_INFO : KERN_EMERG,
118118
tsk->comm, task_pid_nr(tsk), address,
119119
(void *)regs->pc, (void *)regs->u_regs[UREG_I7],

arch/sparc/mm/fault_64.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ show_signal_msg(struct pt_regs *regs, int sig, int code,
154154
if (!printk_ratelimit())
155155
return;
156156

157-
printk("%s%s[%d]: segfault at %lx ip %p (rpc %p) sp %p error %x",
157+
printk("%s%s[%d]: segfault at %lx ip %px (rpc %px) sp %px error %x",
158158
task_pid_nr(tsk) > 1 ? KERN_INFO : KERN_EMERG,
159159
tsk->comm, task_pid_nr(tsk), address,
160160
(void *)regs->tpc, (void *)regs->u_regs[UREG_I7],

arch/sparc/net/bpf_jit_comp_64.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1245,14 +1245,16 @@ static int build_insn(const struct bpf_insn *insn, struct jit_ctx *ctx)
12451245
u8 *func = ((u8 *)__bpf_call_base) + imm;
12461246

12471247
ctx->saw_call = true;
1248+
if (ctx->saw_ld_abs_ind && bpf_helper_changes_pkt_data(func))
1249+
emit_reg_move(bpf2sparc[BPF_REG_1], L7, ctx);
12481250

12491251
emit_call((u32 *)func, ctx);
12501252
emit_nop(ctx);
12511253

12521254
emit_reg_move(O0, bpf2sparc[BPF_REG_0], ctx);
12531255

1254-
if (bpf_helper_changes_pkt_data(func) && ctx->saw_ld_abs_ind)
1255-
load_skb_regs(ctx, bpf2sparc[BPF_REG_6]);
1256+
if (ctx->saw_ld_abs_ind && bpf_helper_changes_pkt_data(func))
1257+
load_skb_regs(ctx, L7);
12561258
break;
12571259
}
12581260

arch/um/kernel/trap.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ static void show_segv_info(struct uml_pt_regs *regs)
150150
if (!printk_ratelimit())
151151
return;
152152

153-
printk("%s%s[%d]: segfault at %lx ip %p sp %p error %x",
153+
printk("%s%s[%d]: segfault at %lx ip %px sp %px error %x",
154154
task_pid_nr(tsk) > 1 ? KERN_INFO : KERN_EMERG,
155155
tsk->comm, task_pid_nr(tsk), FAULT_ADDRESS(*fi),
156156
(void *)UPT_IP(regs), (void *)UPT_SP(regs),

arch/x86/entry/entry_32.S

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -941,7 +941,8 @@ ENTRY(debug)
941941
movl %esp, %eax # pt_regs pointer
942942

943943
/* Are we currently on the SYSENTER stack? */
944-
PER_CPU(cpu_tss + CPU_TSS_SYSENTER_stack + SIZEOF_SYSENTER_stack, %ecx)
944+
movl PER_CPU_VAR(cpu_entry_area), %ecx
945+
addl $CPU_ENTRY_AREA_SYSENTER_stack + SIZEOF_SYSENTER_stack, %ecx
945946
subl %eax, %ecx /* ecx = (end of SYSENTER_stack) - esp */
946947
cmpl $SIZEOF_SYSENTER_stack, %ecx
947948
jb .Ldebug_from_sysenter_stack
@@ -984,7 +985,8 @@ ENTRY(nmi)
984985
movl %esp, %eax # pt_regs pointer
985986

986987
/* Are we currently on the SYSENTER stack? */
987-
PER_CPU(cpu_tss + CPU_TSS_SYSENTER_stack + SIZEOF_SYSENTER_stack, %ecx)
988+
movl PER_CPU_VAR(cpu_entry_area), %ecx
989+
addl $CPU_ENTRY_AREA_SYSENTER_stack + SIZEOF_SYSENTER_stack, %ecx
988990
subl %eax, %ecx /* ecx = (end of SYSENTER_stack) - esp */
989991
cmpl $SIZEOF_SYSENTER_stack, %ecx
990992
jb .Lnmi_from_sysenter_stack

0 commit comments

Comments
 (0)