Skip to content

Commit 2e2d6f0

Browse files
committed
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
net/sched/cls_api.c has overlapping changes to a call to nlmsg_parse(), one (from 'net') added rtm_tca_policy instead of NULL to the 5th argument, and another (from 'net-next') added cb->extack instead of NULL to the 6th argument. net/ipv4/ipmr_base.c is a case of a bug fix in 'net' being done to code which moved (to mr_table_dump)) in 'net-next'. Thanks to David Ahern for the heads up. Signed-off-by: David S. Miller <davem@davemloft.net>
2 parents 9333f20 + 4899542 commit 2e2d6f0

File tree

114 files changed

+571
-878
lines changed

Some content is hidden

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

114 files changed

+571
-878
lines changed

Documentation/core-api/idr.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.. SPDX-License-Identifier: CC-BY-SA-4.0
1+
.. SPDX-License-Identifier: GPL-2.0+
22
33
=============
44
ID Allocation

LICENSES/other/CC-BY-SA-4.0

Lines changed: 0 additions & 397 deletions
This file was deleted.

MAINTAINERS

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10161,7 +10161,6 @@ L: netdev@vger.kernel.org
1016110161
T: git git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec.git
1016210162
T: git git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec-next.git
1016310163
S: Maintained
10164-
F: net/core/flow.c
1016510164
F: net/xfrm/
1016610165
F: net/key/
1016710166
F: net/ipv4/xfrm*
@@ -13101,7 +13100,7 @@ SELINUX SECURITY MODULE
1310113100
M: Paul Moore <paul@paul-moore.com>
1310213101
M: Stephen Smalley <sds@tycho.nsa.gov>
1310313102
M: Eric Paris <eparis@parisplace.org>
13104-
L: selinux@tycho.nsa.gov (moderated for non-subscribers)
13103+
L: selinux@vger.kernel.org
1310513104
W: https://selinuxproject.org
1310613105
W: https://github.com/SELinuxProject
1310713106
T: git git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux.git

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
VERSION = 4
33
PATCHLEVEL = 19
44
SUBLEVEL = 0
5-
EXTRAVERSION = -rc7
5+
EXTRAVERSION = -rc8
66
NAME = Merciless Moray
77

88
# *DOCUMENTATION*

arch/arm/kvm/coproc.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -478,15 +478,15 @@ static const struct coproc_reg cp15_regs[] = {
478478

479479
/* ICC_SGI1R */
480480
{ CRm64(12), Op1( 0), is64, access_gic_sgi},
481-
/* ICC_ASGI1R */
482-
{ CRm64(12), Op1( 1), is64, access_gic_sgi},
483-
/* ICC_SGI0R */
484-
{ CRm64(12), Op1( 2), is64, access_gic_sgi},
485481

486482
/* VBAR: swapped by interrupt.S. */
487483
{ CRn(12), CRm( 0), Op1( 0), Op2( 0), is32,
488484
NULL, reset_val, c12_VBAR, 0x00000000 },
489485

486+
/* ICC_ASGI1R */
487+
{ CRm64(12), Op1( 1), is64, access_gic_sgi},
488+
/* ICC_SGI0R */
489+
{ CRm64(12), Op1( 2), is64, access_gic_sgi},
490490
/* ICC_SRE */
491491
{ CRn(12), CRm(12), Op1( 0), Op2(5), is32, access_gic_sre },
492492

arch/arm64/kernel/perf_event.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -966,6 +966,12 @@ static int armv8pmu_set_event_filter(struct hw_perf_event *event,
966966
return 0;
967967
}
968968

969+
static int armv8pmu_filter_match(struct perf_event *event)
970+
{
971+
unsigned long evtype = event->hw.config_base & ARMV8_PMU_EVTYPE_EVENT;
972+
return evtype != ARMV8_PMUV3_PERFCTR_CHAIN;
973+
}
974+
969975
static void armv8pmu_reset(void *info)
970976
{
971977
struct arm_pmu *cpu_pmu = (struct arm_pmu *)info;
@@ -1114,6 +1120,7 @@ static int armv8_pmu_init(struct arm_pmu *cpu_pmu)
11141120
cpu_pmu->stop = armv8pmu_stop,
11151121
cpu_pmu->reset = armv8pmu_reset,
11161122
cpu_pmu->set_event_filter = armv8pmu_set_event_filter;
1123+
cpu_pmu->filter_match = armv8pmu_filter_match;
11171124

11181125
return 0;
11191126
}

arch/arm64/kernel/setup.c

Lines changed: 27 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@
6464
#include <asm/xen/hypervisor.h>
6565
#include <asm/mmu_context.h>
6666

67+
static int num_standard_resources;
68+
static struct resource *standard_resources;
69+
6770
phys_addr_t __fdt_pointer __initdata;
6871

6972
/*
@@ -206,14 +209,19 @@ static void __init request_standard_resources(void)
206209
{
207210
struct memblock_region *region;
208211
struct resource *res;
212+
unsigned long i = 0;
209213

210214
kernel_code.start = __pa_symbol(_text);
211215
kernel_code.end = __pa_symbol(__init_begin - 1);
212216
kernel_data.start = __pa_symbol(_sdata);
213217
kernel_data.end = __pa_symbol(_end - 1);
214218

219+
num_standard_resources = memblock.memory.cnt;
220+
standard_resources = alloc_bootmem_low(num_standard_resources *
221+
sizeof(*standard_resources));
222+
215223
for_each_memblock(memory, region) {
216-
res = alloc_bootmem_low(sizeof(*res));
224+
res = &standard_resources[i++];
217225
if (memblock_is_nomap(region)) {
218226
res->name = "reserved";
219227
res->flags = IORESOURCE_MEM;
@@ -243,36 +251,26 @@ static void __init request_standard_resources(void)
243251

244252
static int __init reserve_memblock_reserved_regions(void)
245253
{
246-
phys_addr_t start, end, roundup_end = 0;
247-
struct resource *mem, *res;
248-
u64 i;
249-
250-
for_each_reserved_mem_region(i, &start, &end) {
251-
if (end <= roundup_end)
252-
continue; /* done already */
253-
254-
start = __pfn_to_phys(PFN_DOWN(start));
255-
end = __pfn_to_phys(PFN_UP(end)) - 1;
256-
roundup_end = end;
257-
258-
res = kzalloc(sizeof(*res), GFP_ATOMIC);
259-
if (WARN_ON(!res))
260-
return -ENOMEM;
261-
res->start = start;
262-
res->end = end;
263-
res->name = "reserved";
264-
res->flags = IORESOURCE_MEM;
265-
266-
mem = request_resource_conflict(&iomem_resource, res);
267-
/*
268-
* We expected memblock_reserve() regions to conflict with
269-
* memory created by request_standard_resources().
270-
*/
271-
if (WARN_ON_ONCE(!mem))
254+
u64 i, j;
255+
256+
for (i = 0; i < num_standard_resources; ++i) {
257+
struct resource *mem = &standard_resources[i];
258+
phys_addr_t r_start, r_end, mem_size = resource_size(mem);
259+
260+
if (!memblock_is_region_reserved(mem->start, mem_size))
272261
continue;
273-
kfree(res);
274262

275-
reserve_region_with_split(mem, start, end, "reserved");
263+
for_each_reserved_mem_region(j, &r_start, &r_end) {
264+
resource_size_t start, end;
265+
266+
start = max(PFN_PHYS(PFN_DOWN(r_start)), mem->start);
267+
end = min(PFN_PHYS(PFN_UP(r_end)) - 1, mem->end);
268+
269+
if (start > mem->end || end < mem->start)
270+
continue;
271+
272+
reserve_region_with_split(mem, start, end, "reserved");
273+
}
276274
}
277275

278276
return 0;

arch/parisc/kernel/unwind.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -426,7 +426,7 @@ void unwind_frame_init_task(struct unwind_frame_info *info,
426426
r.gr[30] = get_parisc_stackpointer();
427427
regs = &r;
428428
}
429-
unwind_frame_init(info, task, &r);
429+
unwind_frame_init(info, task, regs);
430430
} else {
431431
unwind_frame_init_from_blocked_task(info, task);
432432
}

arch/powerpc/include/asm/book3s/64/pgtable.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@
114114
*/
115115
#define _HPAGE_CHG_MASK (PTE_RPN_MASK | _PAGE_HPTEFLAGS | _PAGE_DIRTY | \
116116
_PAGE_ACCESSED | H_PAGE_THP_HUGE | _PAGE_PTE | \
117-
_PAGE_SOFT_DIRTY)
117+
_PAGE_SOFT_DIRTY | _PAGE_DEVMAP)
118118
/*
119119
* user access blocked by key
120120
*/
@@ -132,7 +132,7 @@
132132
*/
133133
#define _PAGE_CHG_MASK (PTE_RPN_MASK | _PAGE_HPTEFLAGS | _PAGE_DIRTY | \
134134
_PAGE_ACCESSED | _PAGE_SPECIAL | _PAGE_PTE | \
135-
_PAGE_SOFT_DIRTY)
135+
_PAGE_SOFT_DIRTY | _PAGE_DEVMAP)
136136

137137
#define H_PTE_PKEY (H_PTE_PKEY_BIT0 | H_PTE_PKEY_BIT1 | H_PTE_PKEY_BIT2 | \
138138
H_PTE_PKEY_BIT3 | H_PTE_PKEY_BIT4)

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);

arch/sparc/include/uapi/asm/unistd.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -427,8 +427,9 @@
427427
#define __NR_preadv2 358
428428
#define __NR_pwritev2 359
429429
#define __NR_statx 360
430+
#define __NR_io_pgetevents 361
430431

431-
#define NR_syscalls 361
432+
#define NR_syscalls 362
432433

433434
/* Bitmask values returned from kern_features system call. */
434435
#define KERN_FEATURE_MIXED_MODE_STACK 0x00000001

arch/sparc/kernel/auxio_64.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,8 @@ static int auxio_probe(struct platform_device *dev)
115115
auxio_devtype = AUXIO_TYPE_SBUS;
116116
size = 1;
117117
} else {
118-
printk("auxio: Unknown parent bus type [%pOFn]\n",
119-
dp->parent);
118+
printk("auxio: Unknown parent bus type [%s]\n",
119+
dp->parent->name);
120120
return -ENODEV;
121121
}
122122
auxio_register = of_ioremap(&dev->resource[0], 0, size, "auxio");

arch/sparc/kernel/perf_event.c

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
#include <asm/cpudata.h>
2525
#include <linux/uaccess.h>
2626
#include <linux/atomic.h>
27+
#include <linux/sched/clock.h>
2728
#include <asm/nmi.h>
2829
#include <asm/pcr.h>
2930
#include <asm/cacheflush.h>
@@ -927,6 +928,8 @@ static void read_in_all_counters(struct cpu_hw_events *cpuc)
927928
sparc_perf_event_update(cp, &cp->hw,
928929
cpuc->current_idx[i]);
929930
cpuc->current_idx[i] = PIC_NO_INDEX;
931+
if (cp->hw.state & PERF_HES_STOPPED)
932+
cp->hw.state |= PERF_HES_ARCH;
930933
}
931934
}
932935
}
@@ -959,10 +962,12 @@ static void calculate_single_pcr(struct cpu_hw_events *cpuc)
959962

960963
enc = perf_event_get_enc(cpuc->events[i]);
961964
cpuc->pcr[0] &= ~mask_for_index(idx);
962-
if (hwc->state & PERF_HES_STOPPED)
965+
if (hwc->state & PERF_HES_ARCH) {
963966
cpuc->pcr[0] |= nop_for_index(idx);
964-
else
967+
} else {
965968
cpuc->pcr[0] |= event_encoding(enc, idx);
969+
hwc->state = 0;
970+
}
966971
}
967972
out:
968973
cpuc->pcr[0] |= cpuc->event[0]->hw.config_base;
@@ -988,6 +993,9 @@ static void calculate_multiple_pcrs(struct cpu_hw_events *cpuc)
988993

989994
cpuc->current_idx[i] = idx;
990995

996+
if (cp->hw.state & PERF_HES_ARCH)
997+
continue;
998+
991999
sparc_pmu_start(cp, PERF_EF_RELOAD);
9921000
}
9931001
out:
@@ -1079,6 +1087,8 @@ static void sparc_pmu_start(struct perf_event *event, int flags)
10791087
event->hw.state = 0;
10801088

10811089
sparc_pmu_enable_event(cpuc, &event->hw, idx);
1090+
1091+
perf_event_update_userpage(event);
10821092
}
10831093

10841094
static void sparc_pmu_stop(struct perf_event *event, int flags)
@@ -1371,9 +1381,9 @@ static int sparc_pmu_add(struct perf_event *event, int ef_flags)
13711381
cpuc->events[n0] = event->hw.event_base;
13721382
cpuc->current_idx[n0] = PIC_NO_INDEX;
13731383

1374-
event->hw.state = PERF_HES_UPTODATE;
1384+
event->hw.state = PERF_HES_UPTODATE | PERF_HES_STOPPED;
13751385
if (!(ef_flags & PERF_EF_START))
1376-
event->hw.state |= PERF_HES_STOPPED;
1386+
event->hw.state |= PERF_HES_ARCH;
13771387

13781388
/*
13791389
* If group events scheduling transaction was started,
@@ -1603,6 +1613,8 @@ static int __kprobes perf_event_nmi_handler(struct notifier_block *self,
16031613
struct perf_sample_data data;
16041614
struct cpu_hw_events *cpuc;
16051615
struct pt_regs *regs;
1616+
u64 finish_clock;
1617+
u64 start_clock;
16061618
int i;
16071619

16081620
if (!atomic_read(&active_events))
@@ -1616,6 +1628,8 @@ static int __kprobes perf_event_nmi_handler(struct notifier_block *self,
16161628
return NOTIFY_DONE;
16171629
}
16181630

1631+
start_clock = sched_clock();
1632+
16191633
regs = args->regs;
16201634

16211635
cpuc = this_cpu_ptr(&cpu_hw_events);
@@ -1654,6 +1668,10 @@ static int __kprobes perf_event_nmi_handler(struct notifier_block *self,
16541668
sparc_pmu_stop(event, 0);
16551669
}
16561670

1671+
finish_clock = sched_clock();
1672+
1673+
perf_sample_event_took(finish_clock - start_clock);
1674+
16571675
return NOTIFY_STOP;
16581676
}
16591677

arch/sparc/kernel/power.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ static int power_probe(struct platform_device *op)
4141

4242
power_reg = of_ioremap(res, 0, 0x4, "power");
4343

44-
printk(KERN_INFO "%pOFn: Control reg at %llx\n",
45-
op->dev.of_node, res->start);
44+
printk(KERN_INFO "%s: Control reg at %llx\n",
45+
op->dev.of_node->name, res->start);
4646

4747
if (has_button_interrupt(irq, op->dev.of_node)) {
4848
if (request_irq(irq,

arch/sparc/kernel/prom_32.c

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,8 @@ static void __init sparc32_path_component(struct device_node *dp, char *tmp_buf)
6868
return;
6969

7070
regs = rprop->value;
71-
sprintf(tmp_buf, "%pOFn@%x,%x",
72-
dp,
71+
sprintf(tmp_buf, "%s@%x,%x",
72+
dp->name,
7373
regs->which_io, regs->phys_addr);
7474
}
7575

@@ -84,8 +84,8 @@ static void __init sbus_path_component(struct device_node *dp, char *tmp_buf)
8484
return;
8585

8686
regs = prop->value;
87-
sprintf(tmp_buf, "%pOFn@%x,%x",
88-
dp,
87+
sprintf(tmp_buf, "%s@%x,%x",
88+
dp->name,
8989
regs->which_io,
9090
regs->phys_addr);
9191
}
@@ -104,13 +104,13 @@ static void __init pci_path_component(struct device_node *dp, char *tmp_buf)
104104
regs = prop->value;
105105
devfn = (regs->phys_hi >> 8) & 0xff;
106106
if (devfn & 0x07) {
107-
sprintf(tmp_buf, "%pOFn@%x,%x",
108-
dp,
107+
sprintf(tmp_buf, "%s@%x,%x",
108+
dp->name,
109109
devfn >> 3,
110110
devfn & 0x07);
111111
} else {
112-
sprintf(tmp_buf, "%pOFn@%x",
113-
dp,
112+
sprintf(tmp_buf, "%s@%x",
113+
dp->name,
114114
devfn >> 3);
115115
}
116116
}
@@ -127,8 +127,8 @@ static void __init ebus_path_component(struct device_node *dp, char *tmp_buf)
127127

128128
regs = prop->value;
129129

130-
sprintf(tmp_buf, "%pOFn@%x,%x",
131-
dp,
130+
sprintf(tmp_buf, "%s@%x,%x",
131+
dp->name,
132132
regs->which_io, regs->phys_addr);
133133
}
134134

@@ -167,8 +167,8 @@ static void __init ambapp_path_component(struct device_node *dp, char *tmp_buf)
167167
return;
168168
device = prop->value;
169169

170-
sprintf(tmp_buf, "%pOFn:%d:%d@%x,%x",
171-
dp, *vendor, *device,
170+
sprintf(tmp_buf, "%s:%d:%d@%x,%x",
171+
dp->name, *vendor, *device,
172172
*intr, reg0);
173173
}
174174

@@ -201,7 +201,7 @@ char * __init build_path_component(struct device_node *dp)
201201
tmp_buf[0] = '\0';
202202
__build_path_component(dp, tmp_buf);
203203
if (tmp_buf[0] == '\0')
204-
snprintf(tmp_buf, sizeof(tmp_buf), "%pOFn", dp);
204+
strcpy(tmp_buf, dp->name);
205205

206206
n = prom_early_alloc(strlen(tmp_buf) + 1);
207207
strcpy(n, tmp_buf);

0 commit comments

Comments
 (0)