Skip to content

Commit

Permalink
Merge branch 'master' into mm-stable
Browse files Browse the repository at this point in the history
  • Loading branch information
akpm00 committed Mar 18, 2024
2 parents 270700d + e8f897f commit 5e28061
Show file tree
Hide file tree
Showing 754 changed files with 8,050 additions and 3,997 deletions.
6 changes: 6 additions & 0 deletions .mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -325,6 +325,7 @@ Kenneth W Chen <[email protected]>
Kenneth Westfield <[email protected]> <[email protected]>
Kiran Gunda <[email protected]> <[email protected]>
Kirill Tkhai <[email protected]> <[email protected]>
Kishon Vijay Abraham I <[email protected]> <[email protected]>
Konstantin Khlebnikov <[email protected]> <[email protected]>
Konstantin Khlebnikov <[email protected]> <[email protected]>
Koushik <[email protected]>
Expand Down Expand Up @@ -609,6 +610,11 @@ TripleX Chung <[email protected]> <[email protected]>
TripleX Chung <[email protected]> <[email protected]>
Tsuneo Yoshioka <[email protected]>
Tudor Ambarus <[email protected]> <[email protected]>
Tvrtko Ursulin <[email protected]> <[email protected]>
Tvrtko Ursulin <[email protected]> <[email protected]>
Tvrtko Ursulin <[email protected]> <[email protected]>
Tvrtko Ursulin <[email protected]> <[email protected]>
Tvrtko Ursulin <[email protected]> <[email protected]>
Tycho Andersen <[email protected]> <[email protected]>
Tzung-Bi Shih <[email protected]> <[email protected]>
Uwe Kleine-König <[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
2 changes: 2 additions & 0 deletions Documentation/devicetree/bindings/net/renesas,ethertsn.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,11 @@ properties:

rx-internal-delay-ps:
enum: [0, 1800]
default: 0

tx-internal-delay-ps:
enum: [0, 2000]
default: 0

'#address-cells':
const: 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ examples:
#include <dt-bindings/clock/tegra30-car.h>
#include <dt-bindings/soc/tegra-pmc.h>
sound {
compatible = "lge,tegra-audio-max98089-p895",
compatible = "lg,tegra-audio-max98089-p895",
"nvidia,tegra-audio-max98089";
nvidia,model = "LG Optimus Vu MAX98089";
Expand Down
2 changes: 1 addition & 1 deletion Documentation/driver-api/dpll.rst
Original file line number Diff line number Diff line change
Expand Up @@ -545,7 +545,7 @@ In such scenario, dpll device input signal shall be also configurable
to drive dpll with signal recovered from the PHY netdevice.
This is done by exposing a pin to the netdevice - attaching pin to the
netdevice itself with
``netdev_dpll_pin_set(struct net_device *dev, struct dpll_pin *dpll_pin)``.
``dpll_netdev_pin_set(struct net_device *dev, struct dpll_pin *dpll_pin)``.
Exposed pin id handle ``DPLL_A_PIN_ID`` is then identifiable by the user
as it is attached to rtnetlink respond to get ``RTM_NEWLINK`` command in
nested attribute ``IFLA_DPLL_PIN``.
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
2 changes: 1 addition & 1 deletion Documentation/process/maintainer-netdev.rst
Original file line number Diff line number Diff line change
Expand Up @@ -431,7 +431,7 @@ patchwork checks
Checks in patchwork are mostly simple wrappers around existing kernel
scripts, the sources are available at:

https://github.com/kuba-moo/nipa/tree/master/tests
https://github.com/linux-netdev/nipa/tree/master/tests

**Do not** post your patches just to run them through the checks.
You must ensure that your patches are ready by testing them locally
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
1 change: 1 addition & 0 deletions Documentation/virt/hyperv/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@ Hyper-V Enlightenments
overview
vmbus
clocks
vpci
Loading

0 comments on commit 5e28061

Please sign in to comment.