Skip to content

Commit 3ef18b2

Browse files
author
Wolfram Sang
committed
Merge tag 'i2c-host-fixes-6.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/andi.shyti/linux into i2c/for-current
i2c-host-fixes for v6.14-rc7 - omap: fixed irq ACKS to avoid irq storming and system hang. - ali1535, ali15x3, sis630: fixed error path at probe exit.
2 parents 7eb1721 + 2b22459 commit 3ef18b2

File tree

301 files changed

+3666
-1650
lines changed

Some content is hidden

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

301 files changed

+3666
-1650
lines changed

.mailmap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,6 @@ Antonio Quartulli <antonio@mandelbit.com> <antonio@open-mesh.com>
8888
Antonio Quartulli <antonio@mandelbit.com> <antonio.quartulli@open-mesh.com>
8989
Antonio Quartulli <antonio@mandelbit.com> <ordex@autistici.org>
9090
Antonio Quartulli <antonio@mandelbit.com> <ordex@ritirata.org>
91-
Antonio Quartulli <antonio@mandelbit.com> <antonio@openvpn.net>
9291
Antonio Quartulli <antonio@mandelbit.com> <a@unstable.cc>
9392
Anup Patel <anup@brainfault.org> <anup.patel@wdc.com>
9493
Archit Taneja <archit@ti.com>
@@ -692,6 +691,7 @@ Subbaraman Narayanamurthy <quic_subbaram@quicinc.com> <subbaram@codeaurora.org>
692691
Subhash Jadavani <subhashj@codeaurora.org>
693692
Sudarshan Rajagopalan <quic_sudaraja@quicinc.com> <sudaraja@codeaurora.org>
694693
Sudeep Holla <sudeep.holla@arm.com> Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
694+
Sumit Garg <sumit.garg@kernel.org> <sumit.garg@linaro.org>
695695
Sumit Semwal <sumit.semwal@ti.com>
696696
Surabhi Vishnoi <quic_svishnoi@quicinc.com> <svishnoi@codeaurora.org>
697697
Sven Eckelmann <sven@narfation.org> <seckelmann@datto.com>

Documentation/admin-guide/README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ Configuring the kernel
176176
values without prompting.
177177

178178
"make defconfig" Create a ./.config file by using the default
179-
symbol values from either arch/$ARCH/defconfig
179+
symbol values from either arch/$ARCH/configs/defconfig
180180
or arch/$ARCH/configs/${PLATFORM}_defconfig,
181181
depending on the architecture.
182182

Documentation/admin-guide/sysctl/kernel.rst

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,17 @@ pid>/``).
212212
This value defaults to 0.
213213
214214

215+
core_sort_vma
216+
=============
217+
218+
The default coredump writes VMAs in address order. By setting
219+
``core_sort_vma`` to 1, VMAs will be written from smallest size
220+
to largest size. This is known to break at least elfutils, but
221+
can be handy when dealing with very large (and truncated)
222+
coredumps where the more useful debugging details are included
223+
in the smaller VMAs.
224+
225+
215226
core_uses_pid
216227
=============
217228

Documentation/devicetree/bindings/iio/adc/adi,ad7606.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@ properties:
146146
maxItems: 2
147147

148148
pwm-names:
149+
minItems: 1
149150
items:
150151
- const: convst1
151152
- const: convst2

Documentation/filesystems/idmappings.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@ what id ``k11000`` corresponds to in the second or third idmapping. The
6363
straightforward algorithm to use is to apply the inverse of the first idmapping,
6464
mapping ``k11000`` up to ``u1000``. Afterwards, we can map ``u1000`` down using
6565
either the second idmapping mapping or third idmapping mapping. The second
66-
idmapping would map ``u1000`` down to ``21000``. The third idmapping would map
67-
``u1000`` down to ``u31000``.
66+
idmapping would map ``u1000`` down to ``k21000``. The third idmapping would map
67+
``u1000`` down to ``k31000``.
6868

6969
If we were given the same task for the following three idmappings::
7070

Documentation/scheduler/sched-rt-group.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,9 @@ The system wide settings are configured under the /proc virtual file system:
102102
* sched_rt_period_us takes values from 1 to INT_MAX.
103103
* sched_rt_runtime_us takes values from -1 to sched_rt_period_us.
104104
* A run time of -1 specifies runtime == period, ie. no limit.
105+
* sched_rt_runtime_us/sched_rt_period_us > 0.05 inorder to preserve
106+
bandwidth for fair dl_server. For accurate value check average of
107+
runtime/period in /sys/kernel/debug/sched/fair_server/cpuX/
105108

106109

107110
2.2 Default behaviour

MAINTAINERS

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5775,6 +5775,7 @@ X: drivers/clk/clkdev.c
57755775

57765776
COMMON INTERNET FILE SYSTEM CLIENT (CIFS and SMB3)
57775777
M: Steve French <sfrench@samba.org>
5778+
M: Steve French <smfrench@gmail.com>
57785779
R: Paulo Alcantara <pc@manguebit.com> (DFS, global name space)
57795780
R: Ronnie Sahlberg <ronniesahlberg@gmail.com> (directory leases, sparse files)
57805781
R: Shyam Prasad N <sprasad@microsoft.com> (multichannel)
@@ -9442,14 +9443,11 @@ F: include/linux/fscrypt.h
94429443
F: include/uapi/linux/fscrypt.h
94439444

94449445
FSI SUBSYSTEM
9445-
M: Jeremy Kerr <jk@ozlabs.org>
9446-
M: Joel Stanley <joel@jms.id.au>
9447-
R: Alistar Popple <alistair@popple.id.au>
9448-
R: Eddie James <eajames@linux.ibm.com>
9446+
M: Eddie James <eajames@linux.ibm.com>
9447+
R: Ninad Palsule <ninad@linux.ibm.com>
94499448
L: linux-fsi@lists.ozlabs.org
94509449
S: Supported
94519450
Q: http://patchwork.ozlabs.org/project/linux-fsi/list/
9452-
T: git git://git.kernel.org/pub/scm/linux/kernel/git/joel/fsi.git
94539451
F: drivers/fsi/
94549452
F: include/linux/fsi*.h
94559453
F: include/trace/events/fsi*.h
@@ -12655,7 +12653,9 @@ F: tools/testing/selftests/
1265512653

1265612654
KERNEL SMB3 SERVER (KSMBD)
1265712655
M: Namjae Jeon <linkinjeon@kernel.org>
12656+
M: Namjae Jeon <linkinjeon@samba.org>
1265812657
M: Steve French <sfrench@samba.org>
12658+
M: Steve French <smfrench@gmail.com>
1265912659
R: Sergey Senozhatsky <senozhatsky@chromium.org>
1266012660
R: Tom Talpey <tom@talpey.com>
1266112661
L: linux-cifs@vger.kernel.org
@@ -12872,7 +12872,7 @@ F: include/keys/trusted_dcp.h
1287212872
F: security/keys/trusted-keys/trusted_dcp.c
1287312873

1287412874
KEYS-TRUSTED-TEE
12875-
M: Sumit Garg <sumit.garg@linaro.org>
12875+
M: Sumit Garg <sumit.garg@kernel.org>
1287612876
L: linux-integrity@vger.kernel.org
1287712877
L: keyrings@vger.kernel.org
1287812878
S: Supported
@@ -17672,7 +17672,7 @@ F: Documentation/ABI/testing/sysfs-bus-optee-devices
1767217672
F: drivers/tee/optee/
1767317673

1767417674
OP-TEE RANDOM NUMBER GENERATOR (RNG) DRIVER
17675-
M: Sumit Garg <sumit.garg@linaro.org>
17675+
M: Sumit Garg <sumit.garg@kernel.org>
1767617676
L: op-tee@lists.trustedfirmware.org
1767717677
S: Maintained
1767817678
F: drivers/char/hw_random/optee-rng.c
@@ -23285,7 +23285,7 @@ F: include/media/i2c/tw9910.h
2328523285

2328623286
TEE SUBSYSTEM
2328723287
M: Jens Wiklander <jens.wiklander@linaro.org>
23288-
R: Sumit Garg <sumit.garg@linaro.org>
23288+
R: Sumit Garg <sumit.garg@kernel.org>
2328923289
L: op-tee@lists.trustedfirmware.org
2329023290
S: Maintained
2329123291
F: Documentation/ABI/testing/sysfs-class-tee

Makefile

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

88
# *DOCUMENTATION*
@@ -1123,6 +1123,11 @@ endif
11231123
KBUILD_USERCFLAGS += $(filter -m32 -m64 --target=%, $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS))
11241124
KBUILD_USERLDFLAGS += $(filter -m32 -m64 --target=%, $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS))
11251125

1126+
# userspace programs are linked via the compiler, use the correct linker
1127+
ifeq ($(CONFIG_CC_IS_CLANG)$(CONFIG_LD_IS_LLD),yy)
1128+
KBUILD_USERLDFLAGS += --ld-path=$(LD)
1129+
endif
1130+
11261131
# make the checker run with the right architecture
11271132
CHECKFLAGS += --arch=$(ARCH)
11281133

arch/arm/mm/fault-armv.c

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ static int do_adjust_pte(struct vm_area_struct *vma, unsigned long address,
6262
}
6363

6464
static int adjust_pte(struct vm_area_struct *vma, unsigned long address,
65-
unsigned long pfn, struct vm_fault *vmf)
65+
unsigned long pfn, bool need_lock)
6666
{
6767
spinlock_t *ptl;
6868
pgd_t *pgd;
@@ -99,12 +99,11 @@ static int adjust_pte(struct vm_area_struct *vma, unsigned long address,
9999
if (!pte)
100100
return 0;
101101

102-
/*
103-
* If we are using split PTE locks, then we need to take the page
104-
* lock here. Otherwise we are using shared mm->page_table_lock
105-
* which is already locked, thus cannot take it.
106-
*/
107-
if (ptl != vmf->ptl) {
102+
if (need_lock) {
103+
/*
104+
* Use nested version here to indicate that we are already
105+
* holding one similar spinlock.
106+
*/
108107
spin_lock_nested(ptl, SINGLE_DEPTH_NESTING);
109108
if (unlikely(!pmd_same(pmdval, pmdp_get_lockless(pmd)))) {
110109
pte_unmap_unlock(pte, ptl);
@@ -114,7 +113,7 @@ static int adjust_pte(struct vm_area_struct *vma, unsigned long address,
114113

115114
ret = do_adjust_pte(vma, address, pfn, pte);
116115

117-
if (ptl != vmf->ptl)
116+
if (need_lock)
118117
spin_unlock(ptl);
119118
pte_unmap(pte);
120119

@@ -123,9 +122,10 @@ static int adjust_pte(struct vm_area_struct *vma, unsigned long address,
123122

124123
static void
125124
make_coherent(struct address_space *mapping, struct vm_area_struct *vma,
126-
unsigned long addr, pte_t *ptep, unsigned long pfn,
127-
struct vm_fault *vmf)
125+
unsigned long addr, pte_t *ptep, unsigned long pfn)
128126
{
127+
const unsigned long pmd_start_addr = ALIGN_DOWN(addr, PMD_SIZE);
128+
const unsigned long pmd_end_addr = pmd_start_addr + PMD_SIZE;
129129
struct mm_struct *mm = vma->vm_mm;
130130
struct vm_area_struct *mpnt;
131131
unsigned long offset;
@@ -141,6 +141,14 @@ make_coherent(struct address_space *mapping, struct vm_area_struct *vma,
141141
*/
142142
flush_dcache_mmap_lock(mapping);
143143
vma_interval_tree_foreach(mpnt, &mapping->i_mmap, pgoff, pgoff) {
144+
/*
145+
* If we are using split PTE locks, then we need to take the pte
146+
* lock. Otherwise we are using shared mm->page_table_lock which
147+
* is already locked, thus cannot take it.
148+
*/
149+
bool need_lock = IS_ENABLED(CONFIG_SPLIT_PTE_PTLOCKS);
150+
unsigned long mpnt_addr;
151+
144152
/*
145153
* If this VMA is not in our MM, we can ignore it.
146154
* Note that we intentionally mask out the VMA
@@ -151,7 +159,12 @@ make_coherent(struct address_space *mapping, struct vm_area_struct *vma,
151159
if (!(mpnt->vm_flags & VM_MAYSHARE))
152160
continue;
153161
offset = (pgoff - mpnt->vm_pgoff) << PAGE_SHIFT;
154-
aliases += adjust_pte(mpnt, mpnt->vm_start + offset, pfn, vmf);
162+
mpnt_addr = mpnt->vm_start + offset;
163+
164+
/* Avoid deadlocks by not grabbing the same PTE lock again. */
165+
if (mpnt_addr >= pmd_start_addr && mpnt_addr < pmd_end_addr)
166+
need_lock = false;
167+
aliases += adjust_pte(mpnt, mpnt_addr, pfn, need_lock);
155168
}
156169
flush_dcache_mmap_unlock(mapping);
157170
if (aliases)
@@ -194,7 +207,7 @@ void update_mmu_cache_range(struct vm_fault *vmf, struct vm_area_struct *vma,
194207
__flush_dcache_folio(mapping, folio);
195208
if (mapping) {
196209
if (cache_is_vivt())
197-
make_coherent(mapping, vma, addr, ptep, pfn, vmf);
210+
make_coherent(mapping, vma, addr, ptep, pfn);
198211
else if (vma->vm_flags & VM_EXEC)
199212
__flush_icache_all();
200213
}

arch/arm64/include/asm/el2_setup.h

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,32 @@
1616
#include <asm/sysreg.h>
1717
#include <linux/irqchip/arm-gic-v3.h>
1818

19+
.macro init_el2_hcr val
20+
mov_q x0, \val
21+
22+
/*
23+
* Compliant CPUs advertise their VHE-onlyness with
24+
* ID_AA64MMFR4_EL1.E2H0 < 0. On such CPUs HCR_EL2.E2H is RES1, but it
25+
* can reset into an UNKNOWN state and might not read as 1 until it has
26+
* been initialized explicitly.
27+
*
28+
* Fruity CPUs seem to have HCR_EL2.E2H set to RAO/WI, but
29+
* don't advertise it (they predate this relaxation).
30+
*
31+
* Initalize HCR_EL2.E2H so that later code can rely upon HCR_EL2.E2H
32+
* indicating whether the CPU is running in E2H mode.
33+
*/
34+
mrs_s x1, SYS_ID_AA64MMFR4_EL1
35+
sbfx x1, x1, #ID_AA64MMFR4_EL1_E2H0_SHIFT, #ID_AA64MMFR4_EL1_E2H0_WIDTH
36+
cmp x1, #0
37+
b.ge .LnVHE_\@
38+
39+
orr x0, x0, #HCR_E2H
40+
.LnVHE_\@:
41+
msr hcr_el2, x0
42+
isb
43+
.endm
44+
1945
.macro __init_el2_sctlr
2046
mov_q x0, INIT_SCTLR_EL2_MMU_OFF
2147
msr sctlr_el2, x0
@@ -244,11 +270,6 @@
244270
.Lskip_gcs_\@:
245271
.endm
246272

247-
.macro __init_el2_nvhe_prepare_eret
248-
mov x0, #INIT_PSTATE_EL1
249-
msr spsr_el2, x0
250-
.endm
251-
252273
.macro __init_el2_mpam
253274
/* Memory Partitioning And Monitoring: disable EL2 traps */
254275
mrs x1, id_aa64pfr0_el1

0 commit comments

Comments
 (0)