Skip to content

Commit 9d516c9

Browse files
committed
Merge remote-tracking branch 'stable/linux-6.1.y' into rpi-6.1.y
2 parents c4e422e + 52a953d commit 9d516c9

File tree

233 files changed

+3170
-1771
lines changed

Some content is hidden

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

233 files changed

+3170
-1771
lines changed

Documentation/ABI/testing/sysfs-module

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,14 @@ Description: Module taint flags:
6060
C staging driver module
6161
E unsigned module
6262
== =====================
63+
64+
What: /sys/module/grant_table/parameters/free_per_iteration
65+
Date: July 2023
66+
KernelVersion: 6.5 but backported to all supported stable branches
67+
Contact: Xen developer discussion <[email protected]>
68+
Description: Read and write number of grant entries to attempt to free per iteration.
69+
70+
Note: Future versions of Xen and Linux may provide a better
71+
interface for controlling the rate of deferred grant reclaim
72+
or may not need it at all.
73+
Users: Qubes OS (https://www.qubes-os.org)

Documentation/admin-guide/security-bugs.rst

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -63,31 +63,28 @@ information submitted to the security list and any followup discussions
6363
of the report are treated confidentially even after the embargo has been
6464
lifted, in perpetuity.
6565

66-
Coordination
67-
------------
68-
69-
Fixes for sensitive bugs, such as those that might lead to privilege
70-
escalations, may need to be coordinated with the private
71-
<[email protected]> mailing list so that distribution vendors
72-
are well prepared to issue a fixed kernel upon public disclosure of the
73-
upstream fix. Distros will need some time to test the proposed patch and
74-
will generally request at least a few days of embargo, and vendor update
75-
publication prefers to happen Tuesday through Thursday. When appropriate,
76-
the security team can assist with this coordination, or the reporter can
77-
include linux-distros from the start. In this case, remember to prefix
78-
the email Subject line with "[vs]" as described in the linux-distros wiki:
79-
<http://oss-security.openwall.org/wiki/mailing-lists/distros#how-to-use-the-lists>
66+
Coordination with other groups
67+
------------------------------
68+
69+
The kernel security team strongly recommends that reporters of potential
70+
security issues NEVER contact the "linux-distros" mailing list until
71+
AFTER discussing it with the kernel security team. Do not Cc: both
72+
lists at once. You may contact the linux-distros mailing list after a
73+
fix has been agreed on and you fully understand the requirements that
74+
doing so will impose on you and the kernel community.
75+
76+
The different lists have different goals and the linux-distros rules do
77+
not contribute to actually fixing any potential security problems.
8078

8179
CVE assignment
8280
--------------
8381

84-
The security team does not normally assign CVEs, nor do we require them
85-
for reports or fixes, as this can needlessly complicate the process and
86-
may delay the bug handling. If a reporter wishes to have a CVE identifier
87-
assigned ahead of public disclosure, they will need to contact the private
88-
linux-distros list, described above. When such a CVE identifier is known
89-
before a patch is provided, it is desirable to mention it in the commit
90-
message if the reporter agrees.
82+
The security team does not assign CVEs, nor do we require them for
83+
reports or fixes, as this can needlessly complicate the process and may
84+
delay the bug handling. If a reporter wishes to have a CVE identifier
85+
assigned, they should find one by themselves, for example by contacting
86+
MITRE directly. However under no circumstances will a patch inclusion
87+
be delayed to wait for a CVE identifier to arrive.
9188

9289
Non-disclosure agreements
9390
-------------------------

Documentation/arm64/silicon-errata.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,9 @@ stable kernels.
5252
| Allwinner | A64/R18 | UNKNOWN1 | SUN50I_ERRATUM_UNKNOWN1 |
5353
+----------------+-----------------+-----------------+-----------------------------+
5454
+----------------+-----------------+-----------------+-----------------------------+
55+
| Ampere | AmpereOne | AC03_CPU_38 | AMPERE_ERRATUM_AC03_CPU_38 |
56+
+----------------+-----------------+-----------------+-----------------------------+
57+
+----------------+-----------------+-----------------+-----------------------------+
5558
| ARM | Cortex-A510 | #2457168 | ARM64_ERRATUM_2457168 |
5659
+----------------+-----------------+-----------------+-----------------------------+
5760
| ARM | Cortex-A510 | #2064142 | ARM64_ERRATUM_2064142 |

Documentation/trace/kprobetrace.rst

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@ Synopsis of kprobe_events
5858
NAME=FETCHARG : Set NAME as the argument name of FETCHARG.
5959
FETCHARG:TYPE : Set TYPE as the type of FETCHARG. Currently, basic types
6060
(u8/u16/u32/u64/s8/s16/s32/s64), hexadecimal types
61-
(x8/x16/x32/x64), "string", "ustring" and bitfield
62-
are supported.
61+
(x8/x16/x32/x64), "string", "ustring", "symbol", "symstr"
62+
and bitfield are supported.
6363

6464
(\*1) only for the probe on function entry (offs == 0).
6565
(\*2) only for return probe.
@@ -96,6 +96,10 @@ offset, and container-size (usually 32). The syntax is::
9696

9797
Symbol type('symbol') is an alias of u32 or u64 type (depends on BITS_PER_LONG)
9898
which shows given pointer in "symbol+offset" style.
99+
On the other hand, symbol-string type ('symstr') converts the given address to
100+
"symbol+offset/symbolsize" style and stores it as a null-terminated string.
101+
With 'symstr' type, you can filter the event with wildcard pattern of the
102+
symbols, and you don't need to solve symbol name by yourself.
99103
For $comm, the default type is "string"; any other type is invalid.
100104

101105
.. _user_mem_access:

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# SPDX-License-Identifier: GPL-2.0
22
VERSION = 6
33
PATCHLEVEL = 1
4-
SUBLEVEL = 42
4+
SUBLEVEL = 43
55
EXTRAVERSION =
66
NAME = Curry Ramen
77

arch/arm64/Kconfig

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -376,6 +376,25 @@ menu "Kernel Features"
376376

377377
menu "ARM errata workarounds via the alternatives framework"
378378

379+
config AMPERE_ERRATUM_AC03_CPU_38
380+
bool "AmpereOne: AC03_CPU_38: Certain bits in the Virtualization Translation Control Register and Translation Control Registers do not follow RES0 semantics"
381+
default y
382+
help
383+
This option adds an alternative code sequence to work around Ampere
384+
erratum AC03_CPU_38 on AmpereOne.
385+
386+
The affected design reports FEAT_HAFDBS as not implemented in
387+
ID_AA64MMFR1_EL1.HAFDBS, but (V)TCR_ELx.{HA,HD} are not RES0
388+
as required by the architecture. The unadvertised HAFDBS
389+
implementation suffers from an additional erratum where hardware
390+
A/D updates can occur after a PTE has been marked invalid.
391+
392+
The workaround forces KVM to explicitly set VTCR_EL2.HA to 0,
393+
which avoids enabling unadvertised hardware Access Flag management
394+
at stage-2.
395+
396+
If unsure, say Y.
397+
379398
config ARM64_WORKAROUND_CLEAN_CACHE
380399
bool
381400

arch/arm64/kernel/cpu_errata.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -722,6 +722,13 @@ const struct arm64_cpu_capabilities arm64_errata[] = {
722722
MIDR_FIXED(MIDR_CPU_VAR_REV(1,1), BIT(25)),
723723
.cpu_enable = cpu_clear_bf16_from_user_emulation,
724724
},
725+
#endif
726+
#ifdef CONFIG_AMPERE_ERRATUM_AC03_CPU_38
727+
{
728+
.desc = "AmpereOne erratum AC03_CPU_38",
729+
.capability = ARM64_WORKAROUND_AMPERE_AC03_CPU_38,
730+
ERRATA_MIDR_ALL_VERSIONS(MIDR_AMPERE1),
731+
},
725732
#endif
726733
{
727734
}

arch/arm64/kernel/fpsimd.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -871,6 +871,8 @@ int vec_set_vector_length(struct task_struct *task, enum vec_type type,
871871
if (task == current)
872872
put_cpu_fpsimd_context();
873873

874+
task_set_vl(task, type, vl);
875+
874876
/*
875877
* Free the changed states if they are not in use, SME will be
876878
* reallocated to the correct size on next use and we just
@@ -885,8 +887,6 @@ int vec_set_vector_length(struct task_struct *task, enum vec_type type,
885887
if (free_sme)
886888
sme_free(task);
887889

888-
task_set_vl(task, type, vl);
889-
890890
out:
891891
update_tsk_thread_flag(task, vec_vl_inherit_flag(type),
892892
flags & PR_SVE_VL_INHERIT);

arch/arm64/kvm/hyp/pgtable.c

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -595,12 +595,22 @@ u64 kvm_get_vtcr(u64 mmfr0, u64 mmfr1, u32 phys_shift)
595595
lvls = 2;
596596
vtcr |= VTCR_EL2_LVLS_TO_SL0(lvls);
597597

598+
#ifdef CONFIG_ARM64_HW_AFDBM
598599
/*
599600
* Enable the Hardware Access Flag management, unconditionally
600-
* on all CPUs. The features is RES0 on CPUs without the support
601-
* and must be ignored by the CPUs.
601+
* on all CPUs. In systems that have asymmetric support for the feature
602+
* this allows KVM to leverage hardware support on the subset of cores
603+
* that implement the feature.
604+
*
605+
* The architecture requires VTCR_EL2.HA to be RES0 (thus ignored by
606+
* hardware) on implementations that do not advertise support for the
607+
* feature. As such, setting HA unconditionally is safe, unless you
608+
* happen to be running on a design that has unadvertised support for
609+
* HAFDBS. Here be dragons.
602610
*/
603-
vtcr |= VTCR_EL2_HA;
611+
if (!cpus_have_final_cap(ARM64_WORKAROUND_AMPERE_AC03_CPU_38))
612+
vtcr |= VTCR_EL2_HA;
613+
#endif /* CONFIG_ARM64_HW_AFDBM */
604614

605615
/* Set the vmid bits */
606616
vtcr |= (get_vmid_bits(mmfr1) == 16) ?

arch/arm64/tools/cpucaps

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ WORKAROUND_2064142
7171
WORKAROUND_2077057
7272
WORKAROUND_2457168
7373
WORKAROUND_2658417
74+
WORKAROUND_AMPERE_AC03_CPU_38
7475
WORKAROUND_TRBE_OVERWRITE_FILL_MODE
7576
WORKAROUND_TSB_FLUSH_FAILURE
7677
WORKAROUND_TRBE_WRITE_OUT_OF_RANGE

0 commit comments

Comments
 (0)