Skip to content

Commit 06715b9

Browse files
committed
Merge remote-tracking branch 'stable/linux-5.7.y' into v5.7+
2 parents 053a9ea + 09fd4bc commit 06715b9

224 files changed

Lines changed: 1283 additions & 636 deletions

File tree

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: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# SPDX-License-Identifier: GPL-2.0
22
VERSION = 5
33
PATCHLEVEL = 7
4-
SUBLEVEL = 10
4+
SUBLEVEL = 11
55
EXTRAVERSION =
66
NAME = Kleptomaniac Octopus
77

@@ -549,7 +549,7 @@ ifneq ($(shell $(CC) --version 2>&1 | head -n 1 | grep clang),)
549549
ifneq ($(CROSS_COMPILE),)
550550
CLANG_FLAGS += --target=$(notdir $(CROSS_COMPILE:%-=%))
551551
GCC_TOOLCHAIN_DIR := $(dir $(shell which $(CROSS_COMPILE)elfedit))
552-
CLANG_FLAGS += --prefix=$(GCC_TOOLCHAIN_DIR)
552+
CLANG_FLAGS += --prefix=$(GCC_TOOLCHAIN_DIR)$(notdir $(CROSS_COMPILE))
553553
GCC_TOOLCHAIN := $(realpath $(GCC_TOOLCHAIN_DIR)/..)
554554
endif
555555
ifneq ($(GCC_TOOLCHAIN),)
@@ -1727,7 +1727,7 @@ PHONY += descend $(build-dirs)
17271727
descend: $(build-dirs)
17281728
$(build-dirs): prepare
17291729
$(Q)$(MAKE) $(build)=$@ \
1730-
single-build=$(if $(filter-out $@/, $(filter $@/%, $(single-no-ko))),1) \
1730+
single-build=$(if $(filter-out $@/, $(filter $@/%, $(KBUILD_SINGLE_TARGETS))),1) \
17311731
need-builtin=1 need-modorder=1
17321732

17331733
clean-dirs := $(addprefix _clean_, $(clean-dirs))

arch/arm/boot/dts/omap3-n900.dts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,14 @@
105105
linux,code = <SW_FRONT_PROXIMITY>;
106106
linux,can-disable;
107107
};
108+
109+
machine_cover {
110+
label = "Machine Cover";
111+
gpios = <&gpio6 0 GPIO_ACTIVE_LOW>; /* 160 */
112+
linux,input-type = <EV_SW>;
113+
linux,code = <SW_MACHINE_COVER>;
114+
linux,can-disable;
115+
};
108116
};
109117

110118
isp1707: isp1707 {
@@ -819,10 +827,6 @@
819827
pinctrl-0 = <&mmc1_pins>;
820828
vmmc-supply = <&vmmc1>;
821829
bus-width = <4>;
822-
/* For debugging, it is often good idea to remove this GPIO.
823-
It means you can remove back cover (to reboot by removing
824-
battery) and still use the MMC card. */
825-
cd-gpios = <&gpio6 0 GPIO_ACTIVE_LOW>; /* 160 */
826830
};
827831

828832
/* most boards use vaux3, only some old versions use vmmc2 instead */

arch/arm64/boot/dts/marvell/armada-8040-clearfog-gt-8k.dts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -454,10 +454,7 @@
454454
status = "okay";
455455
phy-mode = "2500base-x";
456456
phys = <&cp1_comphy5 2>;
457-
fixed-link {
458-
speed = <2500>;
459-
full-duplex;
460-
};
457+
managed = "in-band-status";
461458
};
462459

463460
&cp1_spi1 {

arch/arm64/kernel/debug-monitors.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -396,14 +396,14 @@ void user_rewind_single_step(struct task_struct *task)
396396
* If single step is active for this thread, then set SPSR.SS
397397
* to 1 to avoid returning to the active-pending state.
398398
*/
399-
if (test_ti_thread_flag(task_thread_info(task), TIF_SINGLESTEP))
399+
if (test_tsk_thread_flag(task, TIF_SINGLESTEP))
400400
set_regs_spsr_ss(task_pt_regs(task));
401401
}
402402
NOKPROBE_SYMBOL(user_rewind_single_step);
403403

404404
void user_fastforward_single_step(struct task_struct *task)
405405
{
406-
if (test_ti_thread_flag(task_thread_info(task), TIF_SINGLESTEP))
406+
if (test_tsk_thread_flag(task, TIF_SINGLESTEP))
407407
clear_regs_spsr_ss(task_pt_regs(task));
408408
}
409409

arch/arm64/kernel/vdso32/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ COMPAT_GCC_TOOLCHAIN_DIR := $(dir $(shell which $(CROSS_COMPILE_COMPAT)elfedit))
1414
COMPAT_GCC_TOOLCHAIN := $(realpath $(COMPAT_GCC_TOOLCHAIN_DIR)/..)
1515

1616
CC_COMPAT_CLANG_FLAGS := --target=$(notdir $(CROSS_COMPILE_COMPAT:%-=%))
17-
CC_COMPAT_CLANG_FLAGS += --prefix=$(COMPAT_GCC_TOOLCHAIN_DIR)
17+
CC_COMPAT_CLANG_FLAGS += --prefix=$(COMPAT_GCC_TOOLCHAIN_DIR)$(notdir $(CROSS_COMPILE_COMPAT))
1818
CC_COMPAT_CLANG_FLAGS += -no-integrated-as -Qunused-arguments
1919
ifneq ($(COMPAT_GCC_TOOLCHAIN),)
2020
CC_COMPAT_CLANG_FLAGS += --gcc-toolchain=$(COMPAT_GCC_TOOLCHAIN)

arch/mips/pci/pci-xtalk-bridge.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -627,9 +627,10 @@ static int bridge_probe(struct platform_device *pdev)
627627
return -ENOMEM;
628628
domain = irq_domain_create_hierarchy(parent, 0, 8, fn,
629629
&bridge_domain_ops, NULL);
630-
irq_domain_free_fwnode(fn);
631-
if (!domain)
630+
if (!domain) {
631+
irq_domain_free_fwnode(fn);
632632
return -ENOMEM;
633+
}
633634

634635
pci_set_flags(PCI_PROBE_ONLY);
635636

arch/parisc/include/asm/atomic.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,8 @@ atomic64_set(atomic64_t *v, s64 i)
212212
_atomic_spin_unlock_irqrestore(v, flags);
213213
}
214214

215+
#define atomic64_set_release(v, i) atomic64_set((v), (i))
216+
215217
static __inline__ s64
216218
atomic64_read(const atomic64_t *v)
217219
{

arch/riscv/include/asm/barrier.h

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,16 @@ do { \
5858
* The AQ/RL pair provides a RCpc critical section, but there's not really any
5959
* way we can take advantage of that here because the ordering is only enforced
6060
* on that one lock. Thus, we're just doing a full fence.
61+
*
62+
* Since we allow writeX to be called from preemptive regions we need at least
63+
* an "o" in the predecessor set to ensure device writes are visible before the
64+
* task is marked as available for scheduling on a new hart. While I don't see
65+
* any concrete reason we need a full IO fence, it seems safer to just upgrade
66+
* this in order to avoid any IO crossing a scheduling boundary. In both
67+
* instances the scheduler pairs this with an mb(), so nothing is necessary on
68+
* the new hart.
6169
*/
62-
#define smp_mb__after_spinlock() RISCV_FENCE(rw,rw)
70+
#define smp_mb__after_spinlock() RISCV_FENCE(iorw,iorw)
6371

6472
#include <asm-generic/barrier.h>
6573

arch/riscv/mm/init.c

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -94,19 +94,40 @@ void __init mem_init(void)
9494
#ifdef CONFIG_BLK_DEV_INITRD
9595
static void __init setup_initrd(void)
9696
{
97+
phys_addr_t start;
9798
unsigned long size;
9899

99-
if (initrd_start >= initrd_end) {
100-
pr_info("initrd not found or empty");
100+
/* Ignore the virtul address computed during device tree parsing */
101+
initrd_start = initrd_end = 0;
102+
103+
if (!phys_initrd_size)
104+
return;
105+
/*
106+
* Round the memory region to page boundaries as per free_initrd_mem()
107+
* This allows us to detect whether the pages overlapping the initrd
108+
* are in use, but more importantly, reserves the entire set of pages
109+
* as we don't want these pages allocated for other purposes.
110+
*/
111+
start = round_down(phys_initrd_start, PAGE_SIZE);
112+
size = phys_initrd_size + (phys_initrd_start - start);
113+
size = round_up(size, PAGE_SIZE);
114+
115+
if (!memblock_is_region_memory(start, size)) {
116+
pr_err("INITRD: 0x%08llx+0x%08lx is not a memory region",
117+
(u64)start, size);
101118
goto disable;
102119
}
103-
if (__pa_symbol(initrd_end) > PFN_PHYS(max_low_pfn)) {
104-
pr_err("initrd extends beyond end of memory");
120+
121+
if (memblock_is_region_reserved(start, size)) {
122+
pr_err("INITRD: 0x%08llx+0x%08lx overlaps in-use memory region\n",
123+
(u64)start, size);
105124
goto disable;
106125
}
107126

108-
size = initrd_end - initrd_start;
109-
memblock_reserve(__pa_symbol(initrd_start), size);
127+
memblock_reserve(start, size);
128+
/* Now convert initrd to virtual addresses */
129+
initrd_start = (unsigned long)__va(phys_initrd_start);
130+
initrd_end = initrd_start + phys_initrd_size;
110131
initrd_below_start_ok = 1;
111132

112133
pr_info("Initial ramdisk at: 0x%p (%lu bytes)\n",

arch/s390/kernel/perf_cpum_cf_events.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@ CPUMF_EVENT_ATTR(cf_z15, TX_C_TABORT_SPECIAL, 0x00f5);
292292
CPUMF_EVENT_ATTR(cf_z15, DFLT_ACCESS, 0x00f7);
293293
CPUMF_EVENT_ATTR(cf_z15, DFLT_CYCLES, 0x00fc);
294294
CPUMF_EVENT_ATTR(cf_z15, DFLT_CC, 0x00108);
295-
CPUMF_EVENT_ATTR(cf_z15, DFLT_CCERROR, 0x00109);
295+
CPUMF_EVENT_ATTR(cf_z15, DFLT_CCFINISH, 0x00109);
296296
CPUMF_EVENT_ATTR(cf_z15, MT_DIAG_CYCLES_ONE_THR_ACTIVE, 0x01c0);
297297
CPUMF_EVENT_ATTR(cf_z15, MT_DIAG_CYCLES_TWO_THR_ACTIVE, 0x01c1);
298298

@@ -629,7 +629,7 @@ static struct attribute *cpumcf_z15_pmu_event_attr[] __initdata = {
629629
CPUMF_EVENT_PTR(cf_z15, DFLT_ACCESS),
630630
CPUMF_EVENT_PTR(cf_z15, DFLT_CYCLES),
631631
CPUMF_EVENT_PTR(cf_z15, DFLT_CC),
632-
CPUMF_EVENT_PTR(cf_z15, DFLT_CCERROR),
632+
CPUMF_EVENT_PTR(cf_z15, DFLT_CCFINISH),
633633
CPUMF_EVENT_PTR(cf_z15, MT_DIAG_CYCLES_ONE_THR_ACTIVE),
634634
CPUMF_EVENT_PTR(cf_z15, MT_DIAG_CYCLES_TWO_THR_ACTIVE),
635635
NULL,

0 commit comments

Comments
 (0)