Compare commits

..

7 Commits

Author SHA1 Message Date
Folke Gleumes
f2f95eff68 cherry-pick improved erratum 1386 workaround
The original fix disabled the xsaves feature for zen1/2. The issue has
since been fixed in the cpus microcode and this patch keeps the feature enabled
if the microcode version is recent enough to contain the fix.
The patch had to be altered slightly to apply cleanly on 6.5, but no
changes content-wise.

Signed-off-by: Folke Gleumes <f.gleumes@proxmox.com>
2024-04-17 16:51:43 +02:00
Fabian Grünbichler
045f60b5a3 config: disable CONFIG_N_GSM
rather exotic driver with frequent security issues over the past months, see
- CVE-2023-6546
- https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=67c37756898a
- https://lore.kernel.org/all/DB9PR10MB5881D2170678C169FB42A423E0082@DB9PR10MB5881.EURPRD10.PROD.OUTLOOK.COM/

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
(cherry picked from commit da0caf9dc2)
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2024-04-17 11:56:34 +02:00
Fabian Grünbichler
64823a3dce fix #5373: cherry-pick USB ethernet naming fix
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
(cherry picked from commit 70198d2b84)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-04-15 09:37:08 +02:00
Thomas Lamprecht
8ce54f1b60 update ABI file for 6.5.13-5-pve
(generated with debian/scripts/abi-generate)

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-04-05 14:02:41 +02:00
Thomas Lamprecht
1fe41eff57 bump version to 6.5.13-5
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-04-05 13:04:13 +02:00
Stoiko Ivanov
16c080df7a revert 2 changes in thermal driver causing an early kernel Oops.
The second patch, that is reverted (first):
`thermal: trip: Drop lockdep assertion from thermal_zone_trip_id()`
only touches code introduced by the first patch.
The first patch causes the following Oops (reproduced on an old
HP DL380 G8):
```
[    2.960519] ACPI: button: Power Button [PWRF]
[    2.963126] BUG: kernel NULL pointer dereference, address: 000000000000000c
[    2.965667] #PF: supervisor read access in kernel mode
[    2.966954] #PF: error_code(0x0000) - not-present page
[    2.966954] PGD 0 P4D 0
[    2.966954] Oops: 0000 [#1] PREEMPT SMP PTI
[    2.966954] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G          I        6.5.13-4-pve #1
[    2.966954] Hardware name: HP ProLiant DL380p Gen8, BIOS P70 05/24/2019
[    2.966954] RIP: 0010:step_wise_throttle+0x48/0x360
[    2.966954] Code: 04 25 28 00 00 00 48 89 45 d0 31 c0 48 63 c6 48 8d 14 40 48 8b 87 50 03 00 00 4c 8d 24 90 e8 cf d0 ff ff c6 45 bf 00 89 45 b4 <41> 8b 04 24 41 39 85 78 03 00 00 0f 8d a9 02 00 00 0f 1f 44 00 00
[    2.966954] RSP: 0000:ffff9e2b8014bae8 EFLAGS: 00010246
[    2.966954] RAX: 0000000000000002 RBX: 0000000000000001 RCX: 0000000000000000
[    2.966954] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
[    2.966954] RBP: ffff9e2b8014bb40 R08: 0000000000000000 R09: 0000000000000000
[    2.966954] R10: 0000000000000000 R11: 0000000000000000 R12: 000000000000000c
[    2.966954] R13: ffff8c7ac421d000 R14: 0000000000000001 R15: 0000000000000000
[    2.966954] FS:  0000000000000000(0000) GS:ffff8c7def600000(0000) knlGS:0000000000000000
[    2.966954] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    2.966954] CR2: 000000000000000c CR3: 0000000513a34001 CR4: 00000000000606f0
[    2.966954] Call Trace:
[    2.966954]  <TASK>
```

the relevant mainline kernels (6.6.15), corresponding to the
Ubuntu-patchset (which mixes changes from 6.6.15, with ones from
6.1.76) [0] - also boot happily - so I strongly assume that the
changes depend on one of the many commits introduced in linux-upstream
between v6.5.1 and v6.6.1.
As it looks like a refactoring (upon which later changes are based),
and not a bug-fix in itself - simply dropping it seems sensible.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2024-04-05 12:21:20 +02:00
Stoiko Ivanov
803ddb6d55 revert cifs backport to 6.1 added between 6.5.13-1 and 6.5.13-2
copying files within a cifs-share currently result in the following
trace:
```
[  495.388739] BUG: unable to handle page fault for address: fffffffffffffffe
[  495.388744] #PF: supervisor read access in kernel mode
[  495.388746] #PF: error_code(0x0000) - not-present page
[  495.388747] PGD 172c3f067 P4D 172c3f067 PUD 172c41067 PMD 0
[  495.388752] Oops: 0000 [#2] PREEMPT SMP NOPTI
[  495.388754] CPU: 1 PID: 3894 Comm: cp Tainted: G      D            6.5.0-32-generic #32-Ubuntu                                                                                                                                                                                [  495.388756] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 4.2023.08-4 02/15/2024
[  495.388758] RIP: 0010:cifs_flush_folio+0x41/0xf0 [cifs]
...
```

a quick check identified proxmox-kernel-6.5.13-2 as the first affected
version, and `2dc07a11e269bfbe5589e99b60cdbae0118be979` as likely
source of the issue. The commit adapts the changes from
`7b2404a886f8b91250c31855d287e632123e1746` to work with the code in
kernel 6.1.
This is not needed as the relevant changes were made in 6.4 and
are already part of the 6.5 tree -
`66dabbb65d673aef40dd17bf62c042be8f6d4a4b`

reverting the commit fixes copying files within a samba share.

Tested/reproduced with:
* a VM with the kernel as cifs-client
* one very crude samba-share allowing guest-write access on a Debian
  bookworm host
* as well as a share using cifscreds + multiuser (`mount.cifs(8)`)
* mounting the share, copying any file from one directory to another
  on the same share (with `cp` and Thunar and Nautilus).

Reported to Ubuntu upstream at [1].

[0] https://lore.kernel.org/linux-mm/ZZhrpNJ3zxMR8wcU@eldamar.lan/
[1] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2055002

Reported-by: Daniela Häsler <daniela@proxmox.com>
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2024-04-04 14:58:45 +02:00
31 changed files with 29095 additions and 29541 deletions

1
.gitignore vendored
View File

@ -1,3 +1,2 @@
ubuntu-zesty
*.prepared
.*/

8
.gitmodules vendored
View File

@ -1,6 +1,6 @@
[submodule "submodules/ubuntu-kernel"]
path = submodules/ubuntu-kernel
url = https://dev.lirent.ru/c/mirror_ubuntu-kernels.git
[submodule "submodules/zfsonlinux"]
path = submodules/zfsonlinux
url = https://dev.lirent.ru/c/zfsonlinux.git
url = ../zfsonlinux
[submodule "submodules/ubuntu-kernel"]
path = submodules/ubuntu-kernel
url = ../mirror_ubuntu-kernels

View File

@ -2,11 +2,11 @@ include /usr/share/dpkg/pkg-info.mk
# also bump proxmox-kernel-meta if the default MAJ.MIN version changes!
KERNEL_MAJ=6
KERNEL_MIN=8
KERNEL_PATCHLEVEL=8
KERNEL_MIN=5
KERNEL_PATCHLEVEL=13
# increment KREL for every published package release!
# rebuild packages with new KREL and run 'make abiupdate'
KREL=2
KREL=5
KERNEL_MAJMIN=$(KERNEL_MAJ).$(KERNEL_MIN)
KERNEL_VER=$(KERNEL_MAJMIN).$(KERNEL_PATCHLEVEL)

28343
abi-prev-6.5.13-5-pve Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

59
debian/changelog vendored
View File

@ -1,60 +1,11 @@
proxmox-kernel-6.8 (6.8.8-2) bookworm; urgency=medium
proxmox-kernel-6.5 (6.5.13-5) bookworm; urgency=medium
* fix #5448: support SCSI controllers with bad VDP page length encoding again
* revert a backport to avoid breaking copying files within a CIFS mount
* fix #5554: improve e1000e stability on cable reconnection
* revert a backport for the thermal subsystem that causes early boot failure
for some hardware using the step-wise-throttle governor
* cherry-pick "virtio-pci: Check if is_avq is NULL"
-- Proxmox Support Team <support@proxmox.com> Mon, 24 Jun 2024 11:00:48 +0200
proxmox-kernel-6.8 (6.8.8-1) bookworm; urgency=medium
* update fix for managing block flush queue list to avioid a regression with
LVM
* update sources to Ubuntu-6.8.0-38.38 based on Linux 6.8.8
-- Proxmox Support Team <support@proxmox.com> Mon, 10 Jun 2024 13:42:20 +0200
proxmox-kernel-6.8 (6.8.4-4) bookworm; urgency=medium
* update ZFS to 2.2.4
* backport fix for NFS memory leak on mount that can add up if there are
many mount operations
* backport fix for managing block flush queue list, resolving a potential
crash due to dereferebcing a NULL pointer with, e.g., the
blk_flush_complete_seq function in the stack trace of the error.
-- Proxmox Support Team <support@proxmox.com> Tue, 04 Jun 2024 12:37:16 +0200
proxmox-kernel-6.8 (6.8.4-3) bookworm; urgency=medium
* update sources and patches to Ubuntu-6.8.0-32.32
-- Proxmox Support Team <support@proxmox.com> Thu, 02 May 2024 13:55:46 +0200
proxmox-kernel-6.8 (6.8.4-2) bookworm; urgency=medium
* patch apparmor to make it cope with recvmsg returning EINVAL
-- Proxmox Support Team <support@proxmox.com> Wed, 10 Apr 2024 19:36:43 +0200
proxmox-kernel-6.8 (6.8.4-1) bookworm; urgency=medium
* update sources to Ubuntu-6.8.0-23.23 based on v6.8.4 upstream stable
release
-- Proxmox Support Team <support@proxmox.com> Mon, 08 Apr 2024 17:49:22 +0200
proxmox-kernel-6.8 (6.8.1-1) bookworm; urgency=medium
* update submodule and patches for 24.04 Noble based kernel with tag
Ubuntu-6.8.0-20.20
-- Proxmox Support Team <support@proxmox.com> Tue, 02 Apr 2024 18:19:23 +0200
-- Proxmox Support Team <support@proxmox.com> Fri, 05 Apr 2024 13:03:12 +0200
proxmox-kernel-6.5 (6.5.13-4) bookworm; urgency=medium

View File

@ -10,6 +10,9 @@ BT3CPCC.bin kernel/drivers/bluetooth/bt3c_cs.ko
RTL8192E/boot.img kernel/drivers/staging/rtl8192e/rtl8192e/r8192e_pci.ko
RTL8192E/data.img kernel/drivers/staging/rtl8192e/rtl8192e/r8192e_pci.ko
RTL8192E/main.img kernel/drivers/staging/rtl8192e/rtl8192e/r8192e_pci.ko
RTL8192U/boot.img kernel/drivers/staging/rtl8192u/r8192u_usb.ko
RTL8192U/data.img kernel/drivers/staging/rtl8192u/r8192u_usb.ko
RTL8192U/main.img kernel/drivers/staging/rtl8192u/r8192u_usb.ko
acenic/tg1.bin kernel/drivers/net/ethernet/alteon/acenic.ko
acenic/tg2.bin kernel/drivers/net/ethernet/alteon/acenic.ko
adaptec/starfire_rx.bin kernel/drivers/net/ethernet/adaptec/starfire.ko
@ -19,6 +22,8 @@ advansys/3550.bin kernel/drivers/scsi/advansys.ko
advansys/38C0800.bin kernel/drivers/scsi/advansys.ko
advansys/38C1600.bin kernel/drivers/scsi/advansys.ko
advansys/mcode.bin kernel/drivers/scsi/advansys.ko
agere_ap_fw.bin kernel/drivers/net/wireless/intersil/orinoco/orinoco.ko
agere_sta_fw.bin kernel/drivers/net/wireless/intersil/orinoco/orinoco.ko
aic94xx-seq.fw kernel/drivers/scsi/aic94xx/aic94xx.ko
amd/amd_sev_fam17h_model0xh.sbin kernel/drivers/crypto/ccp/ccp.ko
amd/amd_sev_fam17h_model3xh.sbin kernel/drivers/crypto/ccp/ccp.ko
@ -92,7 +97,6 @@ amdgpu/dcn_3_1_5_dmcub.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/dcn_3_1_6_dmcub.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/dcn_3_2_0_dmcub.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/dcn_3_2_1_dmcub.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/dcn_3_5_dmcub.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/dimgrey_cavefish_ce.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/dimgrey_cavefish_dmcub.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/dimgrey_cavefish_me.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
@ -136,7 +140,6 @@ amdgpu/gc_11_0_0_mes1.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/gc_11_0_0_mes_2.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/gc_11_0_0_pfp.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/gc_11_0_0_rlc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/gc_11_0_0_rlc_1.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/gc_11_0_0_toc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/gc_11_0_1_imu.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/gc_11_0_1_me.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
@ -170,13 +173,6 @@ amdgpu/gc_11_0_4_mes1.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/gc_11_0_4_mes_2.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/gc_11_0_4_pfp.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/gc_11_0_4_rlc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/gc_11_5_0_imu.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/gc_11_5_0_me.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/gc_11_5_0_mec.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/gc_11_5_0_mes1.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/gc_11_5_0_mes_2.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/gc_11_5_0_pfp.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/gc_11_5_0_rlc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/gc_9_4_3_mec.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/gc_9_4_3_rlc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/green_sardine_asd.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
@ -404,8 +400,6 @@ amdgpu/psp_13_0_7_sos.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/psp_13_0_7_ta.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/psp_13_0_8_ta.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/psp_13_0_8_toc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/psp_14_0_0_ta.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/psp_14_0_0_toc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/raven2_asd.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/raven2_ce.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/raven2_gpu_info.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
@ -447,7 +441,6 @@ amdgpu/sdma_6_0_0.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/sdma_6_0_1.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/sdma_6_0_2.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/sdma_6_0_3.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/sdma_6_1_0.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/si58_mc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/sienna_cichlid_cap.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/sienna_cichlid_ce.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
@ -466,9 +459,7 @@ amdgpu/sienna_cichlid_ta.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/sienna_cichlid_vcn.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/smu_13_0_0.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/smu_13_0_10.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/smu_13_0_6.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/smu_13_0_7.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/smu_14_0_2.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/stoney_ce.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/stoney_me.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/stoney_mec.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
@ -523,7 +514,6 @@ amdgpu/vcn_4_0_0.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/vcn_4_0_2.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/vcn_4_0_3.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/vcn_4_0_4.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/vcn_4_0_5.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/vega10_acg_smc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/vega10_asd.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/vega10_cap.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
@ -587,7 +577,6 @@ amdgpu/verde_pfp.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/verde_rlc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/verde_smc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/verde_uvd.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/vpe_6_1_0.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/yellow_carp_ce.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/yellow_carp_dmcub.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/yellow_carp_me.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
@ -664,14 +653,30 @@ ath6k/AR6004/hw1.3/fw.ram.bin kernel/drivers/net/wireless/ath/ath6kl/ath6kl_usb.
ath9k_htc/htc_7010-1.4.0.fw kernel/drivers/net/wireless/ath/ath9k/ath9k_htc.ko
ath9k_htc/htc_9271-1.4.0.fw kernel/drivers/net/wireless/ath/ath9k/ath9k_htc.ko
atmel/wilc1000_wifi_firmware-1.bin kernel/drivers/net/wireless/microchip/wilc1000/wilc1000.ko
atmel_at76c502-wpa.bin kernel/drivers/net/wireless/atmel/atmel.ko
atmel_at76c502.bin kernel/drivers/net/wireless/atmel/atmel.ko
atmel_at76c502_3com-wpa.bin kernel/drivers/net/wireless/atmel/atmel.ko
atmel_at76c502_3com.bin kernel/drivers/net/wireless/atmel/atmel.ko
atmel_at76c502d-wpa.bin kernel/drivers/net/wireless/atmel/atmel.ko
atmel_at76c502d.bin kernel/drivers/net/wireless/atmel/atmel.ko
atmel_at76c502e-wpa.bin kernel/drivers/net/wireless/atmel/atmel.ko
atmel_at76c502e.bin kernel/drivers/net/wireless/atmel/atmel.ko
atmel_at76c503-i3861.bin kernel/drivers/net/wireless/atmel/at76c50x-usb.ko
atmel_at76c503-i3863.bin kernel/drivers/net/wireless/atmel/at76c50x-usb.ko
atmel_at76c503-rfmd-acc.bin kernel/drivers/net/wireless/atmel/at76c50x-usb.ko
atmel_at76c503-rfmd.bin kernel/drivers/net/wireless/atmel/at76c50x-usb.ko
atmel_at76c504-wpa.bin kernel/drivers/net/wireless/atmel/atmel.ko
atmel_at76c504.bin kernel/drivers/net/wireless/atmel/atmel.ko
atmel_at76c504_2958-wpa.bin kernel/drivers/net/wireless/atmel/atmel.ko
atmel_at76c504_2958.bin kernel/drivers/net/wireless/atmel/atmel.ko
atmel_at76c504a_2958-wpa.bin kernel/drivers/net/wireless/atmel/atmel.ko
atmel_at76c504a_2958.bin kernel/drivers/net/wireless/atmel/atmel.ko
atmel_at76c505-rfmd.bin kernel/drivers/net/wireless/atmel/at76c50x-usb.ko
atmel_at76c505-rfmd2958.bin kernel/drivers/net/wireless/atmel/at76c50x-usb.ko
atmel_at76c505a-rfmd2958.bin kernel/drivers/net/wireless/atmel/at76c50x-usb.ko
atmel_at76c505amx-rfmd.bin kernel/drivers/net/wireless/atmel/at76c50x-usb.ko
atmel_at76c506-wpa.bin kernel/drivers/net/wireless/atmel/atmel.ko
atmel_at76c506.bin kernel/drivers/net/wireless/atmel/atmel.ko
atsc_denver.inp kernel/drivers/media/common/siano/smsmdtv.ko
av7110/bootcode.bin kernel/drivers/staging/media/av7110/dvb-ttpci.ko
b43/ucode11.fw kernel/drivers/net/wireless/broadcom/b43/b43.ko
@ -815,7 +820,6 @@ cmmb_vega_12mhz.inp kernel/drivers/media/common/siano/smsmdtv.ko
cmmb_venice_12mhz.inp kernel/drivers/media/common/siano/smsmdtv.ko
comedi/jr3pci.idm kernel/drivers/comedi/drivers/jr3_pci.ko
cp204unx.cod kernel/drivers/tty/moxa.ko
cs42l43.bin kernel/drivers/mfd/cs42l43.ko
cs46xx/cwc4630 kernel/sound/pci/cs46xx/snd-cs46xx.ko
cs46xx/cwcasync kernel/sound/pci/cs46xx/snd-cs46xx.ko
cs46xx/cwcbinhack kernel/sound/pci/cs46xx/snd-cs46xx.ko
@ -981,77 +985,50 @@ go7007/px-tv402u.fw kernel/drivers/media/usb/go7007/go7007-loader.ko
go7007/s2250-1.fw kernel/drivers/media/usb/go7007/go7007-loader.ko
go7007/s2250-2.fw kernel/drivers/media/usb/go7007/go7007-loader.ko
go7007/wis-startrek.fw kernel/drivers/media/usb/go7007/go7007-loader.ko
habanalabs/gaudi/gaudi-boot-fit.itb kernel/drivers/accel/habanalabs/habanalabs.ko
habanalabs/gaudi/gaudi-fit.itb kernel/drivers/accel/habanalabs/habanalabs.ko
habanalabs/gaudi/gaudi_tpc.bin kernel/drivers/accel/habanalabs/habanalabs.ko
hcwamc.rbf kernel/drivers/media/pci/bt8xx/bttv.ko
hfi1_dc8051.fw kernel/drivers/infiniband/hw/hfi1/hfi1.ko
hfi1_fabric.fw kernel/drivers/infiniband/hw/hfi1/hfi1.ko
hfi1_pcie.fw kernel/drivers/infiniband/hw/hfi1/hfi1.ko
hfi1_sbus.fw kernel/drivers/infiniband/hw/hfi1/hfi1.ko
i915/adlp_dmc.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/adlp_dmc.bin kernel/drivers/gpu/drm/xe/xe.ko
i915/adlp_dmc_ver2_16.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/adlp_dmc_ver2_16.bin kernel/drivers/gpu/drm/xe/xe.ko
i915/adlp_guc_69.0.3.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/adlp_guc_70.1.1.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/adlp_guc_70.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/adlp_guc_70.bin kernel/drivers/gpu/drm/xe/xe.ko
i915/adls_dmc_ver2_01.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/adls_dmc_ver2_01.bin kernel/drivers/gpu/drm/xe/xe.ko
i915/bxt_dmc_ver1_07.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/bxt_dmc_ver1_07.bin kernel/drivers/gpu/drm/xe/xe.ko
i915/bxt_guc_70.1.1.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/bxt_huc_2.0.0.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/cml_guc_70.1.1.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/cml_huc_4.0.0.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/dg1_dmc_ver2_02.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/dg1_dmc_ver2_02.bin kernel/drivers/gpu/drm/xe/xe.ko
i915/dg1_guc_70.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/dg1_guc_70.bin kernel/drivers/gpu/drm/xe/xe.ko
i915/dg1_huc.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/dg1_huc.bin kernel/drivers/gpu/drm/xe/xe.ko
i915/dg2_dmc_ver2_08.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/dg2_dmc_ver2_08.bin kernel/drivers/gpu/drm/xe/xe.ko
i915/dg2_guc_70.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/dg2_guc_70.bin kernel/drivers/gpu/drm/xe/xe.ko
i915/dg2_huc_gsc.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/ehl_guc_70.1.1.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/ehl_huc_9.0.0.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/glk_dmc_ver1_04.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/glk_dmc_ver1_04.bin kernel/drivers/gpu/drm/xe/xe.ko
i915/glk_guc_70.1.1.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/glk_huc_4.0.0.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/icl_dmc_ver1_09.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/icl_dmc_ver1_09.bin kernel/drivers/gpu/drm/xe/xe.ko
i915/icl_guc_70.1.1.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/icl_huc_9.0.0.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/kbl_dmc_ver1_04.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/kbl_dmc_ver1_04.bin kernel/drivers/gpu/drm/xe/xe.ko
i915/kbl_guc_70.1.1.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/kbl_huc_4.0.0.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/mtl_dmc.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/mtl_dmc.bin kernel/drivers/gpu/drm/xe/xe.ko
i915/mtl_gsc_1.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/mtl_gsc_1.bin kernel/drivers/gpu/drm/xe/xe.ko
i915/mtl_guc_70.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/mtl_guc_70.bin kernel/drivers/gpu/drm/xe/xe.ko
i915/mtl_huc_gsc.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/mtl_huc_gsc.bin kernel/drivers/gpu/drm/xe/xe.ko
i915/rkl_dmc_ver2_03.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/rkl_dmc_ver2_03.bin kernel/drivers/gpu/drm/xe/xe.ko
i915/skl_dmc_ver1_27.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/skl_dmc_ver1_27.bin kernel/drivers/gpu/drm/xe/xe.ko
i915/skl_guc_70.1.1.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/skl_huc_2.0.0.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/tgl_dmc_ver2_12.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/tgl_dmc_ver2_12.bin kernel/drivers/gpu/drm/xe/xe.ko
i915/tgl_guc_69.0.3.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/tgl_guc_70.1.1.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/tgl_guc_70.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/tgl_guc_70.bin kernel/drivers/gpu/drm/xe/xe.ko
i915/tgl_huc.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/tgl_huc.bin kernel/drivers/gpu/drm/xe/xe.ko
i915/tgl_huc_7.9.3.bin kernel/drivers/gpu/drm/i915/i915.ko
idt82p33xxx.bin kernel/drivers/ptp/ptp_idt82p33.ko
ifpp.bin kernel/drivers/crypto/inside-secure/crypto_safexcel.ko
@ -1111,43 +1088,33 @@ iwlwifi-Qu-b0-jf-b0-77.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.k
iwlwifi-Qu-c0-hr-b0-77.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-QuZ-a0-hr-b0-77.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-QuZ-a0-jf-b0-77.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-bz-a0-fm-b0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-bz-a0-fm-c0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-bz-a0-fm4-b0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-bz-a0-gf-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-bz-a0-gf4-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-bz-a0-hr-b0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-bz-a0-fm-b0-83.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-bz-a0-fm-c0-83.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-bz-a0-fm4-b0-83.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-bz-a0-gf-a0-83.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-bz-a0-gf4-a0-83.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-bz-a0-hr-b0-83.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-cc-a0-77.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-gl-b0-fm-b0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-gl-c0-fm-c0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-gl-c0-fm-c0.pnvm kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-ma-a0-gf-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-ma-a0-gf4-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-ma-a0-hr-b0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-ma-a0-mr-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-ma-b0-gf-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-ma-b0-gf-a0.pnvm kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-ma-b0-gf4-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-ma-b0-gf4-a0.pnvm kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-ma-b0-hr-b0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-ma-b0-mr-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-sc-a0-fm-b0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-sc-a0-fm-c0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-sc-a0-gf-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-sc-a0-gf4-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-sc-a0-hr-b0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-sc-a0-wh-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-sc2-a0-fm-c0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-sc2-a0-wh-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-sc2f-a0-fm-c0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-sc2f-a0-wh-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-so-a0-gf-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-so-a0-gf-a0.pnvm kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-so-a0-gf4-a0.pnvm kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-so-a0-hr-b0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-so-a0-jf-b0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-ty-a0-gf-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-ty-a0-gf-a0.pnvm kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-gl-b0-fm-b0-83.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-gl-c0-fm-c0-83.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-ma-a0-gf-a0-83.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-ma-a0-gf4-a0-83.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-ma-a0-hr-b0-83.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-ma-a0-mr-a0-83.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-ma-b0-gf-a0-83.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-ma-b0-gf4-a0-83.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-ma-b0-hr-b0-83.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-ma-b0-mr-a0-83.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-sc-a0-fm-b0-83.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-sc-a0-fm-c0-83.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-sc-a0-gf-a0-83.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-sc-a0-gf4-a0-83.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-sc-a0-hr-b0-83.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-sc-a0-wh-a0-83.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-so-a0-gf-a0-83.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-so-a0-hr-b0-83.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-so-a0-jf-b0-83.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-ty-a0-gf-a0-83.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
kaweth/new_code.bin kernel/drivers/net/usb/kaweth.ko
kaweth/new_code_fix.bin kernel/drivers/net/usb/kaweth.ko
kaweth/trigger_code.bin kernel/drivers/net/usb/kaweth.ko
@ -1177,6 +1144,11 @@ lantiq/xrx300_phy22f_a21.bin kernel/drivers/net/dsa/lantiq_gswip.ko
lattice-ecp3.bit kernel/drivers/misc/lattice-ecp3-config.ko
lbtf_usb.bin kernel/drivers/net/wireless/marvell/libertas_tf/libertas_tf_usb.ko
lgs8g75.fw kernel/drivers/media/dvb-frontends/lgs8gxx.ko
libertas/cf8305.bin kernel/drivers/net/wireless/marvell/libertas/libertas_cs.ko
libertas/cf8381.bin kernel/drivers/net/wireless/marvell/libertas/libertas_cs.ko
libertas/cf8381_helper.bin kernel/drivers/net/wireless/marvell/libertas/libertas_cs.ko
libertas/cf8385.bin kernel/drivers/net/wireless/marvell/libertas/libertas_cs.ko
libertas/cf8385_helper.bin kernel/drivers/net/wireless/marvell/libertas/libertas_cs.ko
libertas/gspi8385.bin kernel/drivers/net/wireless/marvell/libertas/libertas_spi.ko
libertas/gspi8385_helper.bin kernel/drivers/net/wireless/marvell/libertas/libertas_spi.ko
libertas/gspi8385_hlp.bin kernel/drivers/net/wireless/marvell/libertas/libertas_spi.ko
@ -1198,13 +1170,14 @@ libertas/usb8388.bin kernel/drivers/net/wireless/marvell/libertas/usb8xxx.ko
libertas/usb8388_v5.bin kernel/drivers/net/wireless/marvell/libertas/usb8xxx.ko
libertas/usb8388_v9.bin kernel/drivers/net/wireless/marvell/libertas/usb8xxx.ko
libertas/usb8682.bin kernel/drivers/net/wireless/marvell/libertas/usb8xxx.ko
libertas_cs.fw kernel/drivers/net/wireless/marvell/libertas/libertas_cs.ko
libertas_cs_helper.fw kernel/drivers/net/wireless/marvell/libertas/libertas_cs.ko
liquidio/lio_210nv_nic.bin kernel/drivers/net/ethernet/cavium/liquidio/liquidio.ko
liquidio/lio_210sv_nic.bin kernel/drivers/net/ethernet/cavium/liquidio/liquidio.ko
liquidio/lio_23xx_nic.bin kernel/drivers/net/ethernet/cavium/liquidio/liquidio.ko
liquidio/lio_410nv_nic.bin kernel/drivers/net/ethernet/cavium/liquidio/liquidio.ko
me2600_firmware.bin kernel/drivers/comedi/drivers/me_daq.ko
me4000_firmware.bin kernel/drivers/comedi/drivers/me4000.ko
mediatek/BT_RAM_CODE_MT7922_1_1_hdr.bin kernel/drivers/bluetooth/btmtk.ko
mediatek/BT_RAM_CODE_MT7961_1_2_hdr.bin kernel/drivers/bluetooth/btmtk.ko
mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin kernel/drivers/net/wireless/mediatek/mt76/mt7921/mt7921e.ko
mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin kernel/drivers/net/wireless/mediatek/mt76/mt7921/mt7921e.ko
@ -1242,16 +1215,6 @@ mediatek/mt7915_wm.bin kernel/drivers/net/wireless/mediatek/mt76/mt7915/mt7915e.
mediatek/mt7916_rom_patch.bin kernel/drivers/net/wireless/mediatek/mt76/mt7915/mt7915e.ko
mediatek/mt7916_wa.bin kernel/drivers/net/wireless/mediatek/mt76/mt7915/mt7915e.ko
mediatek/mt7916_wm.bin kernel/drivers/net/wireless/mediatek/mt76/mt7915/mt7915e.ko
mediatek/mt7925/BT_RAM_CODE_MT7925_1_1_hdr.bin kernel/drivers/bluetooth/btmtk.ko
mediatek/mt7925/WIFI_MT7925_PATCH_MCU_1_1_hdr.bin kernel/drivers/net/wireless/mediatek/mt76/mt7925/mt7925e.ko
mediatek/mt7925/WIFI_MT7925_PATCH_MCU_1_1_hdr.bin kernel/drivers/net/wireless/mediatek/mt76/mt7925/mt7925u.ko
mediatek/mt7925/WIFI_RAM_CODE_MT7925_1_1.bin kernel/drivers/net/wireless/mediatek/mt76/mt7925/mt7925e.ko
mediatek/mt7925/WIFI_RAM_CODE_MT7925_1_1.bin kernel/drivers/net/wireless/mediatek/mt76/mt7925/mt7925u.ko
mediatek/mt7996/mt7992_dsp.bin kernel/drivers/net/wireless/mediatek/mt76/mt7996/mt7996e.ko
mediatek/mt7996/mt7992_rom_patch.bin kernel/drivers/net/wireless/mediatek/mt76/mt7996/mt7996e.ko
mediatek/mt7996/mt7992_wa.bin kernel/drivers/net/wireless/mediatek/mt76/mt7996/mt7996e.ko
mediatek/mt7996/mt7992_wm.bin kernel/drivers/net/wireless/mediatek/mt76/mt7996/mt7996e.ko
mediatek/mt7996/mt7996_dsp.bin kernel/drivers/net/wireless/mediatek/mt76/mt7996/mt7996e.ko
mediatek/mt7996/mt7996_rom_patch.bin kernel/drivers/net/wireless/mediatek/mt76/mt7996/mt7996e.ko
mediatek/mt7996/mt7996_wa.bin kernel/drivers/net/wireless/mediatek/mt76/mt7996/mt7996e.ko
mediatek/mt7996/mt7996_wm.bin kernel/drivers/net/wireless/mediatek/mt76/mt7996/mt7996e.ko
@ -1270,11 +1233,6 @@ moxa/moxa-1130.fw kernel/drivers/usb/serial/ti_usb_3410_5052.ko
moxa/moxa-1131.fw kernel/drivers/usb/serial/ti_usb_3410_5052.ko
moxa/moxa-1150.fw kernel/drivers/usb/serial/ti_usb_3410_5052.ko
moxa/moxa-1151.fw kernel/drivers/usb/serial/ti_usb_3410_5052.ko
mrvl/pcie8766_uapsta.bin kernel/drivers/net/wireless/marvell/mwifiex/mwifiex_pcie.ko
mrvl/pcie8897_uapsta.bin kernel/drivers/net/wireless/marvell/mwifiex/mwifiex_pcie.ko
mrvl/pcie8897_uapsta_a0.bin kernel/drivers/net/wireless/marvell/mwifiex/mwifiex_pcie.ko
mrvl/pcieuart8997_combo_v4.bin kernel/drivers/net/wireless/marvell/mwifiex/mwifiex_pcie.ko
mrvl/pcieusb8997_combo_v4.bin kernel/drivers/net/wireless/marvell/mwifiex/mwifiex_pcie.ko
mrvl/sd8688.bin kernel/drivers/bluetooth/btmrvl_sdio.ko
mrvl/sd8688_helper.bin kernel/drivers/bluetooth/btmrvl_sdio.ko
mrvl/sd8786_uapsta.bin kernel/drivers/net/wireless/marvell/mwifiex/mwifiex_sdio.ko
@ -1339,30 +1297,6 @@ netronome/nic_AMDA0099-0001_2x25.nffw kernel/drivers/net/ethernet/netronome/nfp/
ni6534a.bin kernel/drivers/comedi/drivers/ni_pcidio.ko
niscrb01.bin kernel/drivers/comedi/drivers/ni_pcidio.ko
niscrb02.bin kernel/drivers/comedi/drivers/ni_pcidio.ko
nvidia/ad102/gsp/booter_load-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ad102/gsp/booter_unload-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ad102/gsp/bootloader-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ad102/gsp/gsp-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ad103/gsp/booter_load-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ad103/gsp/booter_unload-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ad103/gsp/bootloader-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ad103/gsp/gsp-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ad104/gsp/booter_load-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ad104/gsp/booter_unload-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ad104/gsp/bootloader-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ad104/gsp/gsp-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ad106/gsp/booter_load-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ad106/gsp/booter_unload-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ad106/gsp/bootloader-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ad106/gsp/gsp-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ad107/gsp/booter_load-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ad107/gsp/booter_unload-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ad107/gsp/bootloader-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ad107/gsp/gsp-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga100/gsp/booter_load-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga100/gsp/booter_unload-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga100/gsp/bootloader-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga100/gsp/gsp-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga102/acr/ucode_ahesasc.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga102/acr/ucode_asb.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga102/acr/ucode_unload.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
@ -1371,10 +1305,6 @@ nvidia/ga102/gr/fecs_bl.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga102/gr/fecs_sig.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga102/gr/gpccs_bl.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga102/gr/gpccs_sig.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga102/gsp/booter_load-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga102/gsp/booter_unload-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga102/gsp/bootloader-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga102/gsp/gsp-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga102/nvdec/scrubber.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga102/sec2/desc.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga102/sec2/hs_bl_sig.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
@ -1388,10 +1318,6 @@ nvidia/ga103/gr/fecs_bl.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga103/gr/fecs_sig.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga103/gr/gpccs_bl.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga103/gr/gpccs_sig.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga103/gsp/booter_load-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga103/gsp/booter_unload-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga103/gsp/bootloader-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga103/gsp/gsp-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga103/nvdec/scrubber.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga103/sec2/desc.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga103/sec2/hs_bl_sig.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
@ -1405,10 +1331,6 @@ nvidia/ga104/gr/fecs_bl.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga104/gr/fecs_sig.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga104/gr/gpccs_bl.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga104/gr/gpccs_sig.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga104/gsp/booter_load-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga104/gsp/booter_unload-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga104/gsp/bootloader-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga104/gsp/gsp-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga104/nvdec/scrubber.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga104/sec2/desc.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga104/sec2/hs_bl_sig.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
@ -1422,10 +1344,6 @@ nvidia/ga106/gr/fecs_bl.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga106/gr/fecs_sig.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga106/gr/gpccs_bl.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga106/gr/gpccs_sig.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga106/gsp/booter_load-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga106/gsp/booter_unload-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga106/gsp/bootloader-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga106/gsp/gsp-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga106/nvdec/scrubber.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga106/sec2/desc.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga106/sec2/hs_bl_sig.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
@ -1439,10 +1357,6 @@ nvidia/ga107/gr/fecs_bl.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga107/gr/fecs_sig.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga107/gr/gpccs_bl.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga107/gr/gpccs_sig.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga107/gsp/booter_load-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga107/gsp/booter_unload-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga107/gsp/bootloader-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga107/gsp/gsp-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga107/nvdec/scrubber.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga107/sec2/desc.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/ga107/sec2/hs_bl_sig.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
@ -1658,10 +1572,6 @@ nvidia/tu102/gr/sw_ctx.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu102/gr/sw_method_init.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu102/gr/sw_nonctx.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu102/gr/sw_veid_bundle_init.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu102/gsp/booter_load-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu102/gsp/booter_unload-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu102/gsp/bootloader-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu102/gsp/gsp-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu102/nvdec/scrubber.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu102/sec2/desc.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu102/sec2/image.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
@ -1684,10 +1594,6 @@ nvidia/tu104/gr/sw_ctx.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu104/gr/sw_method_init.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu104/gr/sw_nonctx.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu104/gr/sw_veid_bundle_init.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu104/gsp/booter_load-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu104/gsp/booter_unload-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu104/gsp/bootloader-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu104/gsp/gsp-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu104/nvdec/scrubber.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu104/sec2/desc.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu104/sec2/image.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
@ -1710,10 +1616,6 @@ nvidia/tu106/gr/sw_ctx.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu106/gr/sw_method_init.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu106/gr/sw_nonctx.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu106/gr/sw_veid_bundle_init.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu106/gsp/booter_load-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu106/gsp/booter_unload-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu106/gsp/bootloader-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu106/gsp/gsp-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu106/nvdec/scrubber.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu106/sec2/desc.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu106/sec2/image.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
@ -1736,10 +1638,6 @@ nvidia/tu116/gr/sw_ctx.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu116/gr/sw_method_init.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu116/gr/sw_nonctx.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu116/gr/sw_veid_bundle_init.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu116/gsp/booter_load-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu116/gsp/booter_unload-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu116/gsp/bootloader-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu116/gsp/gsp-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu116/nvdec/scrubber.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu116/sec2/desc.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu116/sec2/image.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
@ -1762,14 +1660,11 @@ nvidia/tu117/gr/sw_ctx.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu117/gr/sw_method_init.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu117/gr/sw_nonctx.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu117/gr/sw_veid_bundle_init.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu117/gsp/booter_load-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu117/gsp/booter_unload-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu117/gsp/bootloader-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu117/gsp/gsp-535.113.01.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu117/nvdec/scrubber.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu117/sec2/desc.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu117/sec2/image.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu117/sec2/sig.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
orinoco_ezusb_fw kernel/drivers/net/wireless/intersil/orinoco/orinoco_usb.ko
ositech/Xilinx7OD.bin kernel/drivers/net/ethernet/smsc/smc91c92_cs.ko
otp.bin kernel/drivers/nfc/fdp/fdp.ko
pca200e_ecd.bin2 kernel/drivers/atm/fore_200e.ko
@ -1794,8 +1689,8 @@ phanfw.bin kernel/drivers/net/ethernet/qlogic/netxen/netxen_nic.ko
phanfw.bin kernel/drivers/net/ethernet/qlogic/qlcnic/qlcnic.ko
plfxlc/lifi-x.bin kernel/drivers/net/wireless/purelifi/plfxlc/plfxlc.ko
prism2_ru.fw kernel/drivers/staging/wlan-ng/prism2_usb.ko
qat_420xx.bin kernel/drivers/crypto/intel/qat/qat_420xx/qat_420xx.ko
qat_420xx_mmp.bin kernel/drivers/crypto/intel/qat/qat_420xx/qat_420xx.ko
prism_ap_fw.bin kernel/drivers/net/wireless/intersil/orinoco/orinoco.ko
prism_sta_fw.bin kernel/drivers/net/wireless/intersil/orinoco/orinoco.ko
qat_4xxx.bin kernel/drivers/crypto/intel/qat/qat_4xxx/qat_4xxx.ko
qat_4xxx_mmp.bin kernel/drivers/crypto/intel/qat/qat_4xxx/qat_4xxx.ko
qat_895xcc.bin kernel/drivers/crypto/intel/qat/qat_dh895xcc/qat_dh895xcc.ko
@ -2200,6 +2095,8 @@ solos-FPGA.bin kernel/drivers/atm/solos-pci.ko
solos-Firmware.bin kernel/drivers/atm/solos-pci.ko
solos-db-FPGA.bin kernel/drivers/atm/solos-pci.ko
sun/cassini.bin kernel/drivers/net/ethernet/sun/cassini.ko
symbol_sp24t_prim_fw kernel/drivers/net/wireless/intersil/orinoco/orinoco.ko
symbol_sp24t_sec_fw kernel/drivers/net/wireless/intersil/orinoco/orinoco.ko
tdmb_denver.inp kernel/drivers/media/common/siano/smsmdtv.ko
tdmb_nova_12mhz.inp kernel/drivers/media/common/siano/smsmdtv.ko
tdmb_nova_12mhz_b0.inp kernel/drivers/media/common/siano/smsmdtv.ko
@ -2296,6 +2193,8 @@ yam/9600.bin kernel/drivers/net/hamradio/yam.ko
yamaha/ds1_ctrl.fw kernel/sound/pci/ymfpci/snd-ymfpci.ko
yamaha/ds1_dsp.fw kernel/sound/pci/ymfpci/snd-ymfpci.ko
yamaha/ds1e_ctrl.fw kernel/sound/pci/ymfpci/snd-ymfpci.ko
zd1201-ap.fw kernel/drivers/net/wireless/zydas/zd1201.ko
zd1201.fw kernel/drivers/net/wireless/zydas/zd1201.ko
zd1211/zd1211_ub kernel/drivers/net/wireless/zydas/zd1211rw/zd1211rw.ko
zd1211/zd1211_uphr kernel/drivers/net/wireless/zydas/zd1211rw/zd1211rw.ko
zd1211/zd1211_ur kernel/drivers/net/wireless/zydas/zd1211rw/zd1211rw.ko

View File

@ -55,10 +55,10 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 files changed, 111 insertions(+)
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index 4272acb3d047..d18cc2c1f9c3 100644
index 90ddf08e8409..eedfabda597f 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -4400,6 +4400,15 @@
@@ -4285,6 +4285,15 @@
Also, it enforces the PCI Local Bus spec
rule that those bits should be 0 in system reset
events (useful for kexec/kdump cases).
@ -75,7 +75,7 @@ index 4272acb3d047..d18cc2c1f9c3 100644
Safety option to keep boot IRQs enabled. This
should never be necessary.
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index ce469d84ebae..4f163ef55e7b 100644
index c7a5718e5729..901f55b9ac64 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -287,6 +287,106 @@ static int __init pci_apply_final_quirks(void)
@ -185,7 +185,7 @@ index ce469d84ebae..4f163ef55e7b 100644
/*
* Decoding should be disabled for a PCI device during BAR sizing to avoid
* conflict. But doing so may cause problems on host bridge and perhaps other
@@ -5100,6 +5200,8 @@ static const struct pci_dev_acs_enabled {
@@ -5091,6 +5191,8 @@ static const struct pci_dev_acs_enabled {
{ PCI_VENDOR_ID_CAVIUM, 0xA060, pci_quirk_mf_endpoint_acs },
/* APM X-Gene */
{ PCI_VENDOR_ID_AMCC, 0xE004, pci_quirk_xgene_acs },

View File

@ -13,7 +13,7 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index 0f50960b0e3a..37f840f57f32 100644
index 5bbb5612b207..691ce10e7647 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -82,7 +82,7 @@ module_param(halt_poll_ns, uint, 0644);

View File

@ -14,10 +14,10 @@ Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/core/dev.c b/net/core/dev.c
index c365aa06f886..c9066a7aa4c5 100644
index 4811937f572d..8850f9be9044 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -10470,7 +10470,7 @@ static struct net_device *netdev_wait_allrefs_any(struct list_head *list)
@@ -10355,7 +10355,7 @@ static struct net_device *netdev_wait_allrefs_any(struct list_head *list)
if (time_after(jiffies, warning_time +
READ_ONCE(netdev_unregister_timeout_secs) * HZ)) {
list_for_each_entry(dev, list, todo_list) {

View File

@ -16,7 +16,7 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/linux/fortify-string.h b/include/linux/fortify-string.h
index 89a6888f2f9e..66e0b60dcabb 100644
index da51a83b2829..9d9e7822eddf 100644
--- a/include/linux/fortify-string.h
+++ b/include/linux/fortify-string.h
@@ -18,7 +18,7 @@ void __write_overflow_field(size_t avail, size_t wanted) __compiletime_warning("

View File

@ -78,10 +78,10 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 files changed, 21 insertions(+)
diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c
index 3a02276899db..e07a6089ba4b 100644
index 7bdc66abfc92..e2b67975869c 100644
--- a/arch/x86/kvm/cpuid.c
+++ b/arch/x86/kvm/cpuid.c
@@ -262,6 +262,12 @@ static u64 cpuid_get_supported_xcr0(struct kvm_cpuid_entry2 *entries, int nent)
@@ -249,6 +249,12 @@ static u64 cpuid_get_supported_xcr0(struct kvm_cpuid_entry2 *entries, int nent)
return (best->eax | ((u64)best->edx << 32)) & kvm_caps.supported_xcr0;
}
@ -95,7 +95,7 @@ index 3a02276899db..e07a6089ba4b 100644
int nent)
{
diff --git a/arch/x86/kvm/cpuid.h b/arch/x86/kvm/cpuid.h
index 23dbb9eb277c..07da153802e4 100644
index b1658c0de847..12a02851ff57 100644
--- a/arch/x86/kvm/cpuid.h
+++ b/arch/x86/kvm/cpuid.h
@@ -32,6 +32,8 @@ int kvm_vcpu_ioctl_get_cpuid2(struct kvm_vcpu *vcpu,
@ -108,10 +108,10 @@ index 23dbb9eb277c..07da153802e4 100644
int cpuid_query_maxphyaddr(struct kvm_vcpu *vcpu);
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index c84927216fad..880e2b87777e 100644
index a5c8a01f7e7e..632d2d18041a 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -5580,6 +5580,19 @@ static int kvm_vcpu_ioctl_x86_set_xsave(struct kvm_vcpu *vcpu,
@@ -5426,6 +5426,19 @@ static int kvm_vcpu_ioctl_x86_set_xsave(struct kvm_vcpu *vcpu,
if (fpstate_is_confidential(&vcpu->arch.guest_fpu))
return 0;

View File

@ -11,10 +11,10 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
index c4c6240d14f9..5e037a9ea6a6 100644
index 8faccfdfe500..2b9ef40799a5 100644
--- a/drivers/iommu/intel/iommu.c
+++ b/drivers/iommu/intel/iommu.c
@@ -234,6 +234,7 @@ static int dmar_map_gfx = 1;
@@ -298,6 +298,7 @@ static int dmar_map_gfx = 1;
static int dmar_map_ipu = 1;
static int intel_iommu_superpage = 1;
static int iommu_identity_mapping;
@ -22,7 +22,7 @@ index c4c6240d14f9..5e037a9ea6a6 100644
static int iommu_skip_te_disable;
#define IDENTMAP_GFX 2
@@ -296,6 +297,9 @@ static int __init intel_iommu_setup(char *str)
@@ -359,6 +360,9 @@ static int __init intel_iommu_setup(char *str)
} else if (!strncmp(str, "tboot_noforce", 13)) {
pr_info("Intel-IOMMU: not forcing on after tboot. This could expose security risk for tboot\n");
intel_iommu_tboot_noforce = 1;
@ -32,7 +32,7 @@ index c4c6240d14f9..5e037a9ea6a6 100644
} else {
pr_notice("Unknown option - '%s'\n", str);
}
@@ -2470,7 +2474,7 @@ static bool device_rmrr_is_relaxable(struct device *dev)
@@ -2506,7 +2510,7 @@ static bool device_rmrr_is_relaxable(struct device *dev)
return false;
pdev = to_pci_dev(dev);

View File

@ -24,14 +24,14 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
1 file changed, 1 insertion(+)
diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c
index e90b429c84f1..5c7faf7c447f 100644
index 99832814341c..e8bb2bfd1ba1 100644
--- a/arch/x86/kvm/svm/svm.c
+++ b/arch/x86/kvm/svm/svm.c
@@ -5085,6 +5085,7 @@ static __init void svm_set_cpu_caps(void)
@@ -4985,6 +4985,7 @@ static __init void svm_set_cpu_caps(void)
if (nested) {
kvm_cpu_cap_set(X86_FEATURE_SVM);
kvm_cpu_cap_set(X86_FEATURE_VMCBCLEAN);
+ kvm_cpu_cap_set(X86_FEATURE_FLUSHBYASID);
/*
* KVM currently flushes TLBs on *every* nested SVM transition,
if (nrips)
kvm_cpu_cap_set(X86_FEATURE_NRIPS);

View File

@ -30,7 +30,7 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/memfd.c b/mm/memfd.c
index d3a1ba4208c9..6a9de5d9105e 100644
index 2dba2cb6f0d0..1c077e98e116 100644
--- a/mm/memfd.c
+++ b/mm/memfd.c
@@ -282,7 +282,7 @@ static int check_sysctl_memfd_noexec(unsigned int *flags)

View File

@ -1,31 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Wolfgang Bumiller <w.bumiller@proxmox.com>
Date: Wed, 10 Apr 2024 13:21:59 +0200
Subject: [PATCH] apparmor: expect msg_namelen=0 for recvmsg calls
When coming from sys_recvmsg, msg->msg_namelen is explicitly set to
zero early on. (see ____sys_recvmsg in net/socket.c)
We still end up in 'map_addr' where the assumption is that addr !=
NULL means addrlen has a valid size.
This is likely not a final fix, it was suggested by jjohansen on irc
to get things going until this is resolved properly.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
---
security/apparmor/af_inet.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/security/apparmor/af_inet.c b/security/apparmor/af_inet.c
index 57b710054a76..35f905d9b960 100644
--- a/security/apparmor/af_inet.c
+++ b/security/apparmor/af_inet.c
@@ -766,7 +766,7 @@ int aa_inet_msg_perm(const char *op, u32 request, struct socket *sock,
/* do we need early bailout for !family ... */
return sk_has_perm2(sock->sk, op, request, profile, ad,
map_sock_addr(sock, ADDR_LOCAL, &laddr, &ad),
- map_addr(msg->msg_name, msg->msg_namelen, 0,
+ map_addr(msg->msg_namelen == 0 ? NULL : msg->msg_name, msg->msg_namelen, 0,
ADDR_REMOTE, &raddr, &ad),
profile_remote_perm(profile, sock->sk, request,
&raddr, &laddr.maddr, &ad));

View File

@ -0,0 +1,146 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Alex Deucher <alexander.deucher@amd.com>
Date: Fri, 27 Oct 2023 16:40:47 -0400
Subject: [PATCH] drm/amd: Fix UBSAN array-index-out-of-bounds for Powerplay
headers
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
For pptable structs that use flexible array sizes, use flexible arrays.
Link: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2039926
Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry-picked from commit 49afe91370b86566857a3c2c39612cf098110885)
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
---
.../drm/amd/pm/powerplay/hwmgr/pptable_v1_0.h | 4 ++--
.../amd/pm/powerplay/hwmgr/vega10_pptable.h | 24 +++++++++----------
2 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/pptable_v1_0.h b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/pptable_v1_0.h
index e0e40b054c08..5ec564dbf339 100644
--- a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/pptable_v1_0.h
+++ b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/pptable_v1_0.h
@@ -367,7 +367,7 @@ typedef struct _ATOM_Tonga_VCE_State_Record {
typedef struct _ATOM_Tonga_VCE_State_Table {
UCHAR ucRevId;
UCHAR ucNumEntries;
- ATOM_Tonga_VCE_State_Record entries[1];
+ ATOM_Tonga_VCE_State_Record entries[];
} ATOM_Tonga_VCE_State_Table;
typedef struct _ATOM_Tonga_PowerTune_Table {
@@ -482,7 +482,7 @@ typedef struct _ATOM_Tonga_Hard_Limit_Record {
typedef struct _ATOM_Tonga_Hard_Limit_Table {
UCHAR ucRevId;
UCHAR ucNumEntries;
- ATOM_Tonga_Hard_Limit_Record entries[1];
+ ATOM_Tonga_Hard_Limit_Record entries[];
} ATOM_Tonga_Hard_Limit_Table;
typedef struct _ATOM_Tonga_GPIO_Table {
diff --git a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_pptable.h b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_pptable.h
index 9c479bd9a786..a372abcd01be 100644
--- a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_pptable.h
+++ b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_pptable.h
@@ -129,7 +129,7 @@ typedef struct _ATOM_Vega10_State {
typedef struct _ATOM_Vega10_State_Array {
UCHAR ucRevId;
UCHAR ucNumEntries; /* Number of entries. */
- ATOM_Vega10_State states[1]; /* Dynamically allocate entries. */
+ ATOM_Vega10_State states[]; /* Dynamically allocate entries. */
} ATOM_Vega10_State_Array;
typedef struct _ATOM_Vega10_CLK_Dependency_Record {
@@ -169,37 +169,37 @@ typedef struct _ATOM_Vega10_GFXCLK_Dependency_Table {
typedef struct _ATOM_Vega10_MCLK_Dependency_Table {
UCHAR ucRevId;
UCHAR ucNumEntries; /* Number of entries. */
- ATOM_Vega10_MCLK_Dependency_Record entries[1]; /* Dynamically allocate entries. */
+ ATOM_Vega10_MCLK_Dependency_Record entries[]; /* Dynamically allocate entries. */
} ATOM_Vega10_MCLK_Dependency_Table;
typedef struct _ATOM_Vega10_SOCCLK_Dependency_Table {
UCHAR ucRevId;
UCHAR ucNumEntries; /* Number of entries. */
- ATOM_Vega10_CLK_Dependency_Record entries[1]; /* Dynamically allocate entries. */
+ ATOM_Vega10_CLK_Dependency_Record entries[]; /* Dynamically allocate entries. */
} ATOM_Vega10_SOCCLK_Dependency_Table;
typedef struct _ATOM_Vega10_DCEFCLK_Dependency_Table {
UCHAR ucRevId;
UCHAR ucNumEntries; /* Number of entries. */
- ATOM_Vega10_CLK_Dependency_Record entries[1]; /* Dynamically allocate entries. */
+ ATOM_Vega10_CLK_Dependency_Record entries[]; /* Dynamically allocate entries. */
} ATOM_Vega10_DCEFCLK_Dependency_Table;
typedef struct _ATOM_Vega10_PIXCLK_Dependency_Table {
UCHAR ucRevId;
UCHAR ucNumEntries; /* Number of entries. */
- ATOM_Vega10_CLK_Dependency_Record entries[1]; /* Dynamically allocate entries. */
+ ATOM_Vega10_CLK_Dependency_Record entries[]; /* Dynamically allocate entries. */
} ATOM_Vega10_PIXCLK_Dependency_Table;
typedef struct _ATOM_Vega10_DISPCLK_Dependency_Table {
UCHAR ucRevId;
UCHAR ucNumEntries; /* Number of entries.*/
- ATOM_Vega10_CLK_Dependency_Record entries[1]; /* Dynamically allocate entries. */
+ ATOM_Vega10_CLK_Dependency_Record entries[]; /* Dynamically allocate entries. */
} ATOM_Vega10_DISPCLK_Dependency_Table;
typedef struct _ATOM_Vega10_PHYCLK_Dependency_Table {
UCHAR ucRevId;
UCHAR ucNumEntries; /* Number of entries. */
- ATOM_Vega10_CLK_Dependency_Record entries[1]; /* Dynamically allocate entries. */
+ ATOM_Vega10_CLK_Dependency_Record entries[]; /* Dynamically allocate entries. */
} ATOM_Vega10_PHYCLK_Dependency_Table;
typedef struct _ATOM_Vega10_MM_Dependency_Record {
@@ -213,7 +213,7 @@ typedef struct _ATOM_Vega10_MM_Dependency_Record {
typedef struct _ATOM_Vega10_MM_Dependency_Table {
UCHAR ucRevId;
UCHAR ucNumEntries; /* Number of entries */
- ATOM_Vega10_MM_Dependency_Record entries[1]; /* Dynamically allocate entries */
+ ATOM_Vega10_MM_Dependency_Record entries[]; /* Dynamically allocate entries */
} ATOM_Vega10_MM_Dependency_Table;
typedef struct _ATOM_Vega10_PCIE_Record {
@@ -225,7 +225,7 @@ typedef struct _ATOM_Vega10_PCIE_Record {
typedef struct _ATOM_Vega10_PCIE_Table {
UCHAR ucRevId;
UCHAR ucNumEntries; /* Number of entries */
- ATOM_Vega10_PCIE_Record entries[1]; /* Dynamically allocate entries. */
+ ATOM_Vega10_PCIE_Record entries[]; /* Dynamically allocate entries. */
} ATOM_Vega10_PCIE_Table;
typedef struct _ATOM_Vega10_Voltage_Lookup_Record {
@@ -235,7 +235,7 @@ typedef struct _ATOM_Vega10_Voltage_Lookup_Record {
typedef struct _ATOM_Vega10_Voltage_Lookup_Table {
UCHAR ucRevId;
UCHAR ucNumEntries; /* Number of entries */
- ATOM_Vega10_Voltage_Lookup_Record entries[1]; /* Dynamically allocate entries */
+ ATOM_Vega10_Voltage_Lookup_Record entries[]; /* Dynamically allocate entries */
} ATOM_Vega10_Voltage_Lookup_Table;
typedef struct _ATOM_Vega10_Fan_Table {
@@ -329,7 +329,7 @@ typedef struct _ATOM_Vega10_VCE_State_Table
{
UCHAR ucRevId;
UCHAR ucNumEntries;
- ATOM_Vega10_VCE_State_Record entries[1];
+ ATOM_Vega10_VCE_State_Record entries[];
} ATOM_Vega10_VCE_State_Table;
typedef struct _ATOM_Vega10_PowerTune_Table {
@@ -432,7 +432,7 @@ typedef struct _ATOM_Vega10_Hard_Limit_Table
{
UCHAR ucRevId;
UCHAR ucNumEntries;
- ATOM_Vega10_Hard_Limit_Record entries[1];
+ ATOM_Vega10_Hard_Limit_Record entries[];
} ATOM_Vega10_Hard_Limit_Table;
typedef struct _Vega10_PPTable_Generic_SubTable_Header

View File

@ -0,0 +1,56 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Ojaswin Mujoo <ojaswin@linux.ibm.com>
Date: Fri, 15 Dec 2023 16:49:50 +0530
Subject: [PATCH] ext4: fallback to complex scan if aligned scan doesn't work
Currently in case the goal length is a multiple of stripe size we use
ext4_mb_scan_aligned() to find the stripe size aligned physical blocks.
In case we are not able to find any, we again go back to calling
ext4_mb_choose_next_group() to search for a different suitable block
group. However, since the linear search always begins from the start,
most of the times we end up with the same BG and the cycle continues.
With large fliesystems, the CPU can be stuck in this loop for hours
which can slow down the whole system. Hence, until we figure out a
better way to continue the search (rather than starting from beginning)
in ext4_mb_choose_next_group(), lets just fallback to
ext4_mb_complex_scan_group() in case aligned scan fails, as it is much
more likely to find the needed blocks.
Signed-off-by: Ojaswin Mujoo <ojaswin@linux.ibm.com>
---
fs/ext4/mballoc.c | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
index 2690d47a9ea2..9ff8ea02f79d 100644
--- a/fs/ext4/mballoc.c
+++ b/fs/ext4/mballoc.c
@@ -2894,14 +2894,19 @@ ext4_mb_regular_allocator(struct ext4_allocation_context *ac)
ac->ac_groups_scanned++;
if (cr == CR_POWER2_ALIGNED)
ext4_mb_simple_scan_group(ac, &e4b);
- else if ((cr == CR_GOAL_LEN_FAST ||
- cr == CR_BEST_AVAIL_LEN) &&
- sbi->s_stripe &&
- !(ac->ac_g_ex.fe_len %
- EXT4_B2C(sbi, sbi->s_stripe)))
- ext4_mb_scan_aligned(ac, &e4b);
- else
- ext4_mb_complex_scan_group(ac, &e4b);
+ else {
+ bool is_stripe_aligned = sbi->s_stripe &&
+ !(ac->ac_g_ex.fe_len %
+ EXT4_B2C(sbi, sbi->s_stripe));
+
+ if ((cr == CR_GOAL_LEN_FAST ||
+ cr == CR_BEST_AVAIL_LEN) &&
+ is_stripe_aligned)
+ ext4_mb_scan_aligned(ac, &e4b);
+
+ if (ac->ac_status == AC_STATUS_CONTINUE)
+ ext4_mb_complex_scan_group(ac, &e4b);
+ }
ext4_unlock_group(sb, group);
ext4_mb_unload_buddy(&e4b);

View File

@ -0,0 +1,23 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Stoiko Ivanov <s.ivanov@proxmox.com>
Date: Wed, 3 Apr 2024 10:29:59 +0200
Subject: [PATCH] Revert "cifs: fix flushing folio regression for 6.1 backport"
This reverts commit 2dc07a11e269bfbe5589e99b60cdbae0118be979.
---
fs/smb/client/cifsfs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/smb/client/cifsfs.c b/fs/smb/client/cifsfs.c
index 55a6d0296ec82..82313b2534631 100644
--- a/fs/smb/client/cifsfs.c
+++ b/fs/smb/client/cifsfs.c
@@ -1245,7 +1245,7 @@ static int cifs_flush_folio(struct inode *inode, loff_t pos, loff_t *_fstart, lo
int rc = 0;
folio = filemap_get_folio(inode->i_mapping, index);
- if (!folio)
+ if (IS_ERR(folio))
return 0;
size = folio_size(folio);

View File

@ -0,0 +1,24 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Stoiko Ivanov <s.ivanov@proxmox.com>
Date: Thu, 4 Apr 2024 11:41:15 +0200
Subject: [PATCH] Revert "thermal: trip: Drop lockdep assertion from
thermal_zone_trip_id()"
This reverts commit c723c4fca6d2db3815623ff4dc0ea51667b56b89.
---
drivers/thermal/thermal_trip.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/thermal/thermal_trip.c b/drivers/thermal/thermal_trip.c
index 68bea8706c597..1d4fe63e09f77 100644
--- a/drivers/thermal/thermal_trip.c
+++ b/drivers/thermal/thermal_trip.c
@@ -201,6 +201,8 @@ int thermal_zone_trip_id(struct thermal_zone_device *tz,
{
int i;
+ lockdep_assert_held(&tz->lock);
+
for (i = 0; i < tz->num_trips; i++) {
if (&tz->trips[i] == trip)
return i;

View File

@ -1,64 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Chengming Zhou <chengming.zhou@linux.dev>
Date: Sat, 8 Jun 2024 22:31:15 +0800
Subject: [PATCH] block: fix request.queuelist usage in flush
Friedrich Weber reported a kernel crash problem and bisected to commit
81ada09cc25e ("blk-flush: reuse rq queuelist in flush state machine").
The root cause is that we use "list_move_tail(&rq->queuelist, pending)"
in the PREFLUSH/POSTFLUSH sequences. But rq->queuelist.next == xxx since
it's popped out from plug->cached_rq in __blk_mq_alloc_requests_batch().
We don't initialize its queuelist just for this first request, although
the queuelist of all later popped requests will be initialized.
Fix it by changing to use "list_add_tail(&rq->queuelist, pending)" so
rq->queuelist doesn't need to be initialized. It should be ok since rq
can't be on any list when PREFLUSH or POSTFLUSH, has no move actually.
Please note the commit 81ada09cc25e ("blk-flush: reuse rq queuelist in
flush state machine") also has another requirement that no drivers would
touch rq->queuelist after blk_mq_end_request() since we will reuse it to
add rq to the post-flush pending list in POSTFLUSH. If this is not true,
we will have to revert that commit IMHO.
This updated version adds "list_del_init(&rq->queuelist)" in flush rq
callback since the dm layer may submit request of a weird invalid format
(REQ_FSEQ_PREFLUSH | REQ_FSEQ_POSTFLUSH), which causes double list_add
if without this "list_del_init(&rq->queuelist)". The weird invalid format
problem should be fixed in dm layer.
Reported-by: Friedrich Weber <f.weber@proxmox.com>
Closes: https://lore.kernel.org/lkml/14b89dfb-505c-49f7-aebb-01c54451db40@proxmox.com/
Closes: https://lore.kernel.org/lkml/c9d03ff7-27c5-4ebd-b3f6-5a90d96f35ba@proxmox.com/
Fixes: 81ada09cc25e ("blk-flush: reuse rq queuelist in flush state machine")
Cc: Christoph Hellwig <hch@lst.de>
Cc: ming.lei@redhat.com
Cc: bvanassche@acm.org
Tested-by: Friedrich Weber <f.weber@proxmox.com>
Signed-off-by: Chengming Zhou <chengming.zhou@linux.dev>
---
block/blk-flush.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/block/blk-flush.c b/block/blk-flush.c
index 3f4d41952ef2..d72b57898b23 100644
--- a/block/blk-flush.c
+++ b/block/blk-flush.c
@@ -183,7 +183,7 @@ static void blk_flush_complete_seq(struct request *rq,
/* queue for flush */
if (list_empty(pending))
fq->flush_pending_since = jiffies;
- list_move_tail(&rq->queuelist, pending);
+ list_add_tail(&rq->queuelist, pending);
break;
case REQ_FSEQ_DATA:
@@ -261,6 +261,7 @@ static enum rq_end_io_ret flush_end_io(struct request *flush_rq,
unsigned int seq = blk_flush_cur_seq(rq);
BUG_ON(seq != REQ_FSEQ_PREFLUSH && seq != REQ_FSEQ_POSTFLUSH);
+ list_del_init(&rq->queuelist);
blk_flush_complete_seq(rq, fq, seq, error);
}

View File

@ -0,0 +1,343 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Stoiko Ivanov <s.ivanov@proxmox.com>
Date: Thu, 4 Apr 2024 11:41:17 +0200
Subject: [PATCH] Revert "thermal: core: Store trip pointer in struct
thermal_instance"
This reverts commit 643b451957369f28b7770af387d14d4e4712074b.
---
drivers/thermal/gov_bang_bang.c | 23 +++++++++++++++--------
drivers/thermal/gov_fair_share.c | 5 ++---
drivers/thermal/gov_power_allocator.c | 11 +++--------
drivers/thermal/gov_step_wise.c | 16 +++++++++-------
drivers/thermal/thermal_core.c | 15 +++++----------
drivers/thermal/thermal_core.h | 4 +---
drivers/thermal/thermal_helpers.c | 5 +----
drivers/thermal/thermal_sysfs.c | 3 +--
drivers/thermal/thermal_trip.c | 15 ---------------
9 files changed, 37 insertions(+), 60 deletions(-)
diff --git a/drivers/thermal/gov_bang_bang.c b/drivers/thermal/gov_bang_bang.c
index 49cdfaa3a9279..1b121066521ff 100644
--- a/drivers/thermal/gov_bang_bang.c
+++ b/drivers/thermal/gov_bang_bang.c
@@ -13,21 +13,28 @@
#include "thermal_core.h"
-static int thermal_zone_trip_update(struct thermal_zone_device *tz, int trip_index)
+static int thermal_zone_trip_update(struct thermal_zone_device *tz, int trip_id)
{
- const struct thermal_trip *trip = &tz->trips[trip_index];
+ struct thermal_trip trip;
struct thermal_instance *instance;
+ int ret;
+
+ ret = __thermal_zone_get_trip(tz, trip_id, &trip);
+ if (ret) {
+ pr_warn_once("Failed to retrieve trip point %d\n", trip_id);
+ return ret;
+ }
- if (!trip->hysteresis)
+ if (!trip.hysteresis)
dev_info_once(&tz->device,
"Zero hysteresis value for thermal zone %s\n", tz->type);
dev_dbg(&tz->device, "Trip%d[temp=%d]:temp=%d:hyst=%d\n",
- trip_index, trip->temperature, tz->temperature,
- trip->hysteresis);
+ trip_id, trip.temperature, tz->temperature,
+ trip.hysteresis);
list_for_each_entry(instance, &tz->thermal_instances, tz_node) {
- if (instance->trip != trip)
+ if (instance->trip != trip_id)
continue;
/* in case fan is in initial state, switch the fan off */
@@ -45,10 +52,10 @@ static int thermal_zone_trip_update(struct thermal_zone_device *tz, int trip_ind
* enable fan when temperature exceeds trip_temp and disable
* the fan in case it falls below trip_temp minus hysteresis
*/
- if (instance->target == 0 && tz->temperature >= trip->temperature)
+ if (instance->target == 0 && tz->temperature >= trip.temperature)
instance->target = 1;
else if (instance->target == 1 &&
- tz->temperature <= trip->temperature - trip->hysteresis)
+ tz->temperature <= trip.temperature - trip.hysteresis)
instance->target = 0;
dev_dbg(&instance->cdev->device, "target=%d\n",
diff --git a/drivers/thermal/gov_fair_share.c b/drivers/thermal/gov_fair_share.c
index 2abeb8979f500..03c2daeb6ee8b 100644
--- a/drivers/thermal/gov_fair_share.c
+++ b/drivers/thermal/gov_fair_share.c
@@ -49,7 +49,7 @@ static long get_target_state(struct thermal_zone_device *tz,
/**
* fair_share_throttle - throttles devices associated with the given zone
* @tz: thermal_zone_device
- * @trip_index: trip point index
+ * @trip: trip point index
*
* Throttling Logic: This uses three parameters to calculate the new
* throttle state of the cooling devices associated with the given zone.
@@ -65,9 +65,8 @@ static long get_target_state(struct thermal_zone_device *tz,
* (Heavily assumes the trip points are in ascending order)
* new_state of cooling device = P3 * P2 * P1
*/
-static int fair_share_throttle(struct thermal_zone_device *tz, int trip_index)
+static int fair_share_throttle(struct thermal_zone_device *tz, int trip)
{
- const struct thermal_trip *trip = &tz->trips[trip_index];
struct thermal_instance *instance;
int total_weight = 0;
int total_instance = 0;
diff --git a/drivers/thermal/gov_power_allocator.c b/drivers/thermal/gov_power_allocator.c
index fc969642f70b7..fb311339bd08f 100644
--- a/drivers/thermal/gov_power_allocator.c
+++ b/drivers/thermal/gov_power_allocator.c
@@ -90,14 +90,12 @@ static u32 estimate_sustainable_power(struct thermal_zone_device *tz)
u32 sustainable_power = 0;
struct thermal_instance *instance;
struct power_allocator_params *params = tz->governor_data;
- const struct thermal_trip *trip_max_desired_temperature =
- &tz->trips[params->trip_max_desired_temperature];
list_for_each_entry(instance, &tz->thermal_instances, tz_node) {
struct thermal_cooling_device *cdev = instance->cdev;
u32 min_power;
- if (instance->trip != trip_max_desired_temperature)
+ if (instance->trip != params->trip_max_desired_temperature)
continue;
if (!cdev_is_power_actor(cdev))
@@ -385,13 +383,12 @@ static int allocate_power(struct thermal_zone_device *tz,
{
struct thermal_instance *instance;
struct power_allocator_params *params = tz->governor_data;
- const struct thermal_trip *trip_max_desired_temperature =
- &tz->trips[params->trip_max_desired_temperature];
u32 *req_power, *max_power, *granted_power, *extra_actor_power;
u32 *weighted_req_power;
u32 total_req_power, max_allocatable_power, total_weighted_req_power;
u32 total_granted_power, power_range;
int i, num_actors, total_weight, ret = 0;
+ int trip_max_desired_temperature = params->trip_max_desired_temperature;
num_actors = 0;
total_weight = 0;
@@ -567,14 +564,12 @@ static void allow_maximum_power(struct thermal_zone_device *tz, bool update)
{
struct thermal_instance *instance;
struct power_allocator_params *params = tz->governor_data;
- const struct thermal_trip *trip_max_desired_temperature =
- &tz->trips[params->trip_max_desired_temperature];
u32 req_power;
list_for_each_entry(instance, &tz->thermal_instances, tz_node) {
struct thermal_cooling_device *cdev = instance->cdev;
- if ((instance->trip != trip_max_desired_temperature) ||
+ if ((instance->trip != params->trip_max_desired_temperature) ||
(!cdev_is_power_actor(instance->cdev)))
continue;
diff --git a/drivers/thermal/gov_step_wise.c b/drivers/thermal/gov_step_wise.c
index 849dc1ec8d27c..1050fb4d94c2d 100644
--- a/drivers/thermal/gov_step_wise.c
+++ b/drivers/thermal/gov_step_wise.c
@@ -81,24 +81,26 @@ static void update_passive_instance(struct thermal_zone_device *tz,
static void thermal_zone_trip_update(struct thermal_zone_device *tz, int trip_id)
{
- const struct thermal_trip *trip = &tz->trips[trip_id];
enum thermal_trend trend;
struct thermal_instance *instance;
+ struct thermal_trip trip;
bool throttle = false;
int old_target;
+ __thermal_zone_get_trip(tz, trip_id, &trip);
+
trend = get_tz_trend(tz, trip_id);
- if (tz->temperature >= trip->temperature) {
+ if (tz->temperature >= trip.temperature) {
throttle = true;
- trace_thermal_zone_trip(tz, trip_id, trip->type);
+ trace_thermal_zone_trip(tz, trip_id, trip.type);
}
dev_dbg(&tz->device, "Trip%d[type=%d,temp=%d]:trend=%d,throttle=%d\n",
- trip_id, trip->type, trip->temperature, trend, throttle);
+ trip_id, trip.type, trip.temperature, trend, throttle);
list_for_each_entry(instance, &tz->thermal_instances, tz_node) {
- if (instance->trip != trip)
+ if (instance->trip != trip_id)
continue;
old_target = instance->target;
@@ -112,11 +114,11 @@ static void thermal_zone_trip_update(struct thermal_zone_device *tz, int trip_id
/* Activate a passive thermal instance */
if (old_target == THERMAL_NO_TARGET &&
instance->target != THERMAL_NO_TARGET)
- update_passive_instance(tz, trip->type, 1);
+ update_passive_instance(tz, trip.type, 1);
/* Deactivate a passive thermal instance */
else if (old_target != THERMAL_NO_TARGET &&
instance->target == THERMAL_NO_TARGET)
- update_passive_instance(tz, trip->type, -1);
+ update_passive_instance(tz, trip.type, -1);
instance->initialized = true;
mutex_lock(&instance->cdev->lock);
diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
index c066c09555667..69cff5fc32156 100644
--- a/drivers/thermal/thermal_core.c
+++ b/drivers/thermal/thermal_core.c
@@ -582,7 +582,7 @@ struct thermal_zone_device *thermal_zone_get_by_id(int id)
/**
* thermal_zone_bind_cooling_device() - bind a cooling device to a thermal zone
* @tz: pointer to struct thermal_zone_device
- * @trip_index: indicates which trip point the cooling devices is
+ * @trip: indicates which trip point the cooling devices is
* associated with in this thermal zone.
* @cdev: pointer to struct thermal_cooling_device
* @upper: the Maximum cooling state for this trip point.
@@ -602,7 +602,7 @@ struct thermal_zone_device *thermal_zone_get_by_id(int id)
* Return: 0 on success, the proper error value otherwise.
*/
int thermal_zone_bind_cooling_device(struct thermal_zone_device *tz,
- int trip_index,
+ int trip,
struct thermal_cooling_device *cdev,
unsigned long upper, unsigned long lower,
unsigned int weight)
@@ -611,15 +611,12 @@ int thermal_zone_bind_cooling_device(struct thermal_zone_device *tz,
struct thermal_instance *pos;
struct thermal_zone_device *pos1;
struct thermal_cooling_device *pos2;
- const struct thermal_trip *trip;
bool upper_no_limit;
int result;
- if (trip_index >= tz->num_trips || trip_index < 0)
+ if (trip >= tz->num_trips || trip < 0)
return -EINVAL;
- trip = &tz->trips[trip_index];
-
list_for_each_entry(pos1, &thermal_tz_list, node) {
if (pos1 == tz)
break;
@@ -724,7 +721,7 @@ EXPORT_SYMBOL_GPL(thermal_zone_bind_cooling_device);
* thermal_zone_unbind_cooling_device() - unbind a cooling device from a
* thermal zone.
* @tz: pointer to a struct thermal_zone_device.
- * @trip_index: indicates which trip point the cooling devices is
+ * @trip: indicates which trip point the cooling devices is
* associated with in this thermal zone.
* @cdev: pointer to a struct thermal_cooling_device.
*
@@ -735,15 +732,13 @@ EXPORT_SYMBOL_GPL(thermal_zone_bind_cooling_device);
* Return: 0 on success, the proper error value otherwise.
*/
int thermal_zone_unbind_cooling_device(struct thermal_zone_device *tz,
- int trip_index,
+ int trip,
struct thermal_cooling_device *cdev)
{
struct thermal_instance *pos, *next;
- const struct thermal_trip *trip;
mutex_lock(&tz->lock);
mutex_lock(&cdev->lock);
- trip = &tz->trips[trip_index];
list_for_each_entry_safe(pos, next, &tz->thermal_instances, tz_node) {
if (pos->tz == tz && pos->trip == trip && pos->cdev == cdev) {
list_del(&pos->tz_node);
diff --git a/drivers/thermal/thermal_core.h b/drivers/thermal/thermal_core.h
index a33b389bbcfe8..17c1bbed734d3 100644
--- a/drivers/thermal/thermal_core.h
+++ b/drivers/thermal/thermal_core.h
@@ -91,7 +91,7 @@ struct thermal_instance {
char name[THERMAL_NAME_LENGTH];
struct thermal_zone_device *tz;
struct thermal_cooling_device *cdev;
- const struct thermal_trip *trip;
+ int trip;
bool initialized;
unsigned long upper; /* Highest cooling state for this trip point */
unsigned long lower; /* Lowest cooling state for this trip point */
@@ -123,8 +123,6 @@ void __thermal_zone_device_update(struct thermal_zone_device *tz,
void __thermal_zone_set_trips(struct thermal_zone_device *tz);
int __thermal_zone_get_trip(struct thermal_zone_device *tz, int trip_id,
struct thermal_trip *trip);
-int thermal_zone_trip_id(struct thermal_zone_device *tz,
- const struct thermal_trip *trip);
int __thermal_zone_get_temp(struct thermal_zone_device *tz, int *temp);
/* sysfs I/F */
diff --git a/drivers/thermal/thermal_helpers.c b/drivers/thermal/thermal_helpers.c
index 421ed301541e1..cfba0965a22da 100644
--- a/drivers/thermal/thermal_helpers.c
+++ b/drivers/thermal/thermal_helpers.c
@@ -41,17 +41,14 @@ int get_tz_trend(struct thermal_zone_device *tz, int trip)
struct thermal_instance *
get_thermal_instance(struct thermal_zone_device *tz,
- struct thermal_cooling_device *cdev, int trip_index)
+ struct thermal_cooling_device *cdev, int trip)
{
struct thermal_instance *pos = NULL;
struct thermal_instance *target_instance = NULL;
- const struct thermal_trip *trip;
mutex_lock(&tz->lock);
mutex_lock(&cdev->lock);
- trip = &tz->trips[trip_index];
-
list_for_each_entry(pos, &tz->thermal_instances, tz_node) {
if (pos->tz == tz && pos->trip == trip && pos->cdev == cdev) {
target_instance = pos;
diff --git a/drivers/thermal/thermal_sysfs.c b/drivers/thermal/thermal_sysfs.c
index eef40d4f30639..4e6a97db894e9 100644
--- a/drivers/thermal/thermal_sysfs.c
+++ b/drivers/thermal/thermal_sysfs.c
@@ -943,8 +943,7 @@ trip_point_show(struct device *dev, struct device_attribute *attr, char *buf)
instance =
container_of(attr, struct thermal_instance, attr);
- return sprintf(buf, "%d\n",
- thermal_zone_trip_id(instance->tz, instance->trip));
+ return sprintf(buf, "%d\n", instance->trip);
}
ssize_t
diff --git a/drivers/thermal/thermal_trip.c b/drivers/thermal/thermal_trip.c
index 1d4fe63e09f77..21736e02fa360 100644
--- a/drivers/thermal/thermal_trip.c
+++ b/drivers/thermal/thermal_trip.c
@@ -195,18 +195,3 @@ int thermal_zone_set_trip(struct thermal_zone_device *tz, int trip_id,
return 0;
}
-
-int thermal_zone_trip_id(struct thermal_zone_device *tz,
- const struct thermal_trip *trip)
-{
- int i;
-
- lockdep_assert_held(&tz->lock);
-
- for (i = 0; i < tz->num_trips; i++) {
- if (&tz->trips[i] == trip)
- return i;
- }
-
- return -ENODATA;
-}

View File

@ -1,49 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "Martin K. Petersen" <martin.petersen@oracle.com>
Date: Mon, 20 May 2024 22:30:40 -0400
Subject: [PATCH] scsi: core: Handle devices which return an unusually large
VPD page count
Peter Schneider reported that a system would no longer boot after
updating to 6.8.4. Peter bisected the issue and identified commit
b5fc07a5fb56 ("scsi: core: Consult supported VPD page list prior to
fetching page") as being the culprit.
Turns out the enclosure device in Peter's system reports a byteswapped
page length for VPD page 0. It reports "02 00" as page length instead
of "00 02". This causes us to attempt to access 516 bytes (page length
+ header) of information despite only 2 pages being present.
Limit the page search scope to the size of our VPD buffer to guard
against devices returning a larger page count than requested.
Link: https://lore.kernel.org/r/20240521023040.2703884-1-martin.petersen@oracle.com
Fixes: b5fc07a5fb56 ("scsi: core: Consult supported VPD page list prior to fetching page")
Cc: stable@vger.kernel.org
Reported-by: Peter Schneider <pschneider1968@googlemail.com>
Closes: https://lore.kernel.org/all/eec6ebbf-061b-4a7b-96dc-ea748aa4d035@googlemail.com/
Tested-by: Peter Schneider <pschneider1968@googlemail.com>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
---
drivers/scsi/scsi.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c
index 8cad9792a562..b3ff3a633a1e 100644
--- a/drivers/scsi/scsi.c
+++ b/drivers/scsi/scsi.c
@@ -350,6 +350,13 @@ static int scsi_get_vpd_size(struct scsi_device *sdev, u8 page)
if (result < SCSI_VPD_HEADER_SIZE)
return 0;
+ if (result > sizeof(vpd)) {
+ dev_warn_once(&sdev->sdev_gendev,
+ "%s: long VPD page 0 length: %d bytes\n",
+ __func__, result);
+ result = sizeof(vpd);
+ }
+
result -= SCSI_VPD_HEADER_SIZE;
if (!memchr(&vpd[SCSI_VPD_HEADER_SIZE], page, result))
return 0;

View File

@ -1,73 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Vitaly Lifshits <vitaly.lifshits@intel.com>
Date: Mon, 29 Apr 2024 10:10:40 -0700
Subject: [PATCH] e1000e: change usleep_range to udelay in PHY mdic access
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This is a partial revert of commit 6dbdd4de0362 ("e1000e: Workaround
for sporadic MDI error on Meteor Lake systems"). The referenced commit
used usleep_range inside the PHY access routines, which are sometimes
called from an atomic context. This can lead to a kernel panic in some
scenarios, such as cable disconnection and reconnection on vPro systems.
Solve this by changing the usleep_range calls back to udelay.
Fixes: 6dbdd4de0362 ("e1000e: Workaround for sporadic MDI error on Meteor Lake systems")
Cc: stable@vger.kernel.org
Reported-by: Jérôme Carretero <cJ@zougloub.eu>
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218740
Closes: https://lore.kernel.org/lkml/a7eb665c74b5efb5140e6979759ed243072cb24a.camel@zougloub.eu/
Co-developed-by: Sasha Neftin <sasha.neftin@intel.com>
Signed-off-by: Sasha Neftin <sasha.neftin@intel.com>
Signed-off-by: Vitaly Lifshits <vitaly.lifshits@intel.com>
Tested-by: Dima Ruinskiy <dima.ruinskiy@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://lore.kernel.org/r/20240429171040.1152516-1-anthony.l.nguyen@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
---
drivers/net/ethernet/intel/e1000e/phy.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/intel/e1000e/phy.c b/drivers/net/ethernet/intel/e1000e/phy.c
index 93544f1cc2a5..f7ae0e0aa4a4 100644
--- a/drivers/net/ethernet/intel/e1000e/phy.c
+++ b/drivers/net/ethernet/intel/e1000e/phy.c
@@ -157,7 +157,7 @@ s32 e1000e_read_phy_reg_mdic(struct e1000_hw *hw, u32 offset, u16 *data)
* the lower time out
*/
for (i = 0; i < (E1000_GEN_POLL_TIMEOUT * 3); i++) {
- usleep_range(50, 60);
+ udelay(50);
mdic = er32(MDIC);
if (mdic & E1000_MDIC_READY)
break;
@@ -181,7 +181,7 @@ s32 e1000e_read_phy_reg_mdic(struct e1000_hw *hw, u32 offset, u16 *data)
* reading duplicate data in the next MDIC transaction.
*/
if (hw->mac.type == e1000_pch2lan)
- usleep_range(100, 150);
+ udelay(100);
if (success) {
*data = (u16)mdic;
@@ -237,7 +237,7 @@ s32 e1000e_write_phy_reg_mdic(struct e1000_hw *hw, u32 offset, u16 data)
* the lower time out
*/
for (i = 0; i < (E1000_GEN_POLL_TIMEOUT * 3); i++) {
- usleep_range(50, 60);
+ udelay(50);
mdic = er32(MDIC);
if (mdic & E1000_MDIC_READY)
break;
@@ -261,7 +261,7 @@ s32 e1000e_write_phy_reg_mdic(struct e1000_hw *hw, u32 offset, u16 data)
* reading duplicate data in the next MDIC transaction.
*/
if (hw->mac.type == e1000_pch2lan)
- usleep_range(100, 150);
+ udelay(100);
if (success)
return 0;

View File

@ -0,0 +1,50 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
Date: Wed, 3 Apr 2024 15:21:58 +0200
Subject: [PATCH] net: usb: ax88179_178a: avoid the interface always configured
as random address
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
After the commit d2689b6a86b9 ("net: usb: ax88179_178a: avoid two
consecutive device resets"), reset is not executed from bind operation and
mac address is not read from the device registers or the devicetree at that
moment. Since the check to configure if the assigned mac address is random
or not for the interface, happens after the bind operation from
usbnet_probe, the interface keeps configured as random address, although the
address is correctly read and set during open operation (the only reset
now).
In order to keep only one reset for the device and to avoid the interface
always configured as random address, after reset, configure correctly the
suitable field from the driver, if the mac address is read successfully from
the device registers or the devicetree. Take into account if a locally
administered address (random) was previously stored.
cc: stable@vger.kernel.org # 6.6+
Fixes: d2689b6a86b9 ("net: usb: ax88179_178a: avoid two consecutive device resets")
Reported-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Signed-off-by: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://lore.kernel.org/r/20240403132158.344838-1-jtornosm@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
(cherry picked from commit 2e91bb99b9d4f756e92e83c4453f894dda220f09)
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
---
drivers/net/usb/ax88179_178a.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/usb/ax88179_178a.c b/drivers/net/usb/ax88179_178a.c
index d837c1887416..e0e9b4c53cb0 100644
--- a/drivers/net/usb/ax88179_178a.c
+++ b/drivers/net/usb/ax88179_178a.c
@@ -1273,6 +1273,8 @@ static void ax88179_get_mac_addr(struct usbnet *dev)
if (is_valid_ether_addr(mac)) {
eth_hw_addr_set(dev->net, mac);
+ if (!is_local_ether_addr(mac))
+ dev->net->addr_assign_type = NET_ADDR_PERM;
} else {
netdev_info(dev->net, "invalid MAC address, using random\n");
eth_hw_addr_random(dev->net);

View File

@ -1,48 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Li Zhang <zhanglikernel@gmail.com>
Date: Tue, 18 Jun 2024 07:28:00 +0200
Subject: [PATCH] virtio-pci: Check if is_avq is NULL
BugLink: https://bugs.launchpad.net/bugs/2067862
[bug]
In the virtio_pci_common.c function vp_del_vqs, vp_dev->is_avq is involved
to determine whether it is admin virtqueue, but this function vp_dev->is_avq
may be empty. For installations, virtio_pci_legacy does not assign a value
to vp_dev->is_avq.
[fix]
Check whether it is vp_dev->is_avq before use.
[test]
Test with virsh Attach device
Before this patch, the following command would crash the guest system
After applying the patch, everything seems to be working fine.
Signed-off-by: Li Zhang <zhanglikernel@gmail.com>
Message-Id: <1710566754-3532-1-git-send-email-zhanglikernel@gmail.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
(cherry picked from commit c8fae27d141a32a1624d0d0d5419d94252824498)
Signed-off-by: Matthew Ruffell <matthew.ruffell@canonical.com>
Acked-by: Paolo Pisati <paolo.pisati@canonical.com>
Acked-by: Manuel Diewald <manuel.diewald@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
---
drivers/virtio/virtio_pci_common.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/virtio/virtio_pci_common.c b/drivers/virtio/virtio_pci_common.c
index b655fccaf773..3c18fc14cd66 100644
--- a/drivers/virtio/virtio_pci_common.c
+++ b/drivers/virtio/virtio_pci_common.c
@@ -236,7 +236,7 @@ void vp_del_vqs(struct virtio_device *vdev)
int i;
list_for_each_entry_safe(vq, n, &vdev->vqs, list) {
- if (vp_dev->is_avq(vdev, vq->index))
+ if (vp_dev->is_avq && vp_dev->is_avq(vdev, vq->index))
continue;
if (vp_dev->per_vq_vectors) {

View File

@ -1,4 +1,4 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From fe4261ef5f99878f60290709d10d44bba326f95f Mon Sep 17 00:00:00 2001
From: "Borislav Petkov (AMD)" <bp@alien8.de>
Date: Sun, 24 Mar 2024 20:51:35 +0100
Subject: [PATCH] x86/CPU/AMD: Improve the erratum 1386 workaround
@ -12,13 +12,15 @@ query it but use features directly, ala shoot first, ask questions
later... but only if you're alive after the shooting.
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
[ FG: port to 6.5 ]
Signed-off-by: Folke Gleumes <f.gleumes@proxmox.com>
Tested-by: "Maciej S. Szmigiero" <maciej.szmigiero@oracle.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Link: https://lore.kernel.org/r/20240324200525.GBZgCHhYFsBj12PrKv@fat_crate.local
---
arch/x86/include/asm/cpu_device_id.h | 8 ++++++++
arch/x86/kernel/cpu/amd.c | 12 ++++++++++++
2 files changed, 20 insertions(+)
arch/x86/kernel/cpu/amd.c | 11 +++++++++++
2 files changed, 19 insertions(+)
diff --git a/arch/x86/include/asm/cpu_device_id.h b/arch/x86/include/asm/cpu_device_id.h
index eb8fcede9e3b..bf4e065cf1e2 100644
@ -40,7 +42,7 @@ index eb8fcede9e3b..bf4e065cf1e2 100644
extern bool x86_cpu_has_min_microcode_rev(const struct x86_cpu_desc *table);
diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
index dfa8d0cf5e18..22a263b1a884 100644
index 9390074ddb25..8201271f6505 100644
--- a/arch/x86/kernel/cpu/amd.c
+++ b/arch/x86/kernel/cpu/amd.c
@@ -13,6 +13,7 @@
@ -51,7 +53,7 @@ index dfa8d0cf5e18..22a263b1a884 100644
#include <asm/spec-ctrl.h>
#include <asm/smp.h>
#include <asm/numa.h>
@@ -926,6 +927,11 @@ static void init_amd_bd(struct cpuinfo_x86 *c)
@@ -945,6 +946,11 @@ static void init_amd_bd(struct cpuinfo_x86 *c)
clear_rdrand_cpuid_bit(c);
}
@ -60,14 +62,13 @@ index dfa8d0cf5e18..22a263b1a884 100644
+ AMD_CPU_DESC(0x17, 0x31, 0x0, 0x08301052),
+};
+
static void fix_erratum_1386(struct cpuinfo_x86 *c)
void init_spectral_chicken(struct cpuinfo_x86 *c)
{
/*
@@ -935,7 +941,13 @@ static void fix_erratum_1386(struct cpuinfo_x86 *c)
#ifdef CONFIG_CPU_UNRET_ENTRY
@@ -972,7 +978,12 @@ void init_spectral_chicken(struct cpuinfo_x86 *c)
*
* Affected parts all have no supervisor XSAVE states, meaning that
* the XSAVEC instruction (which works fine) is equivalent.
+ *
+ * Clear the feature flag only on microcode revisions which
+ * don't have the fix.
*/
@ -77,3 +78,6 @@ index dfa8d0cf5e18..22a263b1a884 100644
clear_cpu_cap(c, X86_FEATURE_XSAVES);
}
--
2.39.2

View File

@ -1,14 +0,0 @@
diff -Naur --no-dereference a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
--- a/arch/x86/kvm/vmx/vmx.c 2024-07-01 21:03:34.000000000 +0300
+++ b/arch/x86/kvm/vmx/vmx.c 2024-07-01 20:24:05.000000000 +0300
@@ -6137,6 +6137,10 @@
[EXIT_REASON_ENCLS] = handle_encls,
[EXIT_REASON_BUS_LOCK] = handle_bus_lock_vmexit,
[EXIT_REASON_NOTIFY] = handle_notify,
+ [EXIT_REASON_RDTSC] = handle_rdtsc,
+ [EXIT_REASON_RDTSCP] = handle_rdtscp,
+ [EXIT_REASON_UMWAIT] = handle_umwait,
+ [EXIT_REASON_TPAUSE] = handle_tpause,
};
static const int kvm_vmx_max_exit_handlers =

View File

@ -1,40 +0,0 @@
diff -Naur --no-dereference a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
--- a/arch/x86/kvm/vmx/vmx.c 2024-07-01 21:03:34.000000000 +0300
+++ b/arch/x86/kvm/vmx/vmx.c 2024-07-01 20:24:05.000000000 +0300
@@ -6079,6 +6079,36 @@
return 1;
}
+static int handle_rdtsc(struct kvm_vcpu *vcpu)
+{
+ u64 _rdtsc = rdtsc();
+ printk_once("[HookEntry] hook entry function handle_rdtsc is working, return the rdtsc() if no hook , you can hook here!\n");
+ vcpu->arch.regs[VCPU_REGS_RAX] = _rdtsc & -1u;
+ vcpu->arch.regs[VCPU_REGS_RDX] = (_rdtsc >> 32) & -1u;
+ return kvm_skip_emulated_instruction(vcpu);
+}
+
+static int handle_rdtscp(struct kvm_vcpu *vcpu)
+{
+ u64 _rdtsc = rdtsc();
+ printk_once("[HookEntry] hook entry function handle_rdtscp is working, return the rdtsc() if no hook , you can hook here!\n");
+ vcpu->arch.regs[VCPU_REGS_RAX] = _rdtsc & -1u;
+ vcpu->arch.regs[VCPU_REGS_RDX] = (_rdtsc >> 32) & -1u;
+ return kvm_skip_emulated_instruction(vcpu);
+}
+
+static int handle_umwait(struct kvm_vcpu *vcpu)
+{
+ kvm_skip_emulated_instruction(vcpu);
+ return 1;
+}
+
+static int handle_tpause(struct kvm_vcpu *vcpu)
+{
+ kvm_skip_emulated_instruction(vcpu);
+ return 1;
+}
+
/*
* The exit handlers return 1 if the exit was handled fully and guest execution
* may resume. Otherwise they set the kvm_run parameter to indicate what needs

@ -1 +1 @@
Subproject commit 52a389ffcb4a5a544790d46c53f79c845364692e
Subproject commit 262b099bd0e4cd21d7196abfeadb0fa2bc3512d6

@ -1 +1 @@
Subproject commit f5c9e3a9a85e73ef96f02375a745b10115a319b3
Subproject commit 6c9ff9b992b46b2ba7c7b8ab9b5eaf35fff17158