Skip to content

Commit a7384f3

Browse files
committed
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Cross-merge networking fixes after downstream PR. Conflicts: tools/testing/selftests/net/fcnal-test.sh d7a2fc1 ("selftests: net: fcnal-test: check if FIPS mode is enabled") dd017c7 ("selftests: fcnal: Test SO_DONTROUTE on TCP sockets.") https://lore.kernel.org/all/[email protected]/ https://lore.kernel.org/all/[email protected]/ No adjacent changes. Signed-off-by: Jakub Kicinski <[email protected]>
2 parents 98e9587 + 8a28a0b commit a7384f3

File tree

226 files changed

+3201
-1156
lines changed

Some content is hidden

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

226 files changed

+3201
-1156
lines changed

.mailmap

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@ Baolin Wang <[email protected]> <[email protected]>
7070
7171
7272
73+
74+
7375
Ben Gardner <[email protected]>
7476
Ben M Cahill <[email protected]>
7577

Documentation/riscv/patch-acceptance.rst

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,24 @@ tested code over experimental code. We wish to extend these same
1616
principles to the RISC-V-related code that will be accepted for
1717
inclusion in the kernel.
1818

19+
Patchwork
20+
---------
21+
22+
RISC-V has a patchwork instance, where the status of patches can be checked:
23+
24+
https://patchwork.kernel.org/project/linux-riscv/list/
25+
26+
If your patch does not appear in the default view, the RISC-V maintainers have
27+
likely either requested changes, or expect it to be applied to another tree.
28+
29+
Automation runs against this patchwork instance, building/testing patches as
30+
they arrive. The automation applies patches against the current HEAD of the
31+
RISC-V `for-next` and `fixes` branches, depending on whether the patch has been
32+
detected as a fix. Failing those, it will use the RISC-V `master` branch.
33+
The exact commit to which a series has been applied will be noted on patchwork.
34+
Patches for which any of the checks fail are unlikely to be applied and in most
35+
cases will need to be resubmitted.
36+
1937
Submit Checklist Addendum
2038
-------------------------
2139
We'll only accept patches for new modules or extensions if the

Documentation/trace/user_events.rst

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,6 @@ Programs can view status of the events via
1414
/sys/kernel/tracing/user_events_status and can both register and write
1515
data out via /sys/kernel/tracing/user_events_data.
1616

17-
Programs can also use /sys/kernel/tracing/dynamic_events to register and
18-
delete user based events via the u: prefix. The format of the command to
19-
dynamic_events is the same as the ioctl with the u: prefix applied.
20-
2117
Typically programs will register a set of events that they wish to expose to
2218
tools that can read trace_events (such as ftrace and perf). The registration
2319
process tells the kernel which address and bit to reflect if any tool has
@@ -144,6 +140,9 @@ its name. Delete will only succeed if there are no references left to the
144140
event (in both user and kernel space). User programs should use a separate file
145141
to request deletes than the one used for registration due to this.
146142

143+
**NOTE:** By default events will auto-delete when there are no references left
144+
to the event. Flags in the future may change this logic.
145+
147146
Unregistering
148147
-------------
149148
If after registering an event it is no longer wanted to be updated then it can

MAINTAINERS

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9971,8 +9971,9 @@ M: Miquel Raynal <[email protected]>
99719971
99729972
S: Maintained
99739973
W: https://linux-wpan.org/
9974-
T: git git://git.kernel.org/pub/scm/linux/kernel/git/sschmidt/wpan.git
9975-
T: git git://git.kernel.org/pub/scm/linux/kernel/git/sschmidt/wpan-next.git
9974+
Q: https://patchwork.kernel.org/project/linux-wpan/list/
9975+
T: git git://git.kernel.org/pub/scm/linux/kernel/git/wpan/wpan.git
9976+
T: git git://git.kernel.org/pub/scm/linux/kernel/git/wpan/wpan-next.git
99769977
F: Documentation/networking/ieee802154.rst
99779978
F: drivers/net/ieee802154/
99789979
F: include/linux/ieee802154.h
@@ -13283,10 +13284,11 @@ F: drivers/memory/mtk-smi.c
1328313284
F: include/soc/mediatek/smi.h
1328413285

1328513286
MEDIATEK SWITCH DRIVER
13286-
M: Sean Wang <[email protected]>
13287+
M: Arınç ÜNAL <[email protected]>
13288+
M: Daniel Golle <[email protected]>
1328713289
M: Landen Chao <[email protected]>
1328813290
M: DENG Qingfang <[email protected]>
13289-
M: Daniel Golle <[email protected]>
13291+
M: Sean Wang <[email protected]>
1329013292
1329113293
S: Maintained
1329213294
F: drivers/net/dsa/mt7530-mdio.c
@@ -16399,7 +16401,7 @@ F: Documentation/devicetree/bindings/pci/intel,keembay-pcie*
1639916401
F: drivers/pci/controller/dwc/pcie-keembay.c
1640016402

1640116403
PCIE DRIVER FOR INTEL LGM GW SOC
16402-
M: Rahul Tanwar <rtanwar@maxlinear.com>
16404+
M: Chuanhua Lei <lchuanhua@maxlinear.com>
1640316405
1640416406
S: Maintained
1640516407
F: Documentation/devicetree/bindings/pci/intel-gw-pcie.yaml
@@ -17842,7 +17844,7 @@ F: tools/testing/selftests/rtc/
1784217844
Real-time Linux Analysis (RTLA) tools
1784317845
M: Daniel Bristot de Oliveira <[email protected]>
1784417846
M: Steven Rostedt <[email protected]>
17845-
L: linux-trace-devel@vger.kernel.org
17847+
L: linux-trace-kernel@vger.kernel.org
1784617848
S: Maintained
1784717849
F: Documentation/tools/rtla/
1784817850
F: tools/tracing/rtla/
@@ -18412,7 +18414,7 @@ F: drivers/infiniband/ulp/rtrs/
1841218414
RUNTIME VERIFICATION (RV)
1841318415
M: Daniel Bristot de Oliveira <[email protected]>
1841418416
M: Steven Rostedt <[email protected]>
18415-
L: linux-trace-devel@vger.kernel.org
18417+
L: linux-trace-kernel@vger.kernel.org
1841618418
S: Maintained
1841718419
F: Documentation/trace/rv/
1841818420
F: include/linux/rv.h

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
VERSION = 6
33
PATCHLEVEL = 4
44
SUBLEVEL = 0
5-
EXTRAVERSION = -rc6
5+
EXTRAVERSION = -rc7
66
NAME = Hurr durr I'ma ninja sloth
77

88
# *DOCUMENTATION*

arch/arm/include/asm/arm_pmuv3.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,11 @@ static inline bool kvm_pmu_counter_deferred(struct perf_event_attr *attr)
222222
return false;
223223
}
224224

225+
static inline bool kvm_set_pmuserenr(u64 val)
226+
{
227+
return false;
228+
}
229+
225230
/* PMU Version in DFR Register */
226231
#define ARMV8_PMU_DFR_VER_NI 0
227232
#define ARMV8_PMU_DFR_VER_V3P4 0x5

arch/arm64/hyperv/mshyperv.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ static int __init hyperv_init(void)
6767
if (ret)
6868
return ret;
6969

70-
ret = cpuhp_setup_state(CPUHP_AP_ONLINE_DYN, "arm64/hyperv_init:online",
70+
ret = cpuhp_setup_state(CPUHP_AP_HYPERV_ONLINE, "arm64/hyperv_init:online",
7171
hv_common_cpu_init, hv_common_cpu_die);
7272
if (ret < 0) {
7373
hv_common_free();

arch/arm64/include/asm/kvm_host.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -699,6 +699,8 @@ struct kvm_vcpu_arch {
699699
#define SYSREGS_ON_CPU __vcpu_single_flag(sflags, BIT(4))
700700
/* Software step state is Active-pending */
701701
#define DBG_SS_ACTIVE_PENDING __vcpu_single_flag(sflags, BIT(5))
702+
/* PMUSERENR for the guest EL0 is on physical CPU */
703+
#define PMUSERENR_ON_CPU __vcpu_single_flag(sflags, BIT(6))
702704

703705

704706
/* Pointer to the vcpu's SVE FFR for sve_{save,load}_state() */
@@ -1065,9 +1067,14 @@ void kvm_arch_vcpu_put_debug_state_flags(struct kvm_vcpu *vcpu);
10651067
#ifdef CONFIG_KVM
10661068
void kvm_set_pmu_events(u32 set, struct perf_event_attr *attr);
10671069
void kvm_clr_pmu_events(u32 clr);
1070+
bool kvm_set_pmuserenr(u64 val);
10681071
#else
10691072
static inline void kvm_set_pmu_events(u32 set, struct perf_event_attr *attr) {}
10701073
static inline void kvm_clr_pmu_events(u32 clr) {}
1074+
static inline bool kvm_set_pmuserenr(u64 val)
1075+
{
1076+
return false;
1077+
}
10711078
#endif
10721079

10731080
void kvm_vcpu_load_sysregs_vhe(struct kvm_vcpu *vcpu);

arch/arm64/kvm/hyp/include/hyp/switch.h

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,14 @@ static inline void __activate_traps_common(struct kvm_vcpu *vcpu)
8282
* EL1 instead of being trapped to EL2.
8383
*/
8484
if (kvm_arm_support_pmu_v3()) {
85+
struct kvm_cpu_context *hctxt;
86+
8587
write_sysreg(0, pmselr_el0);
88+
89+
hctxt = &this_cpu_ptr(&kvm_host_data)->host_ctxt;
90+
ctxt_sys_reg(hctxt, PMUSERENR_EL0) = read_sysreg(pmuserenr_el0);
8691
write_sysreg(ARMV8_PMU_USERENR_MASK, pmuserenr_el0);
92+
vcpu_set_flag(vcpu, PMUSERENR_ON_CPU);
8793
}
8894

8995
vcpu->arch.mdcr_el2_host = read_sysreg(mdcr_el2);
@@ -106,8 +112,13 @@ static inline void __deactivate_traps_common(struct kvm_vcpu *vcpu)
106112
write_sysreg(vcpu->arch.mdcr_el2_host, mdcr_el2);
107113

108114
write_sysreg(0, hstr_el2);
109-
if (kvm_arm_support_pmu_v3())
110-
write_sysreg(0, pmuserenr_el0);
115+
if (kvm_arm_support_pmu_v3()) {
116+
struct kvm_cpu_context *hctxt;
117+
118+
hctxt = &this_cpu_ptr(&kvm_host_data)->host_ctxt;
119+
write_sysreg(ctxt_sys_reg(hctxt, PMUSERENR_EL0), pmuserenr_el0);
120+
vcpu_clear_flag(vcpu, PMUSERENR_ON_CPU);
121+
}
111122

112123
if (cpus_have_final_cap(ARM64_SME)) {
113124
sysreg_clear_set_s(SYS_HFGRTR_EL2, 0,

arch/arm64/kvm/hyp/vhe/switch.c

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,14 +92,28 @@ static void __deactivate_traps(struct kvm_vcpu *vcpu)
9292
}
9393
NOKPROBE_SYMBOL(__deactivate_traps);
9494

95+
/*
96+
* Disable IRQs in {activate,deactivate}_traps_vhe_{load,put}() to
97+
* prevent a race condition between context switching of PMUSERENR_EL0
98+
* in __{activate,deactivate}_traps_common() and IPIs that attempts to
99+
* update PMUSERENR_EL0. See also kvm_set_pmuserenr().
100+
*/
95101
void activate_traps_vhe_load(struct kvm_vcpu *vcpu)
96102
{
103+
unsigned long flags;
104+
105+
local_irq_save(flags);
97106
__activate_traps_common(vcpu);
107+
local_irq_restore(flags);
98108
}
99109

100110
void deactivate_traps_vhe_put(struct kvm_vcpu *vcpu)
101111
{
112+
unsigned long flags;
113+
114+
local_irq_save(flags);
102115
__deactivate_traps_common(vcpu);
116+
local_irq_restore(flags);
103117
}
104118

105119
static const exit_handler_fn hyp_exit_handlers[] = {

0 commit comments

Comments
 (0)