Skip to content

Commit

Permalink
Merge git:https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Browse files Browse the repository at this point in the history
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]>
  • Loading branch information
kuba-moo committed Feb 29, 2024
2 parents 489645d + 87adede commit 65f5dd4
Show file tree
Hide file tree
Showing 403 changed files with 3,927 additions and 2,087 deletions.
1 change: 1 addition & 0 deletions .mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -553,6 +553,7 @@ Senthilkumar N L <[email protected]> <[email protected]>
Serge Hallyn <[email protected]> <[email protected]>
Serge Hallyn <[email protected]> <[email protected]>
Seth Forshee <[email protected]> <[email protected]>
Shakeel Butt <[email protected]> <[email protected]>
Shannon Nelson <[email protected]> <[email protected]>
Shannon Nelson <[email protected]> <[email protected]>
Shannon Nelson <[email protected]> <[email protected]>
Expand Down
38 changes: 27 additions & 11 deletions Documentation/arch/x86/mds.rst
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,9 @@ The kernel provides a function to invoke the buffer clearing:

mds_clear_cpu_buffers()

Also macro CLEAR_CPU_BUFFERS can be used in ASM late in exit-to-user path.
Other than CFLAGS.ZF, this macro doesn't clobber any registers.

The mitigation is invoked on kernel/userspace, hypervisor/guest and C-state
(idle) transitions.

Expand Down Expand Up @@ -138,17 +141,30 @@ Mitigation points

When transitioning from kernel to user space the CPU buffers are flushed
on affected CPUs when the mitigation is not disabled on the kernel
command line. The migitation is enabled through the static key
mds_user_clear.

The mitigation is invoked in prepare_exit_to_usermode() which covers
all but one of the kernel to user space transitions. The exception
is when we return from a Non Maskable Interrupt (NMI), which is
handled directly in do_nmi().

(The reason that NMI is special is that prepare_exit_to_usermode() can
enable IRQs. In NMI context, NMIs are blocked, and we don't want to
enable IRQs with NMIs blocked.)
command line. The mitigation is enabled through the feature flag
X86_FEATURE_CLEAR_CPU_BUF.

The mitigation is invoked just before transitioning to userspace after
user registers are restored. This is done to minimize the window in
which kernel data could be accessed after VERW e.g. via an NMI after
VERW.

**Corner case not handled**
Interrupts returning to kernel don't clear CPUs buffers since the
exit-to-user path is expected to do that anyways. But, there could be
a case when an NMI is generated in kernel after the exit-to-user path
has cleared the buffers. This case is not handled and NMI returning to
kernel don't clear CPU buffers because:

1. It is rare to get an NMI after VERW, but before returning to userspace.
2. For an unprivileged user, there is no known way to make that NMI
less rare or target it.
3. It would take a large number of these precisely-timed NMIs to mount
an actual attack. There's presumably not enough bandwidth.
4. The NMI in question occurs after a VERW, i.e. when user state is
restored and most interesting data is already scrubbed. Whats left
is only the data that NMI touches, and that may or may not be of
any interest.


2. C-State transition
Expand Down
6 changes: 6 additions & 0 deletions Documentation/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -388,6 +388,12 @@ def get_cline_version():
verbatimhintsturnover=false,
''',

#
# Some of our authors are fond of deep nesting; tell latex to
# cope.
#
'maxlistdepth': '10',

# For CJK One-half spacing, need to be in front of hyperref
'extrapackages': r'\usepackage{setspace}',

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,8 @@ allOf:

clock-names:
items:
- const: dout_cmu_misc_bus
- const: dout_cmu_misc_sss
- const: bus
- const: sss

additionalProperties: false

Expand Down
6 changes: 3 additions & 3 deletions Documentation/networking/net_cachelines/inet_sock.rst
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
.. SPDX-License-Identifier: GPL-2.0
.. Copyright (C) 2023 Google LLC
=====================================================
inet_connection_sock struct fast path usage breakdown
=====================================================
==========================================
inet_sock struct fast path usage breakdown
==========================================

Type Name fastpath_tx_access fastpath_rx_access comment
..struct ..inet_sock
Expand Down
10 changes: 4 additions & 6 deletions Documentation/sphinx/translations.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,7 @@
}

class LanguagesNode(nodes.Element):
def __init__(self, current_language, *args, **kwargs):
super().__init__(*args, **kwargs)

self.current_language = current_language
pass

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

new_nodes = LanguagesNode(all_languages[this_lang_code])
new_nodes = LanguagesNode()
new_nodes['current_language'] = all_languages[this_lang_code]

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

html_content = app.builder.templates.render('translations.html',
context={
'current_language': node.current_language,
'current_language': node['current_language'],
'languages': languages,
})

Expand Down
29 changes: 20 additions & 9 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -5381,7 +5381,7 @@ CONTROL GROUP - MEMORY RESOURCE CONTROLLER (MEMCG)
M: Johannes Weiner <[email protected]>
M: Michal Hocko <[email protected]>
M: Roman Gushchin <[email protected]>
M: Shakeel Butt <[email protected]>
M: Shakeel Butt <[email protected]>
R: Muchun Song <[email protected]>
L: [email protected]
L: [email protected]
Expand Down Expand Up @@ -14130,6 +14130,17 @@ F: mm/
F: tools/mm/
F: tools/testing/selftests/mm/

MEMORY MAPPING
M: Andrew Morton <[email protected]>
R: Liam R. Howlett <[email protected]>
R: Vlastimil Babka <[email protected]>
R: Lorenzo Stoakes <[email protected]>
L: [email protected]
S: Maintained
W: http:https://www.linux-mm.org
T: git git:https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
F: mm/mmap.c

MEMORY TECHNOLOGY DEVICES (MTD)
M: Miquel Raynal <[email protected]>
M: Richard Weinberger <[email protected]>
Expand Down Expand Up @@ -14388,7 +14399,7 @@ MICROCHIP MCP16502 PMIC DRIVER
M: Claudiu Beznea <[email protected]>
L: [email protected] (moderated for non-subscribers)
S: Supported
F: Documentation/devicetree/bindings/regulator/mcp16502-regulator.txt
F: Documentation/devicetree/bindings/regulator/microchip,mcp16502.yaml
F: drivers/regulator/mcp16502.c

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

QUALCOMM ATH12K WIRELESS DRIVER
M: Kalle Valo <[email protected]>
M: Jeff Johnson <[email protected]>
M: Jeff Johnson <[email protected]>
L: [email protected]
S: Supported
W: https://wireless.wiki.kernel.org/en/users/Drivers/ath12k
T: git git:https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
F: drivers/net/wireless/ath/ath12k/
N: ath12k

QUALCOMM ATHEROS ATH10K WIRELESS DRIVER
M: Kalle Valo <[email protected]>
M: Jeff Johnson <[email protected]>
M: Jeff Johnson <[email protected]>
L: [email protected]
S: Supported
W: https://wireless.wiki.kernel.org/en/users/Drivers/ath10k
T: git git:https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
F: Documentation/devicetree/bindings/net/wireless/qcom,ath10k.yaml
F: drivers/net/wireless/ath/ath10k/
N: ath10k

QUALCOMM ATHEROS ATH11K WIRELESS DRIVER
M: Kalle Valo <[email protected]>
M: Jeff Johnson <[email protected]>
M: Jeff Johnson <[email protected]>
L: [email protected]
S: Supported
W: https://wireless.wiki.kernel.org/en/users/Drivers/ath11k
B: https://wireless.wiki.kernel.org/en/users/Drivers/ath11k/bugreport
T: git git:https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
F: Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml
F: drivers/net/wireless/ath/ath11k/
N: ath11k

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

USB TYPEC PORT CONTROLLER DRIVERS
M: Guenter Roeck <[email protected]>
L: [email protected]
S: Maintained
S: Orphan
F: drivers/usb/typec/tcpm/

USB UHCI DRIVER
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
VERSION = 6
PATCHLEVEL = 8
SUBLEVEL = 0
EXTRAVERSION = -rc5
EXTRAVERSION = -rc6
NAME = Hurr durr I'ma ninja sloth

# *DOCUMENTATION*
Expand Down
1 change: 0 additions & 1 deletion arch/arm/boot/dts/amazon/alpine.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,6 @@
msix: msix@fbe00000 {
compatible = "al,alpine-msix";
reg = <0x0 0xfbe00000 0x0 0x100000>;
interrupt-controller;
msi-controller;
al,msi-base-spi = <96>;
al,msi-num-spis = <64>;
Expand Down
14 changes: 0 additions & 14 deletions arch/arm/boot/dts/aspeed/aspeed-g4.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -466,7 +466,6 @@
i2c0: i2c-bus@40 {
#address-cells = <1>;
#size-cells = <0>;
#interrupt-cells = <1>;

reg = <0x40 0x40>;
compatible = "aspeed,ast2400-i2c-bus";
Expand All @@ -482,7 +481,6 @@
i2c1: i2c-bus@80 {
#address-cells = <1>;
#size-cells = <0>;
#interrupt-cells = <1>;

reg = <0x80 0x40>;
compatible = "aspeed,ast2400-i2c-bus";
Expand All @@ -498,7 +496,6 @@
i2c2: i2c-bus@c0 {
#address-cells = <1>;
#size-cells = <0>;
#interrupt-cells = <1>;

reg = <0xc0 0x40>;
compatible = "aspeed,ast2400-i2c-bus";
Expand All @@ -515,7 +512,6 @@
i2c3: i2c-bus@100 {
#address-cells = <1>;
#size-cells = <0>;
#interrupt-cells = <1>;

reg = <0x100 0x40>;
compatible = "aspeed,ast2400-i2c-bus";
Expand All @@ -532,7 +528,6 @@
i2c4: i2c-bus@140 {
#address-cells = <1>;
#size-cells = <0>;
#interrupt-cells = <1>;

reg = <0x140 0x40>;
compatible = "aspeed,ast2400-i2c-bus";
Expand All @@ -549,7 +544,6 @@
i2c5: i2c-bus@180 {
#address-cells = <1>;
#size-cells = <0>;
#interrupt-cells = <1>;

reg = <0x180 0x40>;
compatible = "aspeed,ast2400-i2c-bus";
Expand All @@ -566,7 +560,6 @@
i2c6: i2c-bus@1c0 {
#address-cells = <1>;
#size-cells = <0>;
#interrupt-cells = <1>;

reg = <0x1c0 0x40>;
compatible = "aspeed,ast2400-i2c-bus";
Expand All @@ -583,7 +576,6 @@
i2c7: i2c-bus@300 {
#address-cells = <1>;
#size-cells = <0>;
#interrupt-cells = <1>;

reg = <0x300 0x40>;
compatible = "aspeed,ast2400-i2c-bus";
Expand All @@ -600,7 +592,6 @@
i2c8: i2c-bus@340 {
#address-cells = <1>;
#size-cells = <0>;
#interrupt-cells = <1>;

reg = <0x340 0x40>;
compatible = "aspeed,ast2400-i2c-bus";
Expand All @@ -617,7 +608,6 @@
i2c9: i2c-bus@380 {
#address-cells = <1>;
#size-cells = <0>;
#interrupt-cells = <1>;

reg = <0x380 0x40>;
compatible = "aspeed,ast2400-i2c-bus";
Expand All @@ -634,7 +624,6 @@
i2c10: i2c-bus@3c0 {
#address-cells = <1>;
#size-cells = <0>;
#interrupt-cells = <1>;

reg = <0x3c0 0x40>;
compatible = "aspeed,ast2400-i2c-bus";
Expand All @@ -651,7 +640,6 @@
i2c11: i2c-bus@400 {
#address-cells = <1>;
#size-cells = <0>;
#interrupt-cells = <1>;

reg = <0x400 0x40>;
compatible = "aspeed,ast2400-i2c-bus";
Expand All @@ -668,7 +656,6 @@
i2c12: i2c-bus@440 {
#address-cells = <1>;
#size-cells = <0>;
#interrupt-cells = <1>;

reg = <0x440 0x40>;
compatible = "aspeed,ast2400-i2c-bus";
Expand All @@ -685,7 +672,6 @@
i2c13: i2c-bus@480 {
#address-cells = <1>;
#size-cells = <0>;
#interrupt-cells = <1>;

reg = <0x480 0x40>;
compatible = "aspeed,ast2400-i2c-bus";
Expand Down
Loading

0 comments on commit 65f5dd4

Please sign in to comment.