Skip to content

Commit 400a3cb

Browse files
committed
Merge tag 'v4.18.17' into 4.18-main
This is the 4.18.17 stable release
2 parents 13c74ab + 2237eff commit 400a3cb

File tree

164 files changed

+976
-640
lines changed

Some content is hidden

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

164 files changed

+976
-640
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 = 18
4-
SUBLEVEL = 16
4+
SUBLEVEL = 17
55
EXTRAVERSION =
66
NAME = Merciless Moray
77

arch/Kconfig

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -977,4 +977,12 @@ config REFCOUNT_FULL
977977
against various use-after-free conditions that can be used in
978978
security flaw exploits.
979979

980+
config HAVE_ARCH_COMPILER_H
981+
bool
982+
help
983+
An architecture can select this if it provides an
984+
asm/compiler.h header that should be included after
985+
linux/compiler-*.h in order to override macro definitions that those
986+
headers generally provide.
987+
980988
source "kernel/gcov/Kconfig"

arch/arm/boot/dts/bcm63138.dtsi

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -106,21 +106,23 @@
106106
global_timer: timer@1e200 {
107107
compatible = "arm,cortex-a9-global-timer";
108108
reg = <0x1e200 0x20>;
109-
interrupts = <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>;
109+
interrupts = <GIC_PPI 11 IRQ_TYPE_EDGE_RISING>;
110110
clocks = <&axi_clk>;
111111
};
112112

113113
local_timer: local-timer@1e600 {
114114
compatible = "arm,cortex-a9-twd-timer";
115115
reg = <0x1e600 0x20>;
116-
interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>;
116+
interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) |
117+
IRQ_TYPE_EDGE_RISING)>;
117118
clocks = <&axi_clk>;
118119
};
119120

120121
twd_watchdog: watchdog@1e620 {
121122
compatible = "arm,cortex-a9-twd-wdt";
122123
reg = <0x1e620 0x20>;
123-
interrupts = <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>;
124+
interrupts = <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) |
125+
IRQ_TYPE_LEVEL_HIGH)>;
124126
};
125127

126128
armpll: armpll {
@@ -158,7 +160,7 @@
158160
serial0: serial@600 {
159161
compatible = "brcm,bcm6345-uart";
160162
reg = <0x600 0x1b>;
161-
interrupts = <GIC_SPI 32 0>;
163+
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
162164
clocks = <&periph_clk>;
163165
clock-names = "periph";
164166
status = "disabled";
@@ -167,7 +169,7 @@
167169
serial1: serial@620 {
168170
compatible = "brcm,bcm6345-uart";
169171
reg = <0x620 0x1b>;
170-
interrupts = <GIC_SPI 33 0>;
172+
interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
171173
clocks = <&periph_clk>;
172174
clock-names = "periph";
173175
status = "disabled";
@@ -180,7 +182,7 @@
180182
reg = <0x2000 0x600>, <0xf0 0x10>;
181183
reg-names = "nand", "nand-int-base";
182184
status = "disabled";
183-
interrupts = <GIC_SPI 38 0>;
185+
interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
184186
interrupt-names = "nand";
185187
};
186188

arch/arm/boot/dts/imx53-qsb-common.dtsi

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,17 @@
123123
};
124124
};
125125

126+
&cpu0 {
127+
/* CPU rated to 1GHz, not 1.2GHz as per the default settings */
128+
operating-points = <
129+
/* kHz uV */
130+
166666 850000
131+
400000 900000
132+
800000 1050000
133+
1000000 1200000
134+
>;
135+
};
136+
126137
&esdhc1 {
127138
pinctrl-names = "default";
128139
pinctrl-0 = <&pinctrl_esdhc1>;

arch/arm/kernel/vmlinux.lds.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@
4949
#define ARM_DISCARD \
5050
*(.ARM.exidx.exit.text) \
5151
*(.ARM.extab.exit.text) \
52+
*(.ARM.exidx.text.exit) \
53+
*(.ARM.extab.text.exit) \
5254
ARM_CPU_DISCARD(*(.ARM.exidx.cpuexit.text)) \
5355
ARM_CPU_DISCARD(*(.ARM.extab.cpuexit.text)) \
5456
ARM_EXIT_DISCARD(EXIT_TEXT) \

arch/arm/mm/ioremap.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -473,7 +473,7 @@ void pci_ioremap_set_mem_type(int mem_type)
473473

474474
int pci_ioremap_io(unsigned int offset, phys_addr_t phys_addr)
475475
{
476-
BUG_ON(offset + SZ_64K > IO_SPACE_LIMIT);
476+
BUG_ON(offset + SZ_64K - 1 > IO_SPACE_LIMIT);
477477

478478
return ioremap_page_range(PCI_IO_VIRT_BASE + offset,
479479
PCI_IO_VIRT_BASE + offset + SZ_64K,

arch/arm64/mm/hugetlbpage.c

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -117,11 +117,14 @@ static pte_t get_clear_flush(struct mm_struct *mm,
117117

118118
/*
119119
* If HW_AFDBM is enabled, then the HW could turn on
120-
* the dirty bit for any page in the set, so check
121-
* them all. All hugetlb entries are already young.
120+
* the dirty or accessed bit for any page in the set,
121+
* so check them all.
122122
*/
123123
if (pte_dirty(pte))
124124
orig_pte = pte_mkdirty(orig_pte);
125+
126+
if (pte_young(pte))
127+
orig_pte = pte_mkyoung(orig_pte);
125128
}
126129

127130
if (valid) {
@@ -340,10 +343,13 @@ int huge_ptep_set_access_flags(struct vm_area_struct *vma,
340343
if (!pte_same(orig_pte, pte))
341344
changed = 1;
342345

343-
/* Make sure we don't lose the dirty state */
346+
/* Make sure we don't lose the dirty or young state */
344347
if (pte_dirty(orig_pte))
345348
pte = pte_mkdirty(pte);
346349

350+
if (pte_young(orig_pte))
351+
pte = pte_mkyoung(pte);
352+
347353
hugeprot = pte_pgprot(pte);
348354
for (i = 0; i < ncontig; i++, ptep++, addr += pgsize, pfn += dpfn)
349355
set_pte_at(vma->vm_mm, addr, ptep, pfn_pte(pfn, hugeprot));

arch/powerpc/mm/numa.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1217,9 +1217,10 @@ int find_and_online_cpu_nid(int cpu)
12171217
* Need to ensure that NODE_DATA is initialized for a node from
12181218
* available memory (see memblock_alloc_try_nid). If unable to
12191219
* init the node, then default to nearest node that has memory
1220-
* installed.
1220+
* installed. Skip onlining a node if the subsystems are not
1221+
* yet initialized.
12211222
*/
1222-
if (try_online_node(new_nid))
1223+
if (!topology_inited || try_online_node(new_nid))
12231224
new_nid = first_online_node;
12241225
#else
12251226
/*

arch/riscv/kernel/setup.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ static void __init setup_bootmem(void)
165165
BUG_ON(mem_size == 0);
166166

167167
set_max_mapnr(PFN_DOWN(mem_size));
168-
max_low_pfn = pfn_base + PFN_DOWN(mem_size);
168+
max_low_pfn = memblock_end_of_DRAM();
169169

170170
#ifdef CONFIG_BLK_DEV_INITRD
171171
setup_initrd();

arch/sparc/include/asm/cpudata_64.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ typedef struct {
2828
unsigned short sock_id; /* physical package */
2929
unsigned short core_id;
3030
unsigned short max_cache_id; /* groupings of highest shared cache */
31-
unsigned short proc_id; /* strand (aka HW thread) id */
31+
signed short proc_id; /* strand (aka HW thread) id */
3232
} cpuinfo_sparc;
3333

3434
DECLARE_PER_CPU(cpuinfo_sparc, __cpu_data);

0 commit comments

Comments
 (0)