Skip to content

Commit 70491c2

Browse files
committed
Merge tag 'v5.4.115' of git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable into odroid-5.4.y
This is the 5.4.115 stable release Change-Id: I3ded8136ff9ce6ab96ab8cbf6572b354a71f4288
2 parents 2a35610 + 19bfeb4 commit 70491c2

File tree

26 files changed

+94
-67
lines changed

26 files changed

+94
-67
lines changed

Makefile

Lines changed: 1 addition & 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 = 114
4+
SUBLEVEL = 115
55
EXTRAVERSION =
66
NAME = Kleptomaniac Octopus
77

arch/arm/boot/dts/omap3.dtsi

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@
2323
i2c0 = &i2c1;
2424
i2c1 = &i2c2;
2525
i2c2 = &i2c3;
26+
mmc0 = &mmc1;
27+
mmc1 = &mmc2;
28+
mmc2 = &mmc3;
2629
serial0 = &uart1;
2730
serial1 = &uart2;
2831
serial2 = &uart3;

arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-lts.dts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@
1313
};
1414

1515
&mmc0 {
16-
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 push-push switch */
16+
broken-cd; /* card detect is broken on *some* boards */
1717
};

arch/csky/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ config FORCE_MAX_ZONEORDER
220220
int "Maximum zone order"
221221
default "11"
222222

223-
config RAM_BASE
223+
config DRAM_BASE
224224
hex "DRAM start addr (the same with memory-section in dts)"
225225
default 0x0
226226

arch/csky/include/asm/page.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
#define SSEG_SIZE 0x20000000
2929
#define LOWMEM_LIMIT (SSEG_SIZE * 2)
3030

31-
#define PHYS_OFFSET_OFFSET (CONFIG_RAM_BASE & (SSEG_SIZE - 1))
31+
#define PHYS_OFFSET_OFFSET (CONFIG_DRAM_BASE & (SSEG_SIZE - 1))
3232

3333
#ifndef __ASSEMBLY__
3434

arch/ia64/mm/discontig.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ static int __init build_node_maps(unsigned long start, unsigned long len,
9595
* acpi_boot_init() (which builds the node_to_cpu_mask array) hasn't been
9696
* called yet. Note that node 0 will also count all non-existent cpus.
9797
*/
98-
static int __meminit early_nr_cpus_node(int node)
98+
static int early_nr_cpus_node(int node)
9999
{
100100
int cpu, n = 0;
101101

@@ -110,7 +110,7 @@ static int __meminit early_nr_cpus_node(int node)
110110
* compute_pernodesize - compute size of pernode data
111111
* @node: the node id.
112112
*/
113-
static unsigned long __meminit compute_pernodesize(int node)
113+
static unsigned long compute_pernodesize(int node)
114114
{
115115
unsigned long pernodesize = 0, cpus;
116116

@@ -367,7 +367,7 @@ static void __init reserve_pernode_space(void)
367367
}
368368
}
369369

370-
static void __meminit scatter_node_data(void)
370+
static void scatter_node_data(void)
371371
{
372372
pg_data_t **dst;
373373
int node;

arch/s390/kernel/entry.S

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -993,6 +993,7 @@ ENDPROC(ext_int_handler)
993993
* Load idle PSW. The second "half" of this function is in .Lcleanup_idle.
994994
*/
995995
ENTRY(psw_idle)
996+
stg %r14,(__SF_GPRS+8*8)(%r15)
996997
stg %r3,__SF_EMPTY(%r15)
997998
larl %r1,.Lpsw_idle_lpsw+4
998999
stg %r1,__SF_EMPTY+8(%r15)

arch/s390/kernel/ptrace.c

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -867,6 +867,7 @@ long compat_arch_ptrace(struct task_struct *child, compat_long_t request,
867867
asmlinkage long do_syscall_trace_enter(struct pt_regs *regs)
868868
{
869869
unsigned long mask = -1UL;
870+
long ret = -1;
870871

871872
/*
872873
* The sysc_tracesys code in entry.S stored the system
@@ -878,27 +879,33 @@ asmlinkage long do_syscall_trace_enter(struct pt_regs *regs)
878879
* Tracing decided this syscall should not happen. Skip
879880
* the system call and the system call restart handling.
880881
*/
881-
clear_pt_regs_flag(regs, PIF_SYSCALL);
882-
return -1;
882+
goto skip;
883883
}
884884

885885
/* Do the secure computing check after ptrace. */
886886
if (secure_computing(NULL)) {
887887
/* seccomp failures shouldn't expose any additional code. */
888-
return -1;
888+
goto skip;
889889
}
890890

891891
if (unlikely(test_thread_flag(TIF_SYSCALL_TRACEPOINT)))
892-
trace_sys_enter(regs, regs->gprs[2]);
892+
trace_sys_enter(regs, regs->int_code & 0xffff);
893893

894894
if (is_compat_task())
895895
mask = 0xffffffff;
896896

897-
audit_syscall_entry(regs->gprs[2], regs->orig_gpr2 & mask,
897+
audit_syscall_entry(regs->int_code & 0xffff, regs->orig_gpr2 & mask,
898898
regs->gprs[3] &mask, regs->gprs[4] &mask,
899899
regs->gprs[5] &mask);
900900

901+
if ((signed long)regs->gprs[2] >= NR_syscalls) {
902+
regs->gprs[2] = -ENOSYS;
903+
ret = -ENOSYS;
904+
}
901905
return regs->gprs[2];
906+
skip:
907+
clear_pt_regs_flag(regs, PIF_SYSCALL);
908+
return ret;
902909
}
903910

904911
asmlinkage void do_syscall_trace_exit(struct pt_regs *regs)

arch/x86/events/intel/core.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3999,7 +3999,7 @@ static const struct x86_cpu_desc isolation_ucodes[] = {
39993999
INTEL_CPU_DESC(INTEL_FAM6_BROADWELL_D, 3, 0x07000009),
40004000
INTEL_CPU_DESC(INTEL_FAM6_BROADWELL_D, 4, 0x0f000009),
40014001
INTEL_CPU_DESC(INTEL_FAM6_BROADWELL_D, 5, 0x0e000002),
4002-
INTEL_CPU_DESC(INTEL_FAM6_BROADWELL_X, 2, 0x0b000014),
4002+
INTEL_CPU_DESC(INTEL_FAM6_BROADWELL_X, 1, 0x0b000014),
40034003
INTEL_CPU_DESC(INTEL_FAM6_SKYLAKE_X, 3, 0x00000021),
40044004
INTEL_CPU_DESC(INTEL_FAM6_SKYLAKE_X, 4, 0x00000000),
40054005
INTEL_CPU_DESC(INTEL_FAM6_SKYLAKE_X, 5, 0x00000000),

arch/x86/events/intel/uncore_snbep.c

Lines changed: 26 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1093,7 +1093,6 @@ enum {
10931093
SNBEP_PCI_QPI_PORT0_FILTER,
10941094
SNBEP_PCI_QPI_PORT1_FILTER,
10951095
BDX_PCI_QPI_PORT2_FILTER,
1096-
HSWEP_PCI_PCU_3,
10971096
};
10981097

10991098
static int snbep_qpi_hw_config(struct intel_uncore_box *box, struct perf_event *event)
@@ -2750,22 +2749,33 @@ static struct intel_uncore_type *hswep_msr_uncores[] = {
27502749
NULL,
27512750
};
27522751

2753-
void hswep_uncore_cpu_init(void)
2752+
#define HSWEP_PCU_DID 0x2fc0
2753+
#define HSWEP_PCU_CAPID4_OFFET 0x94
2754+
#define hswep_get_chop(_cap) (((_cap) >> 6) & 0x3)
2755+
2756+
static bool hswep_has_limit_sbox(unsigned int device)
27542757
{
2755-
int pkg = boot_cpu_data.logical_proc_id;
2758+
struct pci_dev *dev = pci_get_device(PCI_VENDOR_ID_INTEL, device, NULL);
2759+
u32 capid4;
2760+
2761+
if (!dev)
2762+
return false;
2763+
2764+
pci_read_config_dword(dev, HSWEP_PCU_CAPID4_OFFET, &capid4);
2765+
if (!hswep_get_chop(capid4))
2766+
return true;
27562767

2768+
return false;
2769+
}
2770+
2771+
void hswep_uncore_cpu_init(void)
2772+
{
27572773
if (hswep_uncore_cbox.num_boxes > boot_cpu_data.x86_max_cores)
27582774
hswep_uncore_cbox.num_boxes = boot_cpu_data.x86_max_cores;
27592775

27602776
/* Detect 6-8 core systems with only two SBOXes */
2761-
if (uncore_extra_pci_dev[pkg].dev[HSWEP_PCI_PCU_3]) {
2762-
u32 capid4;
2763-
2764-
pci_read_config_dword(uncore_extra_pci_dev[pkg].dev[HSWEP_PCI_PCU_3],
2765-
0x94, &capid4);
2766-
if (((capid4 >> 6) & 0x3) == 0)
2767-
hswep_uncore_sbox.num_boxes = 2;
2768-
}
2777+
if (hswep_has_limit_sbox(HSWEP_PCU_DID))
2778+
hswep_uncore_sbox.num_boxes = 2;
27692779

27702780
uncore_msr_uncores = hswep_msr_uncores;
27712781
}
@@ -3028,11 +3038,6 @@ static const struct pci_device_id hswep_uncore_pci_ids[] = {
30283038
.driver_data = UNCORE_PCI_DEV_DATA(UNCORE_EXTRA_PCI_DEV,
30293039
SNBEP_PCI_QPI_PORT1_FILTER),
30303040
},
3031-
{ /* PCU.3 (for Capability registers) */
3032-
PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x2fc0),
3033-
.driver_data = UNCORE_PCI_DEV_DATA(UNCORE_EXTRA_PCI_DEV,
3034-
HSWEP_PCI_PCU_3),
3035-
},
30363041
{ /* end: all zeroes */ }
30373042
};
30383043

@@ -3124,27 +3129,18 @@ static struct event_constraint bdx_uncore_pcu_constraints[] = {
31243129
EVENT_CONSTRAINT_END
31253130
};
31263131

3132+
#define BDX_PCU_DID 0x6fc0
3133+
31273134
void bdx_uncore_cpu_init(void)
31283135
{
3129-
int pkg = topology_phys_to_logical_pkg(boot_cpu_data.phys_proc_id);
3130-
31313136
if (bdx_uncore_cbox.num_boxes > boot_cpu_data.x86_max_cores)
31323137
bdx_uncore_cbox.num_boxes = boot_cpu_data.x86_max_cores;
31333138
uncore_msr_uncores = bdx_msr_uncores;
31343139

3135-
/* BDX-DE doesn't have SBOX */
3136-
if (boot_cpu_data.x86_model == 86) {
3137-
uncore_msr_uncores[BDX_MSR_UNCORE_SBOX] = NULL;
31383140
/* Detect systems with no SBOXes */
3139-
} else if (uncore_extra_pci_dev[pkg].dev[HSWEP_PCI_PCU_3]) {
3140-
struct pci_dev *pdev;
3141-
u32 capid4;
3142-
3143-
pdev = uncore_extra_pci_dev[pkg].dev[HSWEP_PCI_PCU_3];
3144-
pci_read_config_dword(pdev, 0x94, &capid4);
3145-
if (((capid4 >> 6) & 0x3) == 0)
3146-
bdx_msr_uncores[BDX_MSR_UNCORE_SBOX] = NULL;
3147-
}
3141+
if ((boot_cpu_data.x86_model == 86) || hswep_has_limit_sbox(BDX_PCU_DID))
3142+
uncore_msr_uncores[BDX_MSR_UNCORE_SBOX] = NULL;
3143+
31483144
hswep_uncore_pcu.constraints = bdx_uncore_pcu_constraints;
31493145
}
31503146

@@ -3365,11 +3361,6 @@ static const struct pci_device_id bdx_uncore_pci_ids[] = {
33653361
.driver_data = UNCORE_PCI_DEV_DATA(UNCORE_EXTRA_PCI_DEV,
33663362
BDX_PCI_QPI_PORT2_FILTER),
33673363
},
3368-
{ /* PCU.3 (for Capability registers) */
3369-
PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x6fc0),
3370-
.driver_data = UNCORE_PCI_DEV_DATA(UNCORE_EXTRA_PCI_DEV,
3371-
HSWEP_PCI_PCU_3),
3372-
},
33733364
{ /* end: all zeroes */ }
33743365
};
33753366

0 commit comments

Comments
 (0)