Skip to content

Commit c121e64

Browse files
authored
Merge pull request torvalds#194 from zandrey/5.4.x+fslc
Update 5.4.x+fslc to v5.4.84
2 parents 77339af + 4accf2e commit c121e64

File tree

44 files changed

+269
-192
lines changed

Some content is hidden

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

44 files changed

+269
-192
lines changed

Makefile

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# SPDX-License-Identifier: GPL-2.0
22
VERSION = 5
33
PATCHLEVEL = 4
4-
SUBLEVEL = 83
4+
SUBLEVEL = 84
55
EXTRAVERSION =
66
NAME = Kleptomaniac Octopus
77

@@ -802,8 +802,11 @@ DEBUG_CFLAGS += -gsplit-dwarf
802802
else
803803
DEBUG_CFLAGS += -g
804804
endif
805+
ifneq ($(LLVM_IAS),1)
805806
KBUILD_AFLAGS += -Wa,-gdwarf-2
806807
endif
808+
endif
809+
807810
ifdef CONFIG_DEBUG_INFO_DWARF4
808811
DEBUG_CFLAGS += -gdwarf-4
809812
endif

arch/arc/kernel/stacktrace.c

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,15 @@
3838

3939
#ifdef CONFIG_ARC_DW2_UNWIND
4040

41-
static void seed_unwind_frame_info(struct task_struct *tsk,
42-
struct pt_regs *regs,
43-
struct unwind_frame_info *frame_info)
41+
static int
42+
seed_unwind_frame_info(struct task_struct *tsk, struct pt_regs *regs,
43+
struct unwind_frame_info *frame_info)
4444
{
4545
/*
4646
* synchronous unwinding (e.g. dump_stack)
4747
* - uses current values of SP and friends
4848
*/
49-
if (tsk == NULL && regs == NULL) {
49+
if (regs == NULL && (tsk == NULL || tsk == current)) {
5050
unsigned long fp, sp, blink, ret;
5151
frame_info->task = current;
5252

@@ -65,11 +65,15 @@ static void seed_unwind_frame_info(struct task_struct *tsk,
6565
frame_info->call_frame = 0;
6666
} else if (regs == NULL) {
6767
/*
68-
* Asynchronous unwinding of sleeping task
69-
* - Gets SP etc from task's pt_regs (saved bottom of kernel
70-
* mode stack of task)
68+
* Asynchronous unwinding of a likely sleeping task
69+
* - first ensure it is actually sleeping
70+
* - if so, it will be in __switch_to, kernel mode SP of task
71+
* is safe-kept and BLINK at a well known location in there
7172
*/
7273

74+
if (tsk->state == TASK_RUNNING)
75+
return -1;
76+
7377
frame_info->task = tsk;
7478

7579
frame_info->regs.r27 = TSK_K_FP(tsk);
@@ -103,6 +107,8 @@ static void seed_unwind_frame_info(struct task_struct *tsk,
103107
frame_info->regs.r63 = regs->ret;
104108
frame_info->call_frame = 0;
105109
}
110+
111+
return 0;
106112
}
107113

108114
#endif
@@ -116,7 +122,8 @@ arc_unwind_core(struct task_struct *tsk, struct pt_regs *regs,
116122
unsigned int address;
117123
struct unwind_frame_info frame_info;
118124

119-
seed_unwind_frame_info(tsk, regs, &frame_info);
125+
if (seed_unwind_frame_info(tsk, regs, &frame_info))
126+
return 0;
120127

121128
while (1) {
122129
address = UNW_PC(&frame_info);

arch/arm64/boot/dts/broadcom/stingray/stingray-usb.dtsi

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,20 @@
55
usb {
66
compatible = "simple-bus";
77
dma-ranges;
8-
#address-cells = <1>;
9-
#size-cells = <1>;
10-
ranges = <0x0 0x0 0x68500000 0x00400000>;
8+
#address-cells = <2>;
9+
#size-cells = <2>;
10+
ranges = <0x0 0x0 0x0 0x68500000 0x0 0x00400000>;
1111

1212
usbphy0: usb-phy@0 {
1313
compatible = "brcm,sr-usb-combo-phy";
14-
reg = <0x00000000 0x100>;
14+
reg = <0x0 0x00000000 0x0 0x100>;
1515
#phy-cells = <1>;
1616
status = "disabled";
1717
};
1818

1919
xhci0: usb@1000 {
2020
compatible = "generic-xhci";
21-
reg = <0x00001000 0x1000>;
21+
reg = <0x0 0x00001000 0x0 0x1000>;
2222
interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>;
2323
phys = <&usbphy0 1>, <&usbphy0 0>;
2424
phy-names = "phy0", "phy1";
@@ -28,7 +28,7 @@
2828

2929
bdc0: usb@2000 {
3030
compatible = "brcm,bdc-v0.16";
31-
reg = <0x00002000 0x1000>;
31+
reg = <0x0 0x00002000 0x0 0x1000>;
3232
interrupts = <GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH>;
3333
phys = <&usbphy0 0>, <&usbphy0 1>;
3434
phy-names = "phy0", "phy1";
@@ -38,21 +38,21 @@
3838

3939
usbphy1: usb-phy@10000 {
4040
compatible = "brcm,sr-usb-combo-phy";
41-
reg = <0x00010000 0x100>;
41+
reg = <0x0 0x00010000 0x0 0x100>;
4242
#phy-cells = <1>;
4343
status = "disabled";
4444
};
4545

4646
usbphy2: usb-phy@20000 {
4747
compatible = "brcm,sr-usb-hs-phy";
48-
reg = <0x00020000 0x100>;
48+
reg = <0x0 0x00020000 0x0 0x100>;
4949
#phy-cells = <0>;
5050
status = "disabled";
5151
};
5252

5353
xhci1: usb@11000 {
5454
compatible = "generic-xhci";
55-
reg = <0x00011000 0x1000>;
55+
reg = <0x0 0x00011000 0x0 0x1000>;
5656
interrupts = <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>;
5757
phys = <&usbphy1 1>, <&usbphy2>, <&usbphy1 0>;
5858
phy-names = "phy0", "phy1", "phy2";
@@ -62,7 +62,7 @@
6262

6363
bdc1: usb@21000 {
6464
compatible = "brcm,bdc-v0.16";
65-
reg = <0x00021000 0x1000>;
65+
reg = <0x0 0x00021000 0x0 0x1000>;
6666
interrupts = <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>;
6767
phys = <&usbphy2>;
6868
phy-names = "phy0";

arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,6 @@
1010
model = "NVIDIA Jetson TX2 Developer Kit";
1111
compatible = "nvidia,p2771-0000", "nvidia,tegra186";
1212

13-
aconnect {
14-
status = "okay";
15-
16-
dma-controller@2930000 {
17-
status = "okay";
18-
};
19-
20-
interrupt-controller@2a40000 {
21-
status = "okay";
22-
};
23-
};
24-
2513
i2c@3160000 {
2614
power-monitor@42 {
2715
compatible = "ti,ina3221";

arch/arm64/boot/dts/rockchip/rk3399.dtsi

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@
2929
i2c6 = &i2c6;
3030
i2c7 = &i2c7;
3131
i2c8 = &i2c8;
32+
mmc0 = &sdio0;
33+
mmc1 = &sdmmc;
34+
mmc2 = &sdhci;
3235
serial0 = &uart0;
3336
serial1 = &uart1;
3437
serial2 = &uart2;

arch/powerpc/Makefile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,6 @@ KBUILD_CFLAGS += $(call cc-option,-mno-string)
250250

251251
cpu-as-$(CONFIG_4xx) += -Wa,-m405
252252
cpu-as-$(CONFIG_ALTIVEC) += $(call as-option,-Wa$(comma)-maltivec)
253-
cpu-as-$(CONFIG_E200) += -Wa,-me200
254253
cpu-as-$(CONFIG_E500) += -Wa,-me500
255254

256255
# When using '-many -mpower4' gas will first try and find a matching power4

arch/x86/include/asm/pgtable_types.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@ enum page_cache_mode {
147147
#endif
148148

149149
#define _PAGE_CACHE_MASK (_PAGE_PAT | _PAGE_PCD | _PAGE_PWT)
150+
#define _PAGE_LARGE_CACHE_MASK (_PAGE_PWT | _PAGE_PCD | _PAGE_PAT_LARGE)
150151
#define _PAGE_NOCACHE (cachemode2protval(_PAGE_CACHE_MODE_UC))
151152
#define _PAGE_CACHE_WP (cachemode2protval(_PAGE_CACHE_MODE_WP))
152153

arch/x86/include/asm/sync_core.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,13 @@ static inline void sync_core_before_usermode(void)
1616
/* With PTI, we unconditionally serialize before running user code. */
1717
if (static_cpu_has(X86_FEATURE_PTI))
1818
return;
19+
1920
/*
20-
* Return from interrupt and NMI is done through iret, which is core
21-
* serializing.
21+
* Even if we're in an interrupt, we might reschedule before returning,
22+
* in which case we could switch to a different thread in the same mm
23+
* and return using SYSRET or SYSEXIT. Instead of trying to keep
24+
* track of our need to sync the core, just sync right away.
2225
*/
23-
if (in_irq() || in_nmi())
24-
return;
2526
sync_core();
2627
}
2728

arch/x86/kernel/apic/vector.c

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -272,20 +272,24 @@ static int assign_irq_vector_any_locked(struct irq_data *irqd)
272272
const struct cpumask *affmsk = irq_data_get_affinity_mask(irqd);
273273
int node = irq_data_get_node(irqd);
274274

275-
if (node == NUMA_NO_NODE)
276-
goto all;
277-
/* Try the intersection of @affmsk and node mask */
278-
cpumask_and(vector_searchmask, cpumask_of_node(node), affmsk);
279-
if (!assign_vector_locked(irqd, vector_searchmask))
280-
return 0;
281-
/* Try the node mask */
282-
if (!assign_vector_locked(irqd, cpumask_of_node(node)))
283-
return 0;
284-
all:
275+
if (node != NUMA_NO_NODE) {
276+
/* Try the intersection of @affmsk and node mask */
277+
cpumask_and(vector_searchmask, cpumask_of_node(node), affmsk);
278+
if (!assign_vector_locked(irqd, vector_searchmask))
279+
return 0;
280+
}
281+
285282
/* Try the full affinity mask */
286283
cpumask_and(vector_searchmask, affmsk, cpu_online_mask);
287284
if (!assign_vector_locked(irqd, vector_searchmask))
288285
return 0;
286+
287+
if (node != NUMA_NO_NODE) {
288+
/* Try the node mask */
289+
if (!assign_vector_locked(irqd, cpumask_of_node(node)))
290+
return 0;
291+
}
292+
289293
/* Try the full online mask */
290294
return assign_vector_locked(irqd, cpu_online_mask);
291295
}

arch/x86/lib/memcpy_64.S

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515
* to a jmp to memcpy_erms which does the REP; MOVSB mem copy.
1616
*/
1717

18-
.weak memcpy
19-
2018
/*
2119
* memcpy - Copy a memory block.
2220
*
@@ -29,7 +27,7 @@
2927
* rax original destination
3028
*/
3129
ENTRY(__memcpy)
32-
ENTRY(memcpy)
30+
SYM_FUNC_START_WEAK(memcpy)
3331
ALTERNATIVE_2 "jmp memcpy_orig", "", X86_FEATURE_REP_GOOD, \
3432
"jmp memcpy_erms", X86_FEATURE_ERMS
3533

0 commit comments

Comments
 (0)