Skip to content

Commit 941defc

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 (net-6.14-rc6). Conflicts: tools/testing/selftests/drivers/net/ping.py 75cc19c ("selftests: drv-net: add xdp cases for ping.py") de94e86 ("selftests: drv-net: store addresses in dict indexed by ipver") https://lore.kernel.org/netdev/[email protected]/ net/core/devmem.c a70f891 ("net: devmem: do not WARN conditionally after netdev_rx_queue_restart()") 1d22d30 ("net: drop rtnl_lock for queue_mgmt operations") https://lore.kernel.org/netdev/[email protected]/ Adjacent changes: tools/testing/selftests/net/Makefile 6f50175 ("selftests: Add IPv6 link-local address generation tests for GRE devices.") 2e5584e ("selftests/net: expand cmsg_ipv6.sh with ipv4") drivers/net/ethernet/broadcom/bnxt/bnxt.c 6619585 ("eth: bnxt: do not use BNXT_VNIC_NTUPLE unconditionally in queue restart logic") fe96d71 ("bnxt_en: Extend queue stop/start for TX rings") Signed-off-by: Paolo Abeni <[email protected]>
2 parents 89d75c4 + 4003c9e commit 941defc

File tree

315 files changed

+3542
-1361
lines changed

Some content is hidden

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

315 files changed

+3542
-1361
lines changed

.mailmap

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -691,6 +691,7 @@ Subbaraman Narayanamurthy <[email protected]> <[email protected]>
691691
Subhash Jadavani <[email protected]>
692692
Sudarshan Rajagopalan <[email protected]> <[email protected]>
693693
Sudeep Holla <[email protected]> Sudeep KarkadaNagesha <[email protected]>
694+
694695
Sumit Semwal <[email protected]>
695696
696697

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/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: 34 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@ F: include/net/ieee80211_radiotap.h
124124
F: include/net/iw_handler.h
125125
F: include/net/wext.h
126126
F: include/uapi/linux/nl80211.h
127+
N: include/uapi/linux/nl80211-.*
127128
F: include/uapi/linux/wireless.h
128129
F: net/wireless/
129130

@@ -514,7 +515,7 @@ F: drivers/hwmon/adm1029.c
514515
ADM8211 WIRELESS DRIVER
515516
516517
S: Orphan
517-
F: drivers/net/wireless/admtek/adm8211.*
518+
F: drivers/net/wireless/admtek/
518519

519520
ADP1050 HARDWARE MONITOR DRIVER
520521
M: Radu Sabau <[email protected]>
@@ -6207,7 +6208,7 @@ F: Documentation/process/cve.rst
62076208

62086209
CW1200 WLAN driver
62096210
S: Orphan
6210-
F: drivers/net/wireless/st/cw1200/
6211+
F: drivers/net/wireless/st/
62116212
F: include/linux/platform_data/net-cw1200.h
62126213

62136214
CX18 VIDEO4LINUX DRIVER
@@ -9443,14 +9444,11 @@ F: include/linux/fscrypt.h
94439444
F: include/uapi/linux/fscrypt.h
94449445

94459446
FSI SUBSYSTEM
9446-
M: Jeremy Kerr <[email protected]>
9447-
M: Joel Stanley <[email protected]>
9448-
R: Alistar Popple <[email protected]>
9449-
R: Eddie James <[email protected]>
9447+
M: Eddie James <[email protected]>
9448+
R: Ninad Palsule <[email protected]>
94509449
94519450
S: Supported
94529451
Q: http://patchwork.ozlabs.org/project/linux-fsi/list/
9453-
T: git git://git.kernel.org/pub/scm/linux/kernel/git/joel/fsi.git
94549452
F: drivers/fsi/
94559453
F: include/linux/fsi*.h
94569454
F: include/trace/events/fsi*.h
@@ -12876,7 +12874,7 @@ F: include/keys/trusted_dcp.h
1287612874
F: security/keys/trusted-keys/trusted_dcp.c
1287712875

1287812876
KEYS-TRUSTED-TEE
12879-
M: Sumit Garg <sumit.garg@linaro.org>
12877+
M: Sumit Garg <sumit.garg@kernel.org>
1288012878
1288112879
1288212880
S: Supported
@@ -13999,6 +13997,7 @@ MARVELL LIBERTAS WIRELESS DRIVER
1399913997
1400013998
S: Orphan
1400113999
F: drivers/net/wireless/marvell/libertas/
14000+
F: drivers/net/wireless/marvell/libertas_tf/
1400214001

1400314002
MARVELL MACCHIATOBIN SUPPORT
1400414003
M: Russell King <[email protected]>
@@ -15668,7 +15667,7 @@ M: Ajay Singh <[email protected]>
1566815667
M: Claudiu Beznea <[email protected]>
1566915668
1567015669
S: Supported
15671-
F: drivers/net/wireless/microchip/wilc1000/
15670+
F: drivers/net/wireless/microchip/
1567215671

1567315672
MICROSEMI MIPS SOCS
1567415673
M: Alexandre Belloni <[email protected]>
@@ -16454,6 +16453,23 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless.git
1645416453
T: git git://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git
1645516454
F: Documentation/devicetree/bindings/net/wireless/
1645616455
F: drivers/net/wireless/
16456+
X: drivers/net/wireless/ath/
16457+
X: drivers/net/wireless/broadcom/
16458+
X: drivers/net/wireless/intel/
16459+
X: drivers/net/wireless/intersil/
16460+
X: drivers/net/wireless/marvell/
16461+
X: drivers/net/wireless/mediatek/mt76/
16462+
X: drivers/net/wireless/mediatek/mt7601u/
16463+
X: drivers/net/wireless/microchip/
16464+
X: drivers/net/wireless/purelifi/
16465+
X: drivers/net/wireless/quantenna/
16466+
X: drivers/net/wireless/ralink/
16467+
X: drivers/net/wireless/realtek/
16468+
X: drivers/net/wireless/rsi/
16469+
X: drivers/net/wireless/silabs/
16470+
X: drivers/net/wireless/st/
16471+
X: drivers/net/wireless/ti/
16472+
X: drivers/net/wireless/zydas/
1645716473

1645816474
NETWORKING [DSA]
1645916475
M: Andrew Lunn <[email protected]>
@@ -17677,7 +17693,7 @@ F: Documentation/ABI/testing/sysfs-bus-optee-devices
1767717693
F: drivers/tee/optee/
1767817694

1767917695
OP-TEE RANDOM NUMBER GENERATOR (RNG) DRIVER
17680-
M: Sumit Garg <sumit.garg@linaro.org>
17696+
M: Sumit Garg <sumit.garg@kernel.org>
1768117697
1768217698
S: Maintained
1768317699
F: drivers/char/hw_random/optee-rng.c
@@ -17838,7 +17854,7 @@ M: Christian Lamparter <[email protected]>
1783817854
1783917855
S: Maintained
1784017856
W: https://wireless.wiki.kernel.org/en/users/Drivers/p54
17841-
F: drivers/net/wireless/intersil/p54/
17857+
F: drivers/net/wireless/intersil/
1784217858

1784317859
PACKET SOCKETS
1784417860
M: Willem de Bruijn <[email protected]>
@@ -19115,7 +19131,7 @@ PURELIFI PLFXLC DRIVER
1911519131
M: Srinivasan Raju <[email protected]>
1911619132
1911719133
S: Supported
19118-
F: drivers/net/wireless/purelifi/plfxlc/
19134+
F: drivers/net/wireless/purelifi/
1911919135

1912019136
PVRUSB2 VIDEO4LINUX DRIVER
1912119137
M: Mike Isely <[email protected]>
@@ -19666,7 +19682,7 @@ M: Igor Mitsyanko <[email protected]>
1966619682
R: Sergey Matyukevich <[email protected]>
1966719683
1966819684
S: Maintained
19669-
F: drivers/net/wireless/quantenna
19685+
F: drivers/net/wireless/quantenna/
1967019686

1967119687
RADEON and AMDGPU DRM DRIVERS
1967219688
M: Alex Deucher <[email protected]>
@@ -19746,7 +19762,7 @@ RALINK RT2X00 WIRELESS LAN DRIVER
1974619762
M: Stanislaw Gruszka <[email protected]>
1974719763
1974819764
S: Maintained
19749-
F: drivers/net/wireless/ralink/rt2x00/
19765+
F: drivers/net/wireless/ralink/
1975019766

1975119767
RAMDISK RAM BLOCK DEVICE DRIVER
1975219768
M: Jens Axboe <[email protected]>
@@ -21094,6 +21110,7 @@ F: include/linux/clk/samsung.h
2109421110

2109521111
SAMSUNG SPI DRIVERS
2109621112
M: Andi Shyti <[email protected]>
21113+
R: Tudor Ambarus <[email protected]>
2109721114
2109821115
2109921116
S: Maintained
@@ -21504,7 +21521,6 @@ F: include/linux/slimbus.h
2150421521

2150521522
SFC NETWORK DRIVER
2150621523
M: Edward Cree <[email protected]>
21507-
M: Martin Habets <[email protected]>
2150821524
2150921525
2151021526
S: Maintained
@@ -21713,7 +21729,7 @@ SILICON LABS WIRELESS DRIVERS (for WFxxx series)
2171321729
M: Jérôme Pouiller <[email protected]>
2171421730
S: Supported
2171521731
F: Documentation/devicetree/bindings/net/wireless/silabs,wfx.yaml
21716-
F: drivers/net/wireless/silabs/wfx/
21732+
F: drivers/net/wireless/silabs/
2171721733

2171821734
SILICON MOTION SM712 FRAME BUFFER DRIVER
2171921735
M: Sudip Mukherjee <[email protected]>
@@ -23290,7 +23306,7 @@ F: include/media/i2c/tw9910.h
2329023306

2329123307
TEE SUBSYSTEM
2329223308
M: Jens Wiklander <[email protected]>
23293-
R: Sumit Garg <sumit.garg@linaro.org>
23309+
R: Sumit Garg <sumit.garg@kernel.org>
2329423310
2329523311
S: Maintained
2329623312
F: Documentation/ABI/testing/sysfs-class-tee
@@ -26213,7 +26229,7 @@ F: mm/zbud.c
2621326229
ZD1211RW WIRELESS DRIVER
2621426230
2621526231
S: Orphan
26216-
F: drivers/net/wireless/zydas/zd1211rw/
26232+
F: drivers/net/wireless/zydas/
2621726233

2621826234
ZD1301 MEDIA DRIVER
2621926235

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)