Skip to content

Commit 65f5dd4

Browse files
committed
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Cross-merge networking fixes after downstream PR. Conflicts: net/mptcp/protocol.c adf1bb7 ("mptcp: fix snd_wnd initialization for passive socket") 9426ce4 ("mptcp: annotate lockless access for RX path fields") https://lore.kernel.org/all/[email protected]/ Adjacent changes: drivers/dpll/dpll_core.c 0d60d8d ("dpll: rely on rcu for netdev_dpll_pin()") e7f8df0 ("dpll: move xa_erase() call in to match dpll_pin_alloc() error path order") drivers/net/veth.c 1ce7d30 ("veth: try harder when allocating queue memory") 0bef512 ("net: add netdev_lockdep_set_classes() to virtual drivers") drivers/net/wireless/intel/iwlwifi/mvm/d3.c 8c9bef2 ("wifi: iwlwifi: mvm: d3: implement suspend with MLO") 78f65fb ("wifi: iwlwifi: mvm: ensure offloading TID queue exists") net/wireless/nl80211.c f78c137 ("wifi: nl80211: reject iftype change with mesh ID change") 414532d ("wifi: cfg80211: use IEEE80211_MAX_MESH_ID_LEN appropriately") Signed-off-by: Jakub Kicinski <[email protected]>
2 parents 489645d + 87adede commit 65f5dd4

File tree

403 files changed

+3927
-2087
lines changed

Some content is hidden

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

403 files changed

+3927
-2087
lines changed

.mailmap

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -553,6 +553,7 @@ Senthilkumar N L <[email protected]> <[email protected]>
553553
554554
555555
556+
556557
557558
558559

Documentation/arch/x86/mds.rst

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,9 @@ The kernel provides a function to invoke the buffer clearing:
9595

9696
mds_clear_cpu_buffers()
9797

98+
Also macro CLEAR_CPU_BUFFERS can be used in ASM late in exit-to-user path.
99+
Other than CFLAGS.ZF, this macro doesn't clobber any registers.
100+
98101
The mitigation is invoked on kernel/userspace, hypervisor/guest and C-state
99102
(idle) transitions.
100103

@@ -138,17 +141,30 @@ Mitigation points
138141

139142
When transitioning from kernel to user space the CPU buffers are flushed
140143
on affected CPUs when the mitigation is not disabled on the kernel
141-
command line. The migitation is enabled through the static key
142-
mds_user_clear.
143-
144-
The mitigation is invoked in prepare_exit_to_usermode() which covers
145-
all but one of the kernel to user space transitions. The exception
146-
is when we return from a Non Maskable Interrupt (NMI), which is
147-
handled directly in do_nmi().
148-
149-
(The reason that NMI is special is that prepare_exit_to_usermode() can
150-
enable IRQs. In NMI context, NMIs are blocked, and we don't want to
151-
enable IRQs with NMIs blocked.)
144+
command line. The mitigation is enabled through the feature flag
145+
X86_FEATURE_CLEAR_CPU_BUF.
146+
147+
The mitigation is invoked just before transitioning to userspace after
148+
user registers are restored. This is done to minimize the window in
149+
which kernel data could be accessed after VERW e.g. via an NMI after
150+
VERW.
151+
152+
**Corner case not handled**
153+
Interrupts returning to kernel don't clear CPUs buffers since the
154+
exit-to-user path is expected to do that anyways. But, there could be
155+
a case when an NMI is generated in kernel after the exit-to-user path
156+
has cleared the buffers. This case is not handled and NMI returning to
157+
kernel don't clear CPU buffers because:
158+
159+
1. It is rare to get an NMI after VERW, but before returning to userspace.
160+
2. For an unprivileged user, there is no known way to make that NMI
161+
less rare or target it.
162+
3. It would take a large number of these precisely-timed NMIs to mount
163+
an actual attack. There's presumably not enough bandwidth.
164+
4. The NMI in question occurs after a VERW, i.e. when user state is
165+
restored and most interesting data is already scrubbed. Whats left
166+
is only the data that NMI touches, and that may or may not be of
167+
any interest.
152168

153169

154170
2. C-State transition

Documentation/conf.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -388,6 +388,12 @@ def get_cline_version():
388388
verbatimhintsturnover=false,
389389
''',
390390

391+
#
392+
# Some of our authors are fond of deep nesting; tell latex to
393+
# cope.
394+
#
395+
'maxlistdepth': '10',
396+
391397
# For CJK One-half spacing, need to be in front of hyperref
392398
'extrapackages': r'\usepackage{setspace}',
393399

Documentation/devicetree/bindings/clock/google,gs101-clock.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,8 @@ allOf:
8585

8686
clock-names:
8787
items:
88-
- const: dout_cmu_misc_bus
89-
- const: dout_cmu_misc_sss
88+
- const: bus
89+
- const: sss
9090

9191
additionalProperties: false
9292

Documentation/networking/net_cachelines/inet_sock.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
.. SPDX-License-Identifier: GPL-2.0
22
.. Copyright (C) 2023 Google LLC
33
4-
=====================================================
5-
inet_connection_sock struct fast path usage breakdown
6-
=====================================================
4+
==========================================
5+
inet_sock struct fast path usage breakdown
6+
==========================================
77

88
Type Name fastpath_tx_access fastpath_rx_access comment
99
..struct ..inet_sock

Documentation/sphinx/translations.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,7 @@
2929
}
3030

3131
class LanguagesNode(nodes.Element):
32-
def __init__(self, current_language, *args, **kwargs):
33-
super().__init__(*args, **kwargs)
34-
35-
self.current_language = current_language
32+
pass
3633

3734
class TranslationsTransform(Transform):
3835
default_priority = 900
@@ -49,7 +46,8 @@ def apply(self):
4946
# normalize docname to be the untranslated one
5047
docname = os.path.join(*components[2:])
5148

52-
new_nodes = LanguagesNode(all_languages[this_lang_code])
49+
new_nodes = LanguagesNode()
50+
new_nodes['current_language'] = all_languages[this_lang_code]
5351

5452
for lang_code, lang_name in all_languages.items():
5553
if lang_code == this_lang_code:
@@ -84,7 +82,7 @@ def process_languages(app, doctree, docname):
8482

8583
html_content = app.builder.templates.render('translations.html',
8684
context={
87-
'current_language': node.current_language,
85+
'current_language': node['current_language'],
8886
'languages': languages,
8987
})
9088

MAINTAINERS

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5381,7 +5381,7 @@ CONTROL GROUP - MEMORY RESOURCE CONTROLLER (MEMCG)
53815381
M: Johannes Weiner <[email protected]>
53825382
M: Michal Hocko <[email protected]>
53835383
M: Roman Gushchin <[email protected]>
5384-
M: Shakeel Butt <[email protected]>
5384+
M: Shakeel Butt <[email protected]>
53855385
R: Muchun Song <[email protected]>
53865386
53875387
@@ -14130,6 +14130,17 @@ F: mm/
1413014130
F: tools/mm/
1413114131
F: tools/testing/selftests/mm/
1413214132

14133+
MEMORY MAPPING
14134+
M: Andrew Morton <[email protected]>
14135+
R: Liam R. Howlett <[email protected]>
14136+
R: Vlastimil Babka <[email protected]>
14137+
R: Lorenzo Stoakes <[email protected]>
14138+
14139+
S: Maintained
14140+
W: http://www.linux-mm.org
14141+
T: git git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
14142+
F: mm/mmap.c
14143+
1413314144
MEMORY TECHNOLOGY DEVICES (MTD)
1413414145
M: Miquel Raynal <[email protected]>
1413514146
M: Richard Weinberger <[email protected]>
@@ -14388,7 +14399,7 @@ MICROCHIP MCP16502 PMIC DRIVER
1438814399
M: Claudiu Beznea <[email protected]>
1438914400
L: [email protected] (moderated for non-subscribers)
1439014401
S: Supported
14391-
F: Documentation/devicetree/bindings/regulator/mcp16502-regulator.txt
14402+
F: Documentation/devicetree/bindings/regulator/microchip,mcp16502.yaml
1439214403
F: drivers/regulator/mcp16502.c
1439314404

1439414405
MICROCHIP MCP3564 ADC DRIVER
@@ -18004,33 +18015,34 @@ F: drivers/media/tuners/qt1010*
1800418015

1800518016
QUALCOMM ATH12K WIRELESS DRIVER
1800618017
M: Kalle Valo <[email protected]>
18007-
M: Jeff Johnson <[email protected]>
18018+
M: Jeff Johnson <[email protected]>
1800818019
1800918020
S: Supported
1801018021
W: https://wireless.wiki.kernel.org/en/users/Drivers/ath12k
1801118022
T: git git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
1801218023
F: drivers/net/wireless/ath/ath12k/
18024+
N: ath12k
1801318025

1801418026
QUALCOMM ATHEROS ATH10K WIRELESS DRIVER
1801518027
M: Kalle Valo <[email protected]>
18016-
M: Jeff Johnson <[email protected]>
18028+
M: Jeff Johnson <[email protected]>
1801718029
1801818030
S: Supported
1801918031
W: https://wireless.wiki.kernel.org/en/users/Drivers/ath10k
1802018032
T: git git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
18021-
F: Documentation/devicetree/bindings/net/wireless/qcom,ath10k.yaml
1802218033
F: drivers/net/wireless/ath/ath10k/
18034+
N: ath10k
1802318035

1802418036
QUALCOMM ATHEROS ATH11K WIRELESS DRIVER
1802518037
M: Kalle Valo <[email protected]>
18026-
M: Jeff Johnson <[email protected]>
18038+
M: Jeff Johnson <[email protected]>
1802718039
1802818040
S: Supported
1802918041
W: https://wireless.wiki.kernel.org/en/users/Drivers/ath11k
1803018042
B: https://wireless.wiki.kernel.org/en/users/Drivers/ath11k/bugreport
1803118043
T: git git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
18032-
F: Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml
1803318044
F: drivers/net/wireless/ath/ath11k/
18045+
N: ath11k
1803418046

1803518047
QUALCOMM ATHEROS ATH9K WIRELESS DRIVER
1803618048
M: Toke Høiland-Jørgensen <[email protected]>
@@ -22907,9 +22919,8 @@ S: Maintained
2290722919
F: drivers/usb/typec/mux/pi3usb30532.c
2290822920

2290922921
USB TYPEC PORT CONTROLLER DRIVERS
22910-
M: Guenter Roeck <[email protected]>
2291122922
22912-
S: Maintained
22923+
S: Orphan
2291322924
F: drivers/usb/typec/tcpm/
2291422925

2291522926
USB UHCI DRIVER

Makefile

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

88
# *DOCUMENTATION*

arch/arm/boot/dts/amazon/alpine.dtsi

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,6 @@
167167
msix: msix@fbe00000 {
168168
compatible = "al,alpine-msix";
169169
reg = <0x0 0xfbe00000 0x0 0x100000>;
170-
interrupt-controller;
171170
msi-controller;
172171
al,msi-base-spi = <96>;
173172
al,msi-num-spis = <64>;

arch/arm/boot/dts/aspeed/aspeed-g4.dtsi

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -466,7 +466,6 @@
466466
i2c0: i2c-bus@40 {
467467
#address-cells = <1>;
468468
#size-cells = <0>;
469-
#interrupt-cells = <1>;
470469

471470
reg = <0x40 0x40>;
472471
compatible = "aspeed,ast2400-i2c-bus";
@@ -482,7 +481,6 @@
482481
i2c1: i2c-bus@80 {
483482
#address-cells = <1>;
484483
#size-cells = <0>;
485-
#interrupt-cells = <1>;
486484

487485
reg = <0x80 0x40>;
488486
compatible = "aspeed,ast2400-i2c-bus";
@@ -498,7 +496,6 @@
498496
i2c2: i2c-bus@c0 {
499497
#address-cells = <1>;
500498
#size-cells = <0>;
501-
#interrupt-cells = <1>;
502499

503500
reg = <0xc0 0x40>;
504501
compatible = "aspeed,ast2400-i2c-bus";
@@ -515,7 +512,6 @@
515512
i2c3: i2c-bus@100 {
516513
#address-cells = <1>;
517514
#size-cells = <0>;
518-
#interrupt-cells = <1>;
519515

520516
reg = <0x100 0x40>;
521517
compatible = "aspeed,ast2400-i2c-bus";
@@ -532,7 +528,6 @@
532528
i2c4: i2c-bus@140 {
533529
#address-cells = <1>;
534530
#size-cells = <0>;
535-
#interrupt-cells = <1>;
536531

537532
reg = <0x140 0x40>;
538533
compatible = "aspeed,ast2400-i2c-bus";
@@ -549,7 +544,6 @@
549544
i2c5: i2c-bus@180 {
550545
#address-cells = <1>;
551546
#size-cells = <0>;
552-
#interrupt-cells = <1>;
553547

554548
reg = <0x180 0x40>;
555549
compatible = "aspeed,ast2400-i2c-bus";
@@ -566,7 +560,6 @@
566560
i2c6: i2c-bus@1c0 {
567561
#address-cells = <1>;
568562
#size-cells = <0>;
569-
#interrupt-cells = <1>;
570563

571564
reg = <0x1c0 0x40>;
572565
compatible = "aspeed,ast2400-i2c-bus";
@@ -583,7 +576,6 @@
583576
i2c7: i2c-bus@300 {
584577
#address-cells = <1>;
585578
#size-cells = <0>;
586-
#interrupt-cells = <1>;
587579

588580
reg = <0x300 0x40>;
589581
compatible = "aspeed,ast2400-i2c-bus";
@@ -600,7 +592,6 @@
600592
i2c8: i2c-bus@340 {
601593
#address-cells = <1>;
602594
#size-cells = <0>;
603-
#interrupt-cells = <1>;
604595

605596
reg = <0x340 0x40>;
606597
compatible = "aspeed,ast2400-i2c-bus";
@@ -617,7 +608,6 @@
617608
i2c9: i2c-bus@380 {
618609
#address-cells = <1>;
619610
#size-cells = <0>;
620-
#interrupt-cells = <1>;
621611

622612
reg = <0x380 0x40>;
623613
compatible = "aspeed,ast2400-i2c-bus";
@@ -634,7 +624,6 @@
634624
i2c10: i2c-bus@3c0 {
635625
#address-cells = <1>;
636626
#size-cells = <0>;
637-
#interrupt-cells = <1>;
638627

639628
reg = <0x3c0 0x40>;
640629
compatible = "aspeed,ast2400-i2c-bus";
@@ -651,7 +640,6 @@
651640
i2c11: i2c-bus@400 {
652641
#address-cells = <1>;
653642
#size-cells = <0>;
654-
#interrupt-cells = <1>;
655643

656644
reg = <0x400 0x40>;
657645
compatible = "aspeed,ast2400-i2c-bus";
@@ -668,7 +656,6 @@
668656
i2c12: i2c-bus@440 {
669657
#address-cells = <1>;
670658
#size-cells = <0>;
671-
#interrupt-cells = <1>;
672659

673660
reg = <0x440 0x40>;
674661
compatible = "aspeed,ast2400-i2c-bus";
@@ -685,7 +672,6 @@
685672
i2c13: i2c-bus@480 {
686673
#address-cells = <1>;
687674
#size-cells = <0>;
688-
#interrupt-cells = <1>;
689675

690676
reg = <0x480 0x40>;
691677
compatible = "aspeed,ast2400-i2c-bus";

0 commit comments

Comments
 (0)