Skip to content

Commit 902d112

Browse files
committed
Merge tag 'v4.14.70' into 4.14-main
This is the 4.14.70 stable release
2 parents e56aa36 + 5dfe87a commit 902d112

File tree

125 files changed

+811
-319
lines changed

Some content is hidden

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

125 files changed

+811
-319
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 = 4
33
PATCHLEVEL = 14
4-
SUBLEVEL = 69
4+
SUBLEVEL = 70
55
EXTRAVERSION =
66
NAME = Petit Gorille
77

arch/arm/configs/imx_v6_v7_defconfig

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,6 @@ CONFIG_USB_STORAGE=y
289289
CONFIG_USB_CHIPIDEA=y
290290
CONFIG_USB_CHIPIDEA_UDC=y
291291
CONFIG_USB_CHIPIDEA_HOST=y
292-
CONFIG_USB_CHIPIDEA_ULPI=y
293292
CONFIG_USB_SERIAL=m
294293
CONFIG_USB_SERIAL_GENERIC=y
295294
CONFIG_USB_SERIAL_FTDI_SIO=m
@@ -326,7 +325,6 @@ CONFIG_USB_GADGETFS=m
326325
CONFIG_USB_FUNCTIONFS=m
327326
CONFIG_USB_MASS_STORAGE=m
328327
CONFIG_USB_G_SERIAL=m
329-
CONFIG_USB_ULPI_BUS=y
330328
CONFIG_MMC=y
331329
CONFIG_MMC_SDHCI=y
332330
CONFIG_MMC_SDHCI_PLTFM=y

arch/arm/mach-rockchip/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ config ARCH_ROCKCHIP
1818
select ARM_GLOBAL_TIMER
1919
select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
2020
select ZONE_DMA if ARM_LPAE
21+
select PM
2122
help
2223
Support for Rockchip's Cortex-A9 Single-to-Quad-Core-SoCs
2324
containing the RK2928, RK30xx and RK31xx series.

arch/arm64/Kconfig.platforms

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ config ARCH_ROCKCHIP
148148
select GPIOLIB
149149
select PINCTRL
150150
select PINCTRL_ROCKCHIP
151+
select PM
151152
select ROCKCHIP_TIMER
152153
help
153154
This enables support for the ARMv8 based Rockchip chipsets,

arch/arm64/include/asm/cache.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,14 @@
2020

2121
#define CTR_L1IP_SHIFT 14
2222
#define CTR_L1IP_MASK 3
23+
#define CTR_DMINLINE_SHIFT 16
24+
#define CTR_IMINLINE_SHIFT 0
2325
#define CTR_CWG_SHIFT 24
2426
#define CTR_CWG_MASK 15
2527

28+
#define CTR_CACHE_MINLINE_MASK \
29+
(0xf << CTR_DMINLINE_SHIFT | 0xf << CTR_IMINLINE_SHIFT)
30+
2631
#define CTR_L1IP(ctr) (((ctr) >> CTR_L1IP_SHIFT) & CTR_L1IP_MASK)
2732

2833
#define ICACHE_POLICY_VPIPT 0

arch/arm64/include/asm/cpucaps.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@
4444
#define ARM64_HARDEN_BRANCH_PREDICTOR 24
4545
#define ARM64_HARDEN_BP_POST_GUEST_EXIT 25
4646
#define ARM64_SSBD 26
47+
#define ARM64_MISMATCHED_CACHE_TYPE 27
4748

48-
#define ARM64_NCAPS 27
49+
#define ARM64_NCAPS 28
4950

5051
#endif /* __ASM_CPUCAPS_H */

arch/arm64/kernel/cpu_errata.c

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
* along with this program. If not, see <http://www.gnu.org/licenses/>.
1717
*/
1818

19+
#include <linux/arm-smccc.h>
20+
#include <linux/psci.h>
1921
#include <linux/types.h>
2022
#include <asm/cpu.h>
2123
#include <asm/cputype.h>
@@ -45,12 +47,18 @@ is_kryo_midr(const struct arm64_cpu_capabilities *entry, int scope)
4547
}
4648

4749
static bool
48-
has_mismatched_cache_line_size(const struct arm64_cpu_capabilities *entry,
49-
int scope)
50+
has_mismatched_cache_type(const struct arm64_cpu_capabilities *entry,
51+
int scope)
5052
{
53+
u64 mask = CTR_CACHE_MINLINE_MASK;
54+
55+
/* Skip matching the min line sizes for cache type check */
56+
if (entry->capability == ARM64_MISMATCHED_CACHE_TYPE)
57+
mask ^= arm64_ftr_reg_ctrel0.strict_mask;
58+
5159
WARN_ON(scope != SCOPE_LOCAL_CPU || preemptible());
52-
return (read_cpuid_cachetype() & arm64_ftr_reg_ctrel0.strict_mask) !=
53-
(arm64_ftr_reg_ctrel0.sys_val & arm64_ftr_reg_ctrel0.strict_mask);
60+
return (read_cpuid_cachetype() & mask) !=
61+
(arm64_ftr_reg_ctrel0.sys_val & mask);
5462
}
5563

5664
static int cpu_enable_trap_ctr_access(void *__unused)
@@ -511,7 +519,14 @@ const struct arm64_cpu_capabilities arm64_errata[] = {
511519
{
512520
.desc = "Mismatched cache line size",
513521
.capability = ARM64_MISMATCHED_CACHE_LINE_SIZE,
514-
.matches = has_mismatched_cache_line_size,
522+
.matches = has_mismatched_cache_type,
523+
.def_scope = SCOPE_LOCAL_CPU,
524+
.enable = cpu_enable_trap_ctr_access,
525+
},
526+
{
527+
.desc = "Mismatched cache type",
528+
.capability = ARM64_MISMATCHED_CACHE_TYPE,
529+
.matches = has_mismatched_cache_type,
515530
.def_scope = SCOPE_LOCAL_CPU,
516531
.enable = cpu_enable_trap_ctr_access,
517532
},

arch/arm64/kernel/cpufeature.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -180,14 +180,14 @@ static const struct arm64_ftr_bits ftr_ctr[] = {
180180
ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, 28, 1, 1), /* IDC */
181181
ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_HIGHER_SAFE, 24, 4, 0), /* CWG */
182182
ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_HIGHER_SAFE, 20, 4, 0), /* ERG */
183-
ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, 16, 4, 1), /* DminLine */
183+
ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, CTR_DMINLINE_SHIFT, 4, 1),
184184
/*
185185
* Linux can handle differing I-cache policies. Userspace JITs will
186186
* make use of *minLine.
187187
* If we have differing I-cache policies, report it as the weakest - VIPT.
188188
*/
189189
ARM64_FTR_BITS(FTR_VISIBLE, FTR_NONSTRICT, FTR_EXACT, 14, 2, ICACHE_POLICY_VIPT), /* L1Ip */
190-
ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, 0, 4, 0), /* IminLine */
190+
ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, CTR_IMINLINE_SHIFT, 4, 0),
191191
ARM64_FTR_END,
192192
};
193193

arch/powerpc/include/asm/uaccess.h

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -223,10 +223,17 @@ do { \
223223
} \
224224
} while (0)
225225

226+
/*
227+
* This is a type: either unsigned long, if the argument fits into
228+
* that type, or otherwise unsigned long long.
229+
*/
230+
#define __long_type(x) \
231+
__typeof__(__builtin_choose_expr(sizeof(x) > sizeof(0UL), 0ULL, 0UL))
232+
226233
#define __get_user_nocheck(x, ptr, size) \
227234
({ \
228235
long __gu_err; \
229-
unsigned long __gu_val; \
236+
__long_type(*(ptr)) __gu_val; \
230237
const __typeof__(*(ptr)) __user *__gu_addr = (ptr); \
231238
__chk_user_ptr(ptr); \
232239
if (!is_kernel_addr((unsigned long)__gu_addr)) \
@@ -239,7 +246,7 @@ do { \
239246
#define __get_user_check(x, ptr, size) \
240247
({ \
241248
long __gu_err = -EFAULT; \
242-
unsigned long __gu_val = 0; \
249+
__long_type(*(ptr)) __gu_val = 0; \
243250
const __typeof__(*(ptr)) __user *__gu_addr = (ptr); \
244251
might_fault(); \
245252
if (access_ok(VERIFY_READ, __gu_addr, (size))) \
@@ -251,7 +258,7 @@ do { \
251258
#define __get_user_nosleep(x, ptr, size) \
252259
({ \
253260
long __gu_err; \
254-
unsigned long __gu_val; \
261+
__long_type(*(ptr)) __gu_val; \
255262
const __typeof__(*(ptr)) __user *__gu_addr = (ptr); \
256263
__chk_user_ptr(ptr); \
257264
__get_user_size(__gu_val, __gu_addr, (size), __gu_err); \

arch/powerpc/kernel/exceptions-64s.S

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1452,6 +1452,8 @@ TRAMP_REAL_BEGIN(stf_barrier_fallback)
14521452
TRAMP_REAL_BEGIN(rfi_flush_fallback)
14531453
SET_SCRATCH0(r13);
14541454
GET_PACA(r13);
1455+
std r1,PACA_EXRFI+EX_R12(r13)
1456+
ld r1,PACAKSAVE(r13)
14551457
std r9,PACA_EXRFI+EX_R9(r13)
14561458
std r10,PACA_EXRFI+EX_R10(r13)
14571459
std r11,PACA_EXRFI+EX_R11(r13)
@@ -1486,12 +1488,15 @@ TRAMP_REAL_BEGIN(rfi_flush_fallback)
14861488
ld r9,PACA_EXRFI+EX_R9(r13)
14871489
ld r10,PACA_EXRFI+EX_R10(r13)
14881490
ld r11,PACA_EXRFI+EX_R11(r13)
1491+
ld r1,PACA_EXRFI+EX_R12(r13)
14891492
GET_SCRATCH0(r13);
14901493
rfid
14911494

14921495
TRAMP_REAL_BEGIN(hrfi_flush_fallback)
14931496
SET_SCRATCH0(r13);
14941497
GET_PACA(r13);
1498+
std r1,PACA_EXRFI+EX_R12(r13)
1499+
ld r1,PACAKSAVE(r13)
14951500
std r9,PACA_EXRFI+EX_R9(r13)
14961501
std r10,PACA_EXRFI+EX_R10(r13)
14971502
std r11,PACA_EXRFI+EX_R11(r13)
@@ -1526,6 +1531,7 @@ TRAMP_REAL_BEGIN(hrfi_flush_fallback)
15261531
ld r9,PACA_EXRFI+EX_R9(r13)
15271532
ld r10,PACA_EXRFI+EX_R10(r13)
15281533
ld r11,PACA_EXRFI+EX_R11(r13)
1534+
ld r1,PACA_EXRFI+EX_R12(r13)
15291535
GET_SCRATCH0(r13);
15301536
hrfid
15311537

0 commit comments

Comments
 (0)