Skip to content

Commit 03fc07a

Browse files
author
Paolo Abeni
committed
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Cross-merge networking fixes after downstream PR. No conflicts and no adjacent changes. Signed-off-by: Paolo Abeni <[email protected]>
2 parents 81bc949 + d44cd82 commit 03fc07a

File tree

498 files changed

+4773
-2561
lines changed

Some content is hidden

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

498 files changed

+4773
-2561
lines changed

.mailmap

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,8 @@ Andrey Ryabinin <[email protected]> <[email protected]>
7373
7474
7575
Andy Adamson <[email protected]>
76+
77+
7678
7779
7880
@@ -304,6 +306,11 @@ Jens Axboe <[email protected]> <[email protected]>
304306
305307
Jens Osterkamp <[email protected]>
306308
309+
Jesper Dangaard Brouer <[email protected]> <[email protected]>
310+
Jesper Dangaard Brouer <[email protected]> <[email protected]>
311+
Jesper Dangaard Brouer <[email protected]> <[email protected]>
312+
Jesper Dangaard Brouer <[email protected]> <[email protected]>
313+
Jesper Dangaard Brouer <[email protected]> <[email protected]>
307314
308315
309316

Documentation/admin-guide/LSM/ipe.rst

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,10 @@ are signed through the PKCS#7 message format to enforce some level of
223223
authorization of the policies (prohibiting an attacker from gaining
224224
unconstrained root, and deploying an "allow all" policy). These
225225
policies must be signed by a certificate that chains to the
226-
``SYSTEM_TRUSTED_KEYRING``. With openssl, the policy can be signed by::
226+
``SYSTEM_TRUSTED_KEYRING``, or to the secondary and/or platform keyrings if
227+
``CONFIG_IPE_POLICY_SIG_SECONDARY_KEYRING`` and/or
228+
``CONFIG_IPE_POLICY_SIG_PLATFORM_KEYRING`` are enabled, respectively.
229+
With openssl, the policy can be signed by::
227230

228231
openssl smime -sign \
229232
-in "$MY_POLICY" \
@@ -266,7 +269,7 @@ in the kernel. This file is write-only and accepts a PKCS#7 signed
266269
policy. Two checks will always be performed on this policy: First, the
267270
``policy_names`` must match with the updated version and the existing
268271
version. Second the updated policy must have a policy version greater than
269-
or equal to the currently-running version. This is to prevent rollback attacks.
272+
the currently-running version. This is to prevent rollback attacks.
270273

271274
The ``delete`` file is used to remove a policy that is no longer needed.
272275
This file is write-only and accepts a value of ``1`` to delete the policy.

Documentation/core-api/protection-keys.rst

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,10 @@ Pkeys Userspace (PKU) is a feature which can be found on:
1212
* Intel server CPUs, Skylake and later
1313
* Intel client CPUs, Tiger Lake (11th Gen Core) and later
1414
* Future AMD CPUs
15+
* arm64 CPUs implementing the Permission Overlay Extension (FEAT_S1POE)
1516

17+
x86_64
18+
======
1619
Pkeys work by dedicating 4 previously Reserved bits in each page table entry to
1720
a "protection key", giving 16 possible keys.
1821

@@ -28,6 +31,22 @@ register. The feature is only available in 64-bit mode, even though there is
2831
theoretically space in the PAE PTEs. These permissions are enforced on data
2932
access only and have no effect on instruction fetches.
3033

34+
arm64
35+
=====
36+
37+
Pkeys use 3 bits in each page table entry, to encode a "protection key index",
38+
giving 8 possible keys.
39+
40+
Protections for each key are defined with a per-CPU user-writable system
41+
register (POR_EL0). This is a 64-bit register encoding read, write and execute
42+
overlay permissions for each protection key index.
43+
44+
Being a CPU register, POR_EL0 is inherently thread-local, potentially giving
45+
each thread a different set of protections from every other thread.
46+
47+
Unlike x86_64, the protection key permissions also apply to instruction
48+
fetches.
49+
3150
Syscalls
3251
========
3352

@@ -38,11 +57,10 @@ There are 3 system calls which directly interact with pkeys::
3857
int pkey_mprotect(unsigned long start, size_t len,
3958
unsigned long prot, int pkey);
4059

41-
Before a pkey can be used, it must first be allocated with
42-
pkey_alloc(). An application calls the WRPKRU instruction
43-
directly in order to change access permissions to memory covered
44-
with a key. In this example WRPKRU is wrapped by a C function
45-
called pkey_set().
60+
Before a pkey can be used, it must first be allocated with pkey_alloc(). An
61+
application writes to the architecture specific CPU register directly in order
62+
to change access permissions to memory covered with a key. In this example
63+
this is wrapped by a C function called pkey_set().
4664
::
4765

4866
int real_prot = PROT_READ|PROT_WRITE;
@@ -64,9 +82,9 @@ is no longer in use::
6482
munmap(ptr, PAGE_SIZE);
6583
pkey_free(pkey);
6684

67-
.. note:: pkey_set() is a wrapper for the RDPKRU and WRPKRU instructions.
68-
An example implementation can be found in
69-
tools/testing/selftests/x86/protection_keys.c.
85+
.. note:: pkey_set() is a wrapper around writing to the CPU register.
86+
Example implementations can be found in
87+
tools/testing/selftests/mm/pkey-{arm64,powerpc,x86}.h
7088

7189
Behavior
7290
========
@@ -96,3 +114,7 @@ with a read()::
96114
The kernel will send a SIGSEGV in both cases, but si_code will be set
97115
to SEGV_PKERR when violating protection keys versus SEGV_ACCERR when
98116
the plain mprotect() permissions are violated.
117+
118+
Note that kernel accesses from a kthread (such as io_uring) will use a default
119+
value for the protection key register and so will not be consistent with
120+
userspace's value of the register or mprotect().

Documentation/devicetree/bindings/iio/dac/adi,ad5686.yaml

Lines changed: 17 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -4,49 +4,30 @@
44
$id: http://devicetree.org/schemas/iio/dac/adi,ad5686.yaml#
55
$schema: http://devicetree.org/meta-schemas/core.yaml#
66

7-
title: Analog Devices AD5360 and similar DACs
7+
title: Analog Devices AD5360 and similar SPI DACs
88

99
maintainers:
1010
- Michael Hennerich <[email protected]>
1111
- Jonathan Cameron <[email protected]>
1212

1313
properties:
1414
compatible:
15-
oneOf:
16-
- description: SPI devices
17-
enum:
18-
- adi,ad5310r
19-
- adi,ad5672r
20-
- adi,ad5674r
21-
- adi,ad5676
22-
- adi,ad5676r
23-
- adi,ad5679r
24-
- adi,ad5681r
25-
- adi,ad5682r
26-
- adi,ad5683
27-
- adi,ad5683r
28-
- adi,ad5684
29-
- adi,ad5684r
30-
- adi,ad5685r
31-
- adi,ad5686
32-
- adi,ad5686r
33-
- description: I2C devices
34-
enum:
35-
- adi,ad5311r
36-
- adi,ad5337r
37-
- adi,ad5338r
38-
- adi,ad5671r
39-
- adi,ad5675r
40-
- adi,ad5691r
41-
- adi,ad5692r
42-
- adi,ad5693
43-
- adi,ad5693r
44-
- adi,ad5694
45-
- adi,ad5694r
46-
- adi,ad5695r
47-
- adi,ad5696
48-
- adi,ad5696r
49-
15+
enum:
16+
- adi,ad5310r
17+
- adi,ad5672r
18+
- adi,ad5674r
19+
- adi,ad5676
20+
- adi,ad5676r
21+
- adi,ad5679r
22+
- adi,ad5681r
23+
- adi,ad5682r
24+
- adi,ad5683
25+
- adi,ad5683r
26+
- adi,ad5684
27+
- adi,ad5684r
28+
- adi,ad5685r
29+
- adi,ad5686
30+
- adi,ad5686r
5031

5132
reg:
5233
maxItems: 1

Documentation/devicetree/bindings/iio/dac/adi,ad5696.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
$id: http://devicetree.org/schemas/iio/dac/adi,ad5696.yaml#
55
$schema: http://devicetree.org/meta-schemas/core.yaml#
66

7-
title: Analog Devices AD5696 and similar multi-channel DACs
7+
title: Analog Devices AD5696 and similar I2C multi-channel DACs
88

99
maintainers:
1010
- Michael Auchter <[email protected]>
@@ -16,6 +16,7 @@ properties:
1616
compatible:
1717
enum:
1818
- adi,ad5311r
19+
- adi,ad5337r
1920
- adi,ad5338r
2021
- adi,ad5671r
2122
- adi,ad5675r

Documentation/filesystems/iomap/operations.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ The filesystem must arrange to `cancel
208208
such `reservations
209209
<https://lore.kernel.org/linux-xfs/[email protected]/>`_
210210
because writeback will not consume the reservation.
211-
The ``iomap_file_buffered_write_punch_delalloc`` can be called from a
211+
The ``iomap_write_delalloc_release`` can be called from a
212212
``->iomap_end`` function to find all the clean areas of the folios
213213
caching a fresh (``IOMAP_F_NEW``) delalloc mapping.
214214
It takes the ``invalidate_lock``.

Documentation/filesystems/netfs_library.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -592,4 +592,3 @@ API Function Reference
592592

593593
.. kernel-doc:: include/linux/netfs.h
594594
.. kernel-doc:: fs/netfs/buffered_read.c
595-
.. kernel-doc:: fs/netfs/io.c

Documentation/mm/damon/maintainer-profile.rst

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -7,26 +7,26 @@ The DAMON subsystem covers the files that are listed in 'DATA ACCESS MONITOR'
77
section of 'MAINTAINERS' file.
88

99
The mailing lists for the subsystem are [email protected] and
10-
[email protected]. Patches should be made against the mm-unstable `tree
11-
<https://git.kernel.org/akpm/mm/h/mm-unstable>` whenever possible and posted to
12-
the mailing lists.
10+
[email protected]. Patches should be made against the `mm-unstable tree
11+
<https://git.kernel.org/akpm/mm/h/mm-unstable>`_ whenever possible and posted
12+
to the mailing lists.
1313

1414
SCM Trees
1515
---------
1616

1717
There are multiple Linux trees for DAMON development. Patches under
1818
development or testing are queued in `damon/next
19-
<https://git.kernel.org/sj/h/damon/next>` by the DAMON maintainer.
19+
<https://git.kernel.org/sj/h/damon/next>`_ by the DAMON maintainer.
2020
Sufficiently reviewed patches will be queued in `mm-unstable
21-
<https://git.kernel.org/akpm/mm/h/mm-unstable>` by the memory management
21+
<https://git.kernel.org/akpm/mm/h/mm-unstable>`_ by the memory management
2222
subsystem maintainer. After more sufficient tests, the patches will be queued
23-
in `mm-stable <https://git.kernel.org/akpm/mm/h/mm-stable>` , and finally
23+
in `mm-stable <https://git.kernel.org/akpm/mm/h/mm-stable>`_, and finally
2424
pull-requested to the mainline by the memory management subsystem maintainer.
2525

26-
Note again the patches for mm-unstable `tree
27-
<https://git.kernel.org/akpm/mm/h/mm-unstable>` are queued by the memory
26+
Note again the patches for `mm-unstable tree
27+
<https://git.kernel.org/akpm/mm/h/mm-unstable>`_ are queued by the memory
2828
management subsystem maintainer. If the patches requires some patches in
29-
damon/next `tree <https://git.kernel.org/sj/h/damon/next>` which not yet merged
29+
`damon/next tree <https://git.kernel.org/sj/h/damon/next>`_ which not yet merged
3030
in mm-unstable, please make sure the requirement is clearly specified.
3131

3232
Submit checklist addendum
@@ -37,25 +37,25 @@ When making DAMON changes, you should do below.
3737
- Build changes related outputs including kernel and documents.
3838
- Ensure the builds introduce no new errors or warnings.
3939
- Run and ensure no new failures for DAMON `selftests
40-
<https://github.com/awslabs/damon-tests/blob/master/corr/run.sh#L49>` and
40+
<https://github.com/damonitor/damon-tests/blob/master/corr/run.sh#L49>`_ and
4141
`kunittests
42-
<https://github.com/awslabs/damon-tests/blob/master/corr/tests/kunit.sh>`.
42+
<https://github.com/damonitor/damon-tests/blob/master/corr/tests/kunit.sh>`_.
4343

4444
Further doing below and putting the results will be helpful.
4545

4646
- Run `damon-tests/corr
47-
<https://github.com/awslabs/damon-tests/tree/master/corr>` for normal
47+
<https://github.com/damonitor/damon-tests/tree/master/corr>`_ for normal
4848
changes.
4949
- Run `damon-tests/perf
50-
<https://github.com/awslabs/damon-tests/tree/master/perf>` for performance
50+
<https://github.com/damonitor/damon-tests/tree/master/perf>`_ for performance
5151
changes.
5252

5353
Key cycle dates
5454
---------------
5555

5656
Patches can be sent anytime. Key cycle dates of the `mm-unstable
57-
<https://git.kernel.org/akpm/mm/h/mm-unstable>` and `mm-stable
58-
<https://git.kernel.org/akpm/mm/h/mm-stable>` trees depend on the memory
57+
<https://git.kernel.org/akpm/mm/h/mm-unstable>`_ and `mm-stable
58+
<https://git.kernel.org/akpm/mm/h/mm-stable>`_ trees depend on the memory
5959
management subsystem maintainer.
6060

6161
Review cadence
@@ -72,13 +72,13 @@ Mailing tool
7272
Like many other Linux kernel subsystems, DAMON uses the mailing lists
7373
([email protected] and [email protected]) as the major communication
7474
channel. There is a simple tool called `HacKerMaiL
75-
<https://github.com/damonitor/hackermail>` (``hkml``), which is for people who
75+
<https://github.com/damonitor/hackermail>`_ (``hkml``), which is for people who
7676
are not very familiar with the mailing lists based communication. The tool
7777
could be particularly helpful for DAMON community members since it is developed
7878
and maintained by DAMON maintainer. The tool is also officially announced to
7979
support DAMON and general Linux kernel development workflow.
8080

81-
In other words, `hkml <https://github.com/damonitor/hackermail>` is a mailing
81+
In other words, `hkml <https://github.com/damonitor/hackermail>`_ is a mailing
8282
tool for DAMON community, which DAMON maintainer is committed to support.
8383
Please feel free to try and report issues or feature requests for the tool to
8484
the maintainer.
@@ -98,8 +98,8 @@ slots, and attendees should reserve one of those at least 24 hours before the
9898
time slot, by reaching out to the maintainer.
9999

100100
Schedules and available reservation time slots are available at the Google `doc
101-
<https://docs.google.com/document/d/1v43Kcj3ly4CYqmAkMaZzLiM2GEnWfgdGbZAH3mi2vpM/edit?usp=sharing>`.
101+
<https://docs.google.com/document/d/1v43Kcj3ly4CYqmAkMaZzLiM2GEnWfgdGbZAH3mi2vpM/edit?usp=sharing>`_.
102102
There is also a public Google `calendar
103-
<https://calendar.google.com/calendar/u/0?cid=ZDIwOTA4YTMxNjc2MDQ3NTIyMmUzYTM5ZmQyM2U4NDA0ZGIwZjBiYmJlZGQxNDM0MmY4ZTRjOTE0NjdhZDRiY0Bncm91cC5jYWxlbmRhci5nb29nbGUuY29t>`
103+
<https://calendar.google.com/calendar/u/0?cid=ZDIwOTA4YTMxNjc2MDQ3NTIyMmUzYTM5ZmQyM2U4NDA0ZGIwZjBiYmJlZGQxNDM0MmY4ZTRjOTE0NjdhZDRiY0Bncm91cC5jYWxlbmRhci5nb29nbGUuY29t>`_
104104
that has the events. Anyone can subscribe it. DAMON maintainer will also
105105
provide periodic reminder to the mailing list ([email protected]).

Documentation/process/maintainer-soc.rst

Lines changed: 37 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,13 @@ tree as a dedicated branch covering multiple subsystems.
3030
The main SoC tree is housed on git.kernel.org:
3131
https://git.kernel.org/pub/scm/linux/kernel/git/soc/soc.git/
3232

33+
Maintainers
34+
-----------
35+
3336
Clearly this is quite a wide range of topics, which no one person, or even
3437
small group of people are capable of maintaining. Instead, the SoC subsystem
35-
is comprised of many submaintainers, each taking care of individual platforms
36-
and driver subdirectories.
38+
is comprised of many submaintainers (platform maintainers), each taking care of
39+
individual platforms and driver subdirectories.
3740
In this regard, "platform" usually refers to a series of SoCs from a given
3841
vendor, for example, Nvidia's series of Tegra SoCs. Many submaintainers operate
3942
on a vendor level, responsible for multiple product lines. For several reasons,
@@ -43,14 +46,43 @@ MAINTAINERS file.
4346

4447
Most of these submaintainers have their own trees where they stage patches,
4548
sending pull requests to the main SoC tree. These trees are usually, but not
46-
always, listed in MAINTAINERS. The main SoC maintainers can be reached via the
47-
alias [email protected] if there is no platform-specific maintainer, or if they
48-
are unresponsive.
49+
always, listed in MAINTAINERS.
4950

5051
What the SoC tree is not, however, is a location for architecture-specific code
5152
changes. Each architecture has its own maintainers that are responsible for
5253
architectural details, CPU errata and the like.
5354

55+
Submitting Patches for Given SoC
56+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
57+
58+
All typical platform related patches should be sent via SoC submaintainers
59+
(platform-specific maintainers). This includes also changes to per-platform or
60+
shared defconfigs (scripts/get_maintainer.pl might not provide correct
61+
addresses in such case).
62+
63+
Submitting Patches to the Main SoC Maintainers
64+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65+
66+
The main SoC maintainers can be reached via the alias [email protected] only in
67+
following cases:
68+
69+
1. There are no platform-specific maintainers.
70+
71+
2. Platform-specific maintainers are unresponsive.
72+
73+
3. Introducing a completely new SoC platform. Such new SoC work should be sent
74+
first to common mailing lists, pointed out by scripts/get_maintainer.pl, for
75+
community review. After positive community review, work should be sent to
76+
[email protected] in one patchset containing new arch/foo/Kconfig entry, DTS
77+
files, MAINTAINERS file entry and optionally initial drivers with their
78+
Devicetree bindings. The MAINTAINERS file entry should list new
79+
platform-specific maintainers, who are going to be responsible for handling
80+
patches for the platform from now on.
81+
82+
Note that the [email protected] is usually not the place to discuss the patches,
83+
thus work sent to this address should be already considered as acceptable by
84+
the community.
85+
5486
Information for (new) Submaintainers
5587
------------------------------------
5688

Documentation/virt/kvm/api.rst

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8098,13 +8098,15 @@ KVM_X86_QUIRK_MWAIT_NEVER_UD_FAULTS By default, KVM emulates MONITOR/MWAIT (if
80988098
KVM_X86_QUIRK_MISC_ENABLE_NO_MWAIT is
80998099
disabled.
81008100

8101-
KVM_X86_QUIRK_SLOT_ZAP_ALL By default, KVM invalidates all SPTEs in
8102-
fast way for memslot deletion when VM type
8103-
is KVM_X86_DEFAULT_VM.
8104-
When this quirk is disabled or when VM type
8105-
is other than KVM_X86_DEFAULT_VM, KVM zaps
8106-
only leaf SPTEs that are within the range of
8107-
the memslot being deleted.
8101+
KVM_X86_QUIRK_SLOT_ZAP_ALL By default, for KVM_X86_DEFAULT_VM VMs, KVM
8102+
invalidates all SPTEs in all memslots and
8103+
address spaces when a memslot is deleted or
8104+
moved. When this quirk is disabled (or the
8105+
VM type isn't KVM_X86_DEFAULT_VM), KVM only
8106+
ensures the backing memory of the deleted
8107+
or moved memslot isn't reachable, i.e KVM
8108+
_may_ invalidate only SPTEs related to the
8109+
memslot.
81088110
=================================== ============================================
81098111

81108112
7.32 KVM_CAP_MAX_VCPU_ID

0 commit comments

Comments
 (0)