Skip to content

Commit d035b4b

Browse files
author
Wolfram Sang
committed
Merge tag 'i2c-host-fixes-6.17-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/andi.shyti/linux into i2c/for-current
i2c-host-fixes for v6.17-rc5 - i801: fix device IDs - in rtl9300: - fix channel number check in probe - check data length boundaries in xfer - drop unsupported SMBus quick operation
2 parents 1b237f1 + ede965f commit d035b4b

File tree

323 files changed

+3004
-2013
lines changed

Some content is hidden

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

323 files changed

+3004
-2013
lines changed

CREDITS

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3222,6 +3222,10 @@ D: AIC5800 IEEE 1394, RAW I/O on 1394
32223222
D: Starter of Linux1394 effort
32233223
S: ask per mail for current address
32243224

3225+
N: Boris Pismenny
3226+
E: borisp@mellanox.com
3227+
D: Kernel TLS implementation and offload support.
3228+
32253229
N: Nicolas Pitre
32263230
E: nico@fluxnic.net
32273231
D: StrongARM SA1100 support integrator & hacker
@@ -4168,6 +4172,9 @@ S: 1513 Brewster Dr.
41684172
S: Carrollton, TX 75010
41694173
S: USA
41704174

4175+
N: Dave Watson
4176+
D: Kernel TLS implementation.
4177+
41714178
N: Tim Waugh
41724179
E: tim@cyberelk.net
41734180
D: Co-architect of the parallel-port sharing system

Documentation/admin-guide/hw-vuln/attack_vector_controls.rst

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ Spectre_v2 X X
215215
Spectre_v2_user X X * (Note 1)
216216
SRBDS X X X X
217217
SRSO X X X X
218-
SSB (Note 4)
218+
SSB X
219219
TAA X X X X * (Note 2)
220220
TSA X X X X
221221
=============== ============== ============ ============= ============== ============ ========
@@ -229,9 +229,6 @@ Notes:
229229
3 -- Disables SMT if cross-thread mitigations are fully enabled, the CPU is
230230
vulnerable, and STIBP is not supported
231231

232-
4 -- Speculative store bypass is always enabled by default (no kernel
233-
mitigation applied) unless overridden with spec_store_bypass_disable option
234-
235232
When an attack-vector is disabled, all mitigations for the vulnerabilities
236233
listed in the above table are disabled, unless mitigation is required for a
237234
different enabled attack-vector or a mitigation is explicitly selected via a

Documentation/devicetree/bindings/display/msm/qcom,mdp5.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ properties:
6060
- const: bus
6161
- const: core
6262
- const: vsync
63-
- const: lut
6463
- const: tbu
6564
- const: tbu_rt
6665
# MSM8996 has additional iommu clock

Documentation/devicetree/bindings/vendor-prefixes.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -507,6 +507,8 @@ patternProperties:
507507
description: Espressif Systems Co. Ltd.
508508
"^est,.*":
509509
description: ESTeem Wireless Modems
510+
"^eswin,.*":
511+
description: Beijing ESWIN Technology Group Co. Ltd.
510512
"^ettus,.*":
511513
description: NI Ettus Research
512514
"^eukrea,.*":

MAINTAINERS

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -931,13 +931,13 @@ F: Documentation/devicetree/bindings/dma/altr,msgdma.yaml
931931
F: drivers/dma/altera-msgdma.c
932932

933933
ALTERA PIO DRIVER
934-
M: Mun Yew Tham <mun.yew.tham@intel.com>
934+
M: Adrian Ng <adrianhoyin.ng@altera.com>
935935
L: linux-gpio@vger.kernel.org
936936
S: Maintained
937937
F: drivers/gpio/gpio-altera.c
938938

939939
ALTERA TRIPLE SPEED ETHERNET DRIVER
940-
M: Joyce Ooi <joyce.ooi@intel.com>
940+
M: Boon Khai Ng <boon.khai.ng@altera.com>
941941
L: netdev@vger.kernel.org
942942
S: Maintained
943943
F: drivers/net/ethernet/altera/
@@ -4205,7 +4205,7 @@ W: http://www.baycom.org/~tom/ham/ham.html
42054205
F: drivers/net/hamradio/baycom*
42064206

42074207
BCACHE (BLOCK LAYER CACHE)
4208-
M: Coly Li <colyli@kernel.org>
4208+
M: Coly Li <colyli@fnnas.com>
42094209
M: Kent Overstreet <kent.overstreet@linux.dev>
42104210
L: linux-bcache@vger.kernel.org
42114211
S: Maintained
@@ -4216,7 +4216,7 @@ F: drivers/md/bcache/
42164216
BCACHEFS
42174217
M: Kent Overstreet <kent.overstreet@linux.dev>
42184218
L: linux-bcachefs@vger.kernel.org
4219-
S: Supported
4219+
S: Externally maintained
42204220
C: irc://irc.oftc.net/bcache
42214221
P: Documentation/filesystems/bcachefs/SubmittingPatches.rst
42224222
T: git https://evilpiepirate.org/git/bcachefs.git
@@ -17848,7 +17848,6 @@ F: net/ipv6/syncookies.c
1784817848
F: net/ipv6/tcp*.c
1784917849

1785017850
NETWORKING [TLS]
17851-
M: Boris Pismenny <borisp@nvidia.com>
1785217851
M: John Fastabend <john.fastabend@gmail.com>
1785317852
M: Jakub Kicinski <kuba@kernel.org>
1785417853
L: netdev@vger.kernel.org
@@ -20878,8 +20877,8 @@ S: Maintained
2087820877
F: drivers/firmware/qcom/qcom_qseecom_uefisecapp.c
2087920878

2088020879
QUALCOMM RMNET DRIVER
20881-
M: Subash Abhinov Kasiviswanathan <quic_subashab@quicinc.com>
20882-
M: Sean Tranchetti <quic_stranche@quicinc.com>
20880+
M: Subash Abhinov Kasiviswanathan <subash.a.kasiviswanathan@oss.qualcomm.com>
20881+
M: Sean Tranchetti <sean.tranchetti@oss.qualcomm.com>
2088320882
L: netdev@vger.kernel.org
2088420883
S: Maintained
2088520884
F: Documentation/networking/device_drivers/cellular/qualcomm/rmnet.rst

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
VERSION = 6
33
PATCHLEVEL = 17
44
SUBLEVEL = 0
5-
EXTRAVERSION = -rc3
5+
EXTRAVERSION = -rc4
66
NAME = Baby Opossum Posse
77

88
# *DOCUMENTATION*

arch/arm/include/asm/stacktrace.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22
#ifndef __ASM_STACKTRACE_H
33
#define __ASM_STACKTRACE_H
44

5-
#include <asm/ptrace.h>
65
#include <linux/llist.h>
6+
#include <asm/ptrace.h>
7+
#include <asm/sections.h>
78

89
struct stackframe {
910
/*

arch/arm64/include/asm/kvm_host.h

Lines changed: 2 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -1160,115 +1160,8 @@ u64 kvm_vcpu_apply_reg_masks(const struct kvm_vcpu *, enum vcpu_sysreg, u64);
11601160
__v; \
11611161
})
11621162

1163-
u64 vcpu_read_sys_reg(const struct kvm_vcpu *vcpu, int reg);
1164-
void vcpu_write_sys_reg(struct kvm_vcpu *vcpu, u64 val, int reg);
1165-
1166-
static inline bool __vcpu_read_sys_reg_from_cpu(int reg, u64 *val)
1167-
{
1168-
/*
1169-
* *** VHE ONLY ***
1170-
*
1171-
* System registers listed in the switch are not saved on every
1172-
* exit from the guest but are only saved on vcpu_put.
1173-
*
1174-
* SYSREGS_ON_CPU *MUST* be checked before using this helper.
1175-
*
1176-
* Note that MPIDR_EL1 for the guest is set by KVM via VMPIDR_EL2 but
1177-
* should never be listed below, because the guest cannot modify its
1178-
* own MPIDR_EL1 and MPIDR_EL1 is accessed for VCPU A from VCPU B's
1179-
* thread when emulating cross-VCPU communication.
1180-
*/
1181-
if (!has_vhe())
1182-
return false;
1183-
1184-
switch (reg) {
1185-
case SCTLR_EL1: *val = read_sysreg_s(SYS_SCTLR_EL12); break;
1186-
case CPACR_EL1: *val = read_sysreg_s(SYS_CPACR_EL12); break;
1187-
case TTBR0_EL1: *val = read_sysreg_s(SYS_TTBR0_EL12); break;
1188-
case TTBR1_EL1: *val = read_sysreg_s(SYS_TTBR1_EL12); break;
1189-
case TCR_EL1: *val = read_sysreg_s(SYS_TCR_EL12); break;
1190-
case TCR2_EL1: *val = read_sysreg_s(SYS_TCR2_EL12); break;
1191-
case PIR_EL1: *val = read_sysreg_s(SYS_PIR_EL12); break;
1192-
case PIRE0_EL1: *val = read_sysreg_s(SYS_PIRE0_EL12); break;
1193-
case POR_EL1: *val = read_sysreg_s(SYS_POR_EL12); break;
1194-
case ESR_EL1: *val = read_sysreg_s(SYS_ESR_EL12); break;
1195-
case AFSR0_EL1: *val = read_sysreg_s(SYS_AFSR0_EL12); break;
1196-
case AFSR1_EL1: *val = read_sysreg_s(SYS_AFSR1_EL12); break;
1197-
case FAR_EL1: *val = read_sysreg_s(SYS_FAR_EL12); break;
1198-
case MAIR_EL1: *val = read_sysreg_s(SYS_MAIR_EL12); break;
1199-
case VBAR_EL1: *val = read_sysreg_s(SYS_VBAR_EL12); break;
1200-
case CONTEXTIDR_EL1: *val = read_sysreg_s(SYS_CONTEXTIDR_EL12);break;
1201-
case TPIDR_EL0: *val = read_sysreg_s(SYS_TPIDR_EL0); break;
1202-
case TPIDRRO_EL0: *val = read_sysreg_s(SYS_TPIDRRO_EL0); break;
1203-
case TPIDR_EL1: *val = read_sysreg_s(SYS_TPIDR_EL1); break;
1204-
case AMAIR_EL1: *val = read_sysreg_s(SYS_AMAIR_EL12); break;
1205-
case CNTKCTL_EL1: *val = read_sysreg_s(SYS_CNTKCTL_EL12); break;
1206-
case ELR_EL1: *val = read_sysreg_s(SYS_ELR_EL12); break;
1207-
case SPSR_EL1: *val = read_sysreg_s(SYS_SPSR_EL12); break;
1208-
case PAR_EL1: *val = read_sysreg_par(); break;
1209-
case DACR32_EL2: *val = read_sysreg_s(SYS_DACR32_EL2); break;
1210-
case IFSR32_EL2: *val = read_sysreg_s(SYS_IFSR32_EL2); break;
1211-
case DBGVCR32_EL2: *val = read_sysreg_s(SYS_DBGVCR32_EL2); break;
1212-
case ZCR_EL1: *val = read_sysreg_s(SYS_ZCR_EL12); break;
1213-
case SCTLR2_EL1: *val = read_sysreg_s(SYS_SCTLR2_EL12); break;
1214-
default: return false;
1215-
}
1216-
1217-
return true;
1218-
}
1219-
1220-
static inline bool __vcpu_write_sys_reg_to_cpu(u64 val, int reg)
1221-
{
1222-
/*
1223-
* *** VHE ONLY ***
1224-
*
1225-
* System registers listed in the switch are not restored on every
1226-
* entry to the guest but are only restored on vcpu_load.
1227-
*
1228-
* SYSREGS_ON_CPU *MUST* be checked before using this helper.
1229-
*
1230-
* Note that MPIDR_EL1 for the guest is set by KVM via VMPIDR_EL2 but
1231-
* should never be listed below, because the MPIDR should only be set
1232-
* once, before running the VCPU, and never changed later.
1233-
*/
1234-
if (!has_vhe())
1235-
return false;
1236-
1237-
switch (reg) {
1238-
case SCTLR_EL1: write_sysreg_s(val, SYS_SCTLR_EL12); break;
1239-
case CPACR_EL1: write_sysreg_s(val, SYS_CPACR_EL12); break;
1240-
case TTBR0_EL1: write_sysreg_s(val, SYS_TTBR0_EL12); break;
1241-
case TTBR1_EL1: write_sysreg_s(val, SYS_TTBR1_EL12); break;
1242-
case TCR_EL1: write_sysreg_s(val, SYS_TCR_EL12); break;
1243-
case TCR2_EL1: write_sysreg_s(val, SYS_TCR2_EL12); break;
1244-
case PIR_EL1: write_sysreg_s(val, SYS_PIR_EL12); break;
1245-
case PIRE0_EL1: write_sysreg_s(val, SYS_PIRE0_EL12); break;
1246-
case POR_EL1: write_sysreg_s(val, SYS_POR_EL12); break;
1247-
case ESR_EL1: write_sysreg_s(val, SYS_ESR_EL12); break;
1248-
case AFSR0_EL1: write_sysreg_s(val, SYS_AFSR0_EL12); break;
1249-
case AFSR1_EL1: write_sysreg_s(val, SYS_AFSR1_EL12); break;
1250-
case FAR_EL1: write_sysreg_s(val, SYS_FAR_EL12); break;
1251-
case MAIR_EL1: write_sysreg_s(val, SYS_MAIR_EL12); break;
1252-
case VBAR_EL1: write_sysreg_s(val, SYS_VBAR_EL12); break;
1253-
case CONTEXTIDR_EL1: write_sysreg_s(val, SYS_CONTEXTIDR_EL12);break;
1254-
case TPIDR_EL0: write_sysreg_s(val, SYS_TPIDR_EL0); break;
1255-
case TPIDRRO_EL0: write_sysreg_s(val, SYS_TPIDRRO_EL0); break;
1256-
case TPIDR_EL1: write_sysreg_s(val, SYS_TPIDR_EL1); break;
1257-
case AMAIR_EL1: write_sysreg_s(val, SYS_AMAIR_EL12); break;
1258-
case CNTKCTL_EL1: write_sysreg_s(val, SYS_CNTKCTL_EL12); break;
1259-
case ELR_EL1: write_sysreg_s(val, SYS_ELR_EL12); break;
1260-
case SPSR_EL1: write_sysreg_s(val, SYS_SPSR_EL12); break;
1261-
case PAR_EL1: write_sysreg_s(val, SYS_PAR_EL1); break;
1262-
case DACR32_EL2: write_sysreg_s(val, SYS_DACR32_EL2); break;
1263-
case IFSR32_EL2: write_sysreg_s(val, SYS_IFSR32_EL2); break;
1264-
case DBGVCR32_EL2: write_sysreg_s(val, SYS_DBGVCR32_EL2); break;
1265-
case ZCR_EL1: write_sysreg_s(val, SYS_ZCR_EL12); break;
1266-
case SCTLR2_EL1: write_sysreg_s(val, SYS_SCTLR2_EL12); break;
1267-
default: return false;
1268-
}
1269-
1270-
return true;
1271-
}
1163+
u64 vcpu_read_sys_reg(const struct kvm_vcpu *, enum vcpu_sysreg);
1164+
void vcpu_write_sys_reg(struct kvm_vcpu *, u64, enum vcpu_sysreg);
12721165

12731166
struct kvm_vm_stat {
12741167
struct kvm_vm_stat_generic generic;

arch/arm64/include/asm/kvm_mmu.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,7 @@ void kvm_free_stage2_pgd(struct kvm_s2_mmu *mmu);
180180
int kvm_phys_addr_ioremap(struct kvm *kvm, phys_addr_t guest_ipa,
181181
phys_addr_t pa, unsigned long size, bool writable);
182182

183+
int kvm_handle_guest_sea(struct kvm_vcpu *vcpu);
183184
int kvm_handle_guest_abort(struct kvm_vcpu *vcpu);
184185

185186
phys_addr_t kvm_mmu_get_httbr(void);

arch/arm64/include/asm/kvm_pgtable.h

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -355,6 +355,11 @@ static inline kvm_pte_t *kvm_dereference_pteref(struct kvm_pgtable_walker *walke
355355
return pteref;
356356
}
357357

358+
static inline kvm_pte_t *kvm_dereference_pteref_raw(kvm_pteref_t pteref)
359+
{
360+
return pteref;
361+
}
362+
358363
static inline int kvm_pgtable_walk_begin(struct kvm_pgtable_walker *walker)
359364
{
360365
/*
@@ -384,6 +389,11 @@ static inline kvm_pte_t *kvm_dereference_pteref(struct kvm_pgtable_walker *walke
384389
return rcu_dereference_check(pteref, !(walker->flags & KVM_PGTABLE_WALK_SHARED));
385390
}
386391

392+
static inline kvm_pte_t *kvm_dereference_pteref_raw(kvm_pteref_t pteref)
393+
{
394+
return rcu_dereference_raw(pteref);
395+
}
396+
387397
static inline int kvm_pgtable_walk_begin(struct kvm_pgtable_walker *walker)
388398
{
389399
if (walker->flags & KVM_PGTABLE_WALK_SHARED)
@@ -551,6 +561,26 @@ static inline int kvm_pgtable_stage2_init(struct kvm_pgtable *pgt, struct kvm_s2
551561
*/
552562
void kvm_pgtable_stage2_destroy(struct kvm_pgtable *pgt);
553563

564+
/**
565+
* kvm_pgtable_stage2_destroy_range() - Destroy the unlinked range of addresses.
566+
* @pgt: Page-table structure initialised by kvm_pgtable_stage2_init*().
567+
* @addr: Intermediate physical address at which to place the mapping.
568+
* @size: Size of the mapping.
569+
*
570+
* The page-table is assumed to be unreachable by any hardware walkers prior
571+
* to freeing and therefore no TLB invalidation is performed.
572+
*/
573+
void kvm_pgtable_stage2_destroy_range(struct kvm_pgtable *pgt,
574+
u64 addr, u64 size);
575+
576+
/**
577+
* kvm_pgtable_stage2_destroy_pgd() - Destroy the PGD of guest stage-2 page-table.
578+
* @pgt: Page-table structure initialised by kvm_pgtable_stage2_init*().
579+
*
580+
* It is assumed that the rest of the page-table is freed before this operation.
581+
*/
582+
void kvm_pgtable_stage2_destroy_pgd(struct kvm_pgtable *pgt);
583+
554584
/**
555585
* kvm_pgtable_stage2_free_unlinked() - Free an unlinked stage-2 paging structure.
556586
* @mm_ops: Memory management callbacks.

0 commit comments

Comments
 (0)