Compare commits

..

18 Commits

Author SHA1 Message Date
Thomas Lamprecht b6d9526601 update ABI file for 5.0.21-5-pve
(generated with debian/scripts/abi-generate)

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-11-13 10:53:08 +01:00
Thomas Lamprecht ee7f5b50ad bump version to 5.0.21-10
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-11-13 10:27:55 +01:00
Thomas Lamprecht b9b2d45ed0 rebase patches on top of Ubuntu-5.0.0-35.38
(generated with debian/scripts/import-upstream-tag)

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-11-13 10:05:37 +01:00
Thomas Lamprecht 7b833ea615 update sources to Ubuntu-5.0.0-35.38
(generated with debian/scripts/import-upstream-tag)

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-11-13 10:05:37 +01:00
Thomas Lamprecht b1cf66bce1 disable alsa snd pcspkr module
The PC speaker (beeper) can only be managed by one module, and there
are two which could do so. The very basic INPUT_PCSPKR, and the more
advanced SND_PCSP which allows it to be used as primitive ALSA
soundcard, which for Proxmox Server projects, and all modern
workstations is not much of use.

As they both were aliased to the "pcspkr" module name, and used the
same internal driver name (being a replacment of the other), one
would get the following error message when both are loaded:
"Error: Driver 'pcspkr' is already registered, aborting..."
in the kernel log. This happens as by default both are tried to get
loaded. We do not want the more complex ALSA one, so disable that.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
(cherry picked from commit b481f89770)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-11-12 15:45:32 +01:00
Thomas Lamprecht 584fbee1dd backport: KVM: x86: introduce is_pae_paging
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-11-12 13:33:39 +01:00
Thomas Lamprecht 7481faa0a8 update also Makefile version for bump to make lintian test this
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-11-11 15:36:45 +01:00
Thomas Lamprecht 97cd39f070 fix #2448: compile ISO8859-1 NLS as built-in
Allows to mount VFAT devices even if the currently running kernel was
removed before any VFAT, or other FS using the default Native
Language Support module was mounted during the current uptime.

This then could break updating the ESP partitions, which are mounted
with VFAT in a postrm triggered step - so at a time where the current
/lib/modules/... was already removed, and so the NLS could not get
loaded.

While there are a lot of different NLS, our kernel config has:
> CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"

So compile that module as built-in.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-11-11 14:13:08 +01:00
Thomas Lamprecht 81b7cb8a78 bump version to 5.0.21-9
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-11-11 14:13:08 +01:00
Thomas Lamprecht 03505c4ba3 revert: KVM: x86: Manually calculate reserved bits when loading PDPTRS
Problematic on old Intel CPUs:
https://forum.proxmox.com/threads/pve-kernel-5-0-21-4-pve-cause-debian-guests-to-reboot-loop-on-older-intel-cpus.59377/page-3#post-276413
https://bugzilla.kernel.org/show_bug.cgi?id=205441#c1

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-11-11 11:15:47 +01:00
Thomas Lamprecht f665e167a1 update ABI file for 5.0.21-4-pve
(generated with debian/scripts/abi-generate)

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-10-23 19:04:29 +02:00
Thomas Lamprecht 4d749645ab update firmware list
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-10-23 19:04:29 +02:00
Thomas Lamprecht 929ba8531f bump version to 5.0.21-8
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-10-23 19:04:29 +02:00
Thomas Lamprecht 87f2b5c56d update ZFS submodule to 0.8.2-pve2, FPU/SIMD fixes
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-10-23 19:04:29 +02:00
Thomas Lamprecht 46396362f1 rebase patches on top of Ubuntu-5.0.0-33.35
(generated with debian/scripts/import-upstream-tag)

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-10-23 17:17:42 +02:00
Thomas Lamprecht 7622a48de8 update sources to Ubuntu-5.0.0-33.35
(generated with debian/scripts/import-upstream-tag)

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-10-23 17:17:42 +02:00
Thomas Lamprecht 33060f2711 remove unused patches
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-10-02 17:01:50 +02:00
Thomas Lamprecht 9e34f3e811 update README
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-10-02 17:00:54 +02:00
28 changed files with 23721 additions and 27668 deletions
+3 -3
View File
@@ -1,6 +1,6 @@
[submodule "submodules/zfsonlinux"]
path = submodules/zfsonlinux
url = ../zfsonlinux
[submodule "submodules/ubuntu-impish"]
path = submodules/ubuntu-impish
url = ../mirror_ubuntu-impish-kernel
[submodule "submodules/ubuntu-disco"]
path = submodules/ubuntu-disco
url = ../mirror_ubuntu-disco-kernel
+7 -9
View File
@@ -1,12 +1,12 @@
# also bump pve-kernel-meta if either of MAJ.MIN, PATCHLEVEL or KREL change
KERNEL_MAJ=5
KERNEL_MIN=13
KERNEL_PATCHLEVEL=19
KERNEL_MIN=0
KERNEL_PATCHLEVEL=21
# increment KREL if the ABI changes (abicheck target in debian/rules)
# rebuild packages with new KREL and run 'make abiupdate'
KREL=6
KREL=5
PKGREL=14
PKGREL=10
KERNEL_MAJMIN=$(KERNEL_MAJ).$(KERNEL_MIN)
KERNEL_VER=$(KERNEL_MAJMIN).$(KERNEL_PATCHLEVEL)
@@ -31,7 +31,7 @@ SKIPABI=0
BUILD_DIR=build
KERNEL_SRC=ubuntu-impish
KERNEL_SRC=ubuntu-disco
KERNEL_SRC_SUBMODULE=submodules/$(KERNEL_SRC)
KERNEL_CFG_ORG=config-${KERNEL_VER}.org
@@ -46,11 +46,9 @@ DIRS=KERNEL_SRC ZFSDIR MODULES
DST_DEB=${PACKAGE}_${KERNEL_VER}-${PKGREL}_${ARCH}.deb
HDR_DEB=${HDRPACKAGE}_${KERNEL_VER}-${PKGREL}_${ARCH}.deb
USR_HDR_DEB=pve-kernel-libc-dev_${KERNEL_VER}-${PKGREL}_${ARCH}.deb
LINUX_TOOLS_DEB=linux-tools-$(KERNEL_MAJMIN)_${KERNEL_VER}-${PKGREL}_${ARCH}.deb
LINUX_TOOLS_DBG_DEB=linux-tools-$(KERNEL_MAJMIN)-dbgsym_${KERNEL_VER}-${PKGREL}_${ARCH}.deb
DEBS=${DST_DEB} ${HDR_DEB} ${USR_HDR_DEB} ${LINUX_TOOLS_DEB} ${LINUX_TOOLS_DBG_DEB}
DEBS=${DST_DEB} ${HDR_DEB} ${LINUX_TOOLS_DEB}
all: deb
deb: ${DEBS}
@@ -104,7 +102,7 @@ ${ZFSDIR}.prepared: ${ZFSONLINUX_SUBMODULE}
.PHONY: upload
upload: ${DEBS}
tar cf - ${DEBS}|ssh -X repoman@repo.proxmox.com -- upload --product pve,pmg,pbs --dist bullseye --arch ${ARCH}
tar cf - ${DEBS}|ssh -X repoman@repo.proxmox.com -- upload --product pve,pmg --dist buster --arch ${ARCH}
.PHONY: distclean
distclean: clean
+25 -25
View File
@@ -3,15 +3,11 @@ KERNEL SOURCE:
We currently use the Ubuntu kernel sources, available from:
http://kernel.ubuntu.com/git/ubuntu/ubuntu-impish.git/
http://kernel.ubuntu.com/git/ubuntu/ubuntu-disco.git/
Ubuntu will maintain those kernels till:
https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable
or
https://pve.proxmox.com/pve-docs/chapter-pve-faq.html#faq-support-table
whatever happens to be earlier.
Additional/Updated Modules:
@@ -35,7 +31,7 @@ get applied with the `patch` tool. From a git point-of-view, the copied
directory remains clean even with extra patches applied since it does not
contain a .git directory, but a reference to the (still pristine) submodule:
$ cat build/ubuntu-impish/.git
$ cat build/ubuntu-bionic/.git
If you mistakenly cloned the upstream repo as "normal" clone (not via the
submodule mechanics) this means that you have a real .git directory with its
@@ -64,7 +60,7 @@ pve-kernel-meta
---------------
depends on latest kernel and header package within a certain kernel series,
e.g., pve-kernel-5.11 / pve-headers-5.11
e.g., pve-kernel-4.15 / pve-headers-4.15
git clone git://git.proxmox.com/git/pve-kernel-meta.git
@@ -102,18 +98,6 @@ which device is actually used for /dev/watchdog.
We ship this list in /lib/modprobe.d/blacklist_pve-kernel-<VERSION>.conf
The user typically edit /etc/modules to enable a specific watchdog device.
Debug kernel and modules
------------------------
In order to build a -dbgsym package containing an unstripped copy of the kernel
image and modules, enable the 'pkg.pve-kernel.debug' build profile (e.g. by
exporting DEB_BUILD_PROFILES='pkg.pve-kernel.debug'). The resulting package can
be used together with 'crash'/'kdump-tools' to debug kernel crashes.
Note: the -dbgsym package is only valid for the pve-kernel packages produced by
the same build. A kernel/module from a different build will likely not match,
even if both builds are of the same kernel and package version.
Additional information
----------------------
@@ -137,39 +121,55 @@ NOTE: For the exact and current list see debian/rules (PVE_CONFIG_OPTS)
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_DM=y
- add workaround for Debian bug #807000 (see
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=807000)
CONFIG_BLK_DEV_NVME=y
- compile NBD and RBD modules
CONFIG_BLK_DEV_NBD=m
CONFIG_BLK_DEV_RBD=m
- enable IBM JFS file system as module
requested by users (bug #64)
enable it as requested by users (bug #64)
- enable apple HFS and HFSPLUS as module
requested by users
enable it as requested by users
- enable CONFIG_BCACHE=m (requested by user)
- enable CONFIG_BRIDGE=y
to avoid warnings on boot, e.g. that net.bridge.bridge-nf-call-iptables is an unknown key
Else we get warnings on boot, that
net.bridge.bridge-nf-call-iptables is an unknown key
- enable CONFIG_DEFAULT_SECURITY_APPARMOR
We need this for lxc
- set CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
because if not set, it can give some dynamic memory or cpu frequencies
change, and vms can crash (mainly windows guest).
see http://forum.proxmox.com/threads/18238-Windows-7-x64-VMs-crashing-randomly-during-process-termination?p=93273#post93273
- use 'deadline' as default scheduler
This is the suggested setting for KVM. We also measure bad fsync performance with ext4 and cfq.
This is the suggested setting for KVM. We also measure bad fsync
performance with ext4 and cfq.
- disable CONFIG_INPUT_EVBUG
Module evbug is not blacklisted on debian, so we simply disable it to avoid
key-event logs (which is a big security problem)
Module evbug is not blacklisted on debian, so we simply disable it
to avoid key-event logs (which is a big security problem)
- enable CONFIG_MODVERSIONS (needed for ABI tracking)
- switch default UNWINDER to FRAME_POINTER
the recently introduced ORC_UNWINDER is not 100% stable yet, especially in combination with ZFS
- enable CONFIG_PAGE_TABLE_ISOLATION (Meltdown mitigation)
+23297
View File
File diff suppressed because it is too large Load Diff
-25907
View File
File diff suppressed because it is too large Load Diff
+13 -424
View File
@@ -1,439 +1,28 @@
pve-kernel (5.13.19-14) bullseye; urgency=medium
pve-kernel (5.0.21-10) pve pmg; urgency=medium
* update to Ubuntu-5.13.0-36.41
* update to Ubuntu-5.0.0-35.38
* bump ABI to 5.13.19-6
* bump ABI to 5.0.21-5
-- Proxmox Support Team <support@proxmox.com> Thu, 10 Mar 2022 16:24:52 +0100
* avoid bouds error message about PC Speaker module being already registered
pve-kernel (5.13.19-13) bullseye; urgency=medium
-- Proxmox Support Team <support@proxmox.com> Wed, 13 Nov 2019 08:27:10 +0100
* backport "KVM: VMX: prepare sync_pir_to_irr for running with APICv
disabled" to avoid breaking some Windows VMs startup
pve-kernel (5.0.21-9) pve pmg; urgency=medium
-- Proxmox Support Team <support@proxmox.com> Tue, 08 Mar 2022 07:32:25 +0100
* fix #2458: fix issues with Linux KVM guest on old Intel CPUs
pve-kernel (5.13.19-12) bullseye; urgency=medium
-- Proxmox Support Team <support@proxmox.com> Mon, 11 Nov 2019 14:12:37 +0100
* Revert "PCI/MSI: Mask MSI-X vectors only on success" as it's causing PCI-E
initialization failures on some systems.
pve-kernel (5.0.21-8) pve pmg; urgency=medium
-- Proxmox Support Team <support@proxmox.com> Mon, 07 Mar 2022 15:54:28 +0100
* update to Ubuntu-5.0.0-33.35
pve-kernel (5.13.19-11) bullseye; urgency=medium
* bump ABI to 5.0.21-4
* backport "lib/iov_iter: initialize "flags" in new pipe_buffer" fixing
CVE-2022-0847 "dirty pipe"
* update ZFS FPU/SIMD implementation to upstream proposal
-- Proxmox Support Team <support@proxmox.com> Mon, 07 Mar 2022 13:28:22 +0100
pve-kernel (5.13.19-10) bullseye; urgency=medium
* update to Ubuntu-5.13.0-31.34
-- Proxmox Support Team <support@proxmox.com> Mon, 21 Feb 2022 09:26:12 +0100
pve-kernel (5.13.19-9) bullseye; urgency=medium
* update to Ubuntu-5.13.0-30.33
revert a problematic patch causing issues with releasing block devices
-- Proxmox Support Team <support@proxmox.com> Mon, 07 Feb 2022 11:01:14 +0100
pve-kernel (5.13.19-8) bullseye; urgency=medium
* update sources to Ubuntu-5.13.0-29.32
* bump ABI to 5.13.19-4
-- Proxmox Support Team <support@proxmox.com> Mon, 31 Jan 2022 10:09:37 +0100
pve-kernel (5.13.19-7) bullseye; urgency=medium
* backport "vfs: fs_context: fix up param length parsing in
legacy_parse_param"
-- Proxmox Support Team <support@proxmox.com> Thu, 20 Jan 2022 16:37:56 +0100
pve-kernel (5.13.19-6) bullseye; urgency=medium
* update sources to Ubuntu-5.13.0-24.24
* bump ABI to 5.13.19-3
* update ZFS to 2.1.2
* ZFS: cherry-pick lock-inversion patch for zvol_open
-- Proxmox Support Team <support@proxmox.com> Tue, 11 Jan 2022 16:44:47 +0100
pve-kernel (5.13.19-4) bullseye; urgency=medium
* update sources to Ubuntu-5.13.0-23.23
* bump ABI to 5.13.19-2
-- Proxmox Support Team <support@proxmox.com> Mon, 29 Nov 2021 12:10:09 +0100
pve-kernel (5.13.19-3) bullseye; urgency=medium
* backport two io-wq fixes relevant for io_uring
-- Proxmox Support Team <support@proxmox.com> Tue, 23 Nov 2021 13:31:19 +0100
pve-kernel (5.13.19-2) bullseye; urgency=medium
* re-enable retrying to get a blockdev on ERESTARTSYS to work around
ZFS still depending on that
-- Proxmox Support Team <support@proxmox.com> Tue, 09 Nov 2021 12:59:38 +0100
pve-kernel (5.13.19-1) bullseye; urgency=medium
* update sources to Ubuntu-5.13.0-22.22
-- Proxmox Support Team <support@proxmox.com> Sat, 06 Nov 2021 13:08:30 +0100
pve-kernel (5.13.18-1) bullseye; urgency=medium
* update sources to Ubuntu-5.13.0-21.21
* bump ABI to 5.13.18-1
-- Proxmox Support Team <support@proxmox.com> Tue, 19 Oct 2021 13:42:26 +0200
pve-kernel (5.13.14-1) bullseye; urgency=medium
* update kernel-base to Ubuntu 21.10 Impish kernel
* update ZFS to 2.1.1
-- Proxmox Support Team <support@proxmox.com> Tue, 28 Sep 2021 06:16:44 +0200
pve-kernel (5.11.22-9) bullseye; urgency=medium
* backport "blk-mq: fix kernel panic during iterating over flush
request"
* d/rules: kconfig: enable SQUASHFS_DECOMP_MULTI_PERCPU to speed up
decompression of mounted squashfs images
-- Proxmox Support Team <support@proxmox.com> Wed, 22 Sep 2021 10:11:11 +0200
pve-kernel (5.11.22-8) bullseye; urgency=medium
* update to Ubuntu-5.11.0-34.36
* fix #3552: cherry-pick PCI probe fixes
* build nvme as a module again to satisfy some inflexible (mellanox) modules
insisting in being able to load the nvme-core module as dependency
* bump ABI to 5.11.22-4
-- Proxmox Support Team <support@proxmox.com> Fri, 27 Aug 2021 11:51:34 +0200
pve-kernel (5.11.22-7) bullseye; urgency=medium
* cherry-pick fixes for CVE-2021-3656 and CVE-2021-3653
-- Proxmox Support Team <support@proxmox.com> Wed, 18 Aug 2021 15:06:12 +0200
pve-kernel (5.11.22-6) bullseye; urgency=medium
* io_uring: don't block level reissue off completion path
-- Proxmox Support Team <support@proxmox.com> Wed, 28 Jul 2021 10:51:12 +0200
pve-kernel (5.11.22-5) bullseye; urgency=medium
* import Ubuntu-5.11.0-26.28
* pull in upstream stable releases from v5.10.44, v5.12.11
-- Proxmox Support Team <support@proxmox.com> Wed, 21 Jul 2021 18:25:44 +0200
pve-kernel (5.11.22-4) bullseye; urgency=medium
* fix CVE-2021-33909: seq_file: disallow extremely large seq buffer
allocations
-- Proxmox Support Team <support@proxmox.com> Tue, 20 Jul 2021 21:40:02 +0200
pve-kernel (5.11.22-3) bullseye; urgency=medium
* update ZFS to 2.0.5
* pull in upstream stable releases from v5.10.43, v5.12.10
* ensure 'performance' is the default frequency CPU governor again, as
schedutil seems to cause still some issues in with a few VM workloads
-- Proxmox Support Team <support@proxmox.com> Sun, 11 Jul 2021 13:45:15 +0200
pve-kernel (5.11.22-2) bullseye; urgency=medium
* net: bridge: sync fdb to new unicast-filtering ports
-- Proxmox Support Team <support@proxmox.com> Fri, 02 Jul 2021 16:22:45 +0200
pve-kernel (5.11.22-1) bullseye; urgency=medium
* update sources to stable release 5.11.22 with Ubuntu-5.11.0-23.24
* pve-kernel-libc-dev: add version to Provides dependency field for
linux-libc-dev to satisfy versioned dependencies from other packages
* build perf with python3
* fixes #3465: keep unstripped kernel and module files, allowing one to use
kdump-tools
-- Proxmox Support Team <support@proxmox.com> Wed, 23 Jun 2021 08:53:17 +0200
pve-kernel (5.11.21-1) bullseye; urgency=medium
* update sources to stable release 5.11.21 with Ubuntu-5.11.0-19.20
-- Proxmox Support Team <support@proxmox.com> Tue, 01 Jun 2021 16:38:57 +0200
pve-kernel (5.11.17-1) bullseye; urgency=medium
* update sources to stable release 5.11.17 with Ubuntu-5.11.0-18.19
-- Proxmox Support Team <support@proxmox.com> Wed, 12 May 2021 12:45:37 +0200
pve-kernel (5.11.12-1) bullseye; urgency=medium
* update sources to Ubuntu-5.11.0-14.15
-- Proxmox Support Team <support@proxmox.com> Fri, 09 Apr 2021 10:31:19 +0200
pve-kernel (5.11.7-1) pve pmg; urgency=medium
* update sources to Ubuntu-5.11.0-12.13
* update ZFS to 2.0.4
-- Proxmox Support Team <support@proxmox.com> Thu, 18 Mar 2021 14:07:05 +0100
pve-kernel (5.11.0-1) pve pmg; urgency=medium
* update sources to Ubuntu-5.11.0-11.12
* update ZFS to 2.0.3
-- Proxmox Support Team <support@proxmox.com> Tue, 02 Mar 2021 13:36:01 +0100
pve-kernel (5.10.6-1) pve pmg; urgency=medium
* update sources to Ubuntu-5.10.0-12.13
* update ZFS to 2.0.1
-- Proxmox Support Team <support@proxmox.com> Thu, 14 Jan 2021 14:27:01 +0100
pve-kernel (5.4.78-2) pve pmg; urgency=medium
* revert commit 552b270b5784dc3 "scsi: be2iscsi: Fix a theoretical leak in
beiscsi_create_eqs()" to avoid hangs and kernel oopses on module load
* cherry-pick patch to allow unprivileged whiteout device creation
* bump ABI to 5.4.78-2
-- Proxmox Support Team <support@proxmox.com> Thu, 03 Dec 2020 14:26:17 +0100
pve-kernel (5.4.78-1) pve pmg; urgency=medium
* update sources to Ubuntu-5.4.0-57.63
-- Proxmox Support Team <support@proxmox.com> Mon, 30 Nov 2020 10:57:47 +0100
pve-kernel (5.4.73-1) pve pmg; urgency=medium
* update sources to Ubuntu-5.4.0-55.61
* update ZFS to 0.8.5
* downgrade unregister_netdev waiting to become free error from emergency to
error log
-- Proxmox Support Team <support@proxmox.com> Mon, 16 Nov 2020 10:52:16 +0100
pve-kernel (5.4.65-1) pve pmg; urgency=medium
* update sources to Ubuntu-5.4.0-49.53
-- Proxmox Support Team <support@proxmox.com> Mon, 21 Sep 2020 15:40:22 +0200
pve-kernel (5.4.60-2) pve pmg; urgency=medium
* improve guards against a packet offset calculation overflow for certain raw
packet sockets
-- Proxmox Support Team <support@proxmox.com> Fri, 04 Sep 2020 10:24:50 +0200
pve-kernel (5.4.60-1) pve pmg; urgency=medium
* update sources to Ubuntu-5.4.0-46.50
* bump ABI to 5.4.60-1
-- Proxmox Support Team <support@proxmox.com> Mon, 31 Aug 2020 10:36:22 +0200
pve-kernel (5.4.55-1) pve pmg; urgency=medium
* update sources to Ubuntu-5.4.0-43.47
* bump ABI to 5.4.55-1
-- Proxmox Support Team <support@proxmox.com> Mon, 10 Aug 2020 10:26:27 +0200
pve-kernel (5.4.44-2) pve pmg; urgency=medium
* fix #2814: config: disable lockdown
* backport: cgroup: fix cgroup_sk_alloc() for sk_clone_lock()
* bump ABI to 5.4.44-2
-- Proxmox Support Team <support@proxmox.com> Wed, 01 Jul 2020 16:37:57 +0200
pve-kernel (5.4.44-1) pve pmg; urgency=medium
* update sources to Ubuntu-5.4.0-38.42
* bump ABI to 5.4.44-1
-- Proxmox Support Team <support@proxmox.com> Fri, 12 Jun 2020 08:18:46 +0200
pve-kernel (5.4.41-1) pve pmg; urgency=medium
* update sources to Ubuntu-5.4.0-32.36
* update ZFS to 0.8.4
* Revert "scsi: lpfc: Fix broken Credit Recovery after driver load" as a
workaround for some LP Fibre Channel SCSI boxes.
-- Proxmox Support Team <support@proxmox.com> Fri, 15 May 2020 15:06:08 +0200
pve-kernel (5.4.34-2) pve pmg; urgency=medium
* backport fix for overlayfs
-- Proxmox Support Team <support@proxmox.com> Thu, 07 May 2020 10:02:02 +0200
pve-kernel (5.4.34-1) pve pmg; urgency=medium
* update to Ubuntu-5.4.0-30.34
* bump ABI to 5.4.34-1
-- Proxmox Support Team <support@proxmox.com> Wed, 06 May 2020 10:16:59 +0200
pve-kernel (5.4.30-1) pve pmg; urgency=medium
* update to Ubuntu-5.4.0-24.28
* bump ABI to 5.4.30-1
-- Proxmox Support Team <support@proxmox.com> Fri, 10 Apr 2020 09:12:42 +0200
pve-kernel (5.4.27-1) pve pmg; urgency=medium
* update to Ubuntu-5.4.0-19.23
* bump ABI to 5.4.27-1
-- Proxmox Support Team <support@proxmox.com> Mon, 23 Mar 2020 15:02:22 +0100
pve-kernel (5.4.24-1) pve pmg; urgency=medium
* update to Ubuntu-5.4.0-18.22
* bump ABI to 5.4.24-1
-- Proxmox Support Team <support@proxmox.com> Mon, 09 Mar 2020 12:59:46 +0100
pve-kernel (5.4.22-1) pve pmg; urgency=medium
* Initial Ubuntu Focal Kernel build, based on 5.4
* update sources to Ubuntu-5.4.0-17.21
* bump ABI to 5.4.22-1
-- Proxmox Support Team <support@proxmox.com> Mon, 02 Mar 2020 15:49:45 +0100
pve-kernel (5.3.18-2) pve pmg; urgency=medium
* bump ABI to 5.3.18-2
* update to Ubuntu-5.3.0-41.33
-- Proxmox Support Team <support@proxmox.com> Sat, 15 Feb 2020 15:11:52 +0100
pve-kernel (5.3.18-1) pve pmg; urgency=medium
* bump ABI to 5.3.18-1
* update sources to Ubuntu-5.3.0-40.32
-- Proxmox Support Team <support@proxmox.com> Wed, 05 Feb 2020 11:49:10 +0100
pve-kernel (5.3.13-3) pve pmg; urgency=medium
* backport fixes for information leak within a KVM guest
* bump ABI to 5.3.13-3
-- Proxmox Support Team <support@proxmox.com> Fri, 31 Jan 2020 08:17:11 +0100
pve-kernel (5.3.13-2) pve pmg; urgency=medium
* update sources to Ubuntu-5.3.0-29.31
* update ZFS to 0.8.3
-- Proxmox Support Team <support@proxmox.com> Fri, 24 Jan 2020 09:49:36 +0100
pve-kernel (5.3.13-1) pve pmg; urgency=medium
* bump ABI to 5.3.13-1
* update sources to Ubuntu-5.3.0-25.27
-- Proxmox Support Team <support@proxmox.com> Thu, 05 Dec 2019 07:18:14 +0100
pve-kernel (5.3.10-1) pve pmg; urgency=medium
* bump ABI to 5.3.10-1
* update sources to Ubuntu-5.3.0-24.26
-- Proxmox Support Team <support@proxmox.com> Thu, 14 Nov 2019 10:43:13 +0100
pve-kernel (5.3.7-1) pve pmg; urgency=medium
* update sources to Ubuntu-5.3.0-20.21
* bump ABI to 5.3.7-1
* update ZFS submodule to include FPU/SIMD fixes
-- Proxmox Support Team <support@proxmox.com> Wed, 23 Oct 2019 19:00:21 +0200
pve-kernel (5.3.1-1) pve pmg; urgency=medium
* Initial Ubuntu Eoan Kernel build, based on 5.3
* update sources to Ubuntu-5.3.0-16.17
* bump ABI to 5.3.0-1
-- Proxmox Support Team <support@proxmox.com> Tue, 01 Oct 2019 18:57:21 +0200
-- Proxmox Support Team <support@proxmox.com> Wed, 23 Oct 2019 17:49:13 +0200
pve-kernel (5.0.21-7) pve pmg; urgency=medium
+14 -37
View File
@@ -9,7 +9,6 @@ Build-Depends: asciidoc-base,
cpio,
debhelper (>= 10~),
dh-python,
dwarves,
file,
flex,
gcc (>= 8.3.0-6),
@@ -24,17 +23,15 @@ Build-Depends: asciidoc-base,
libssl-dev,
libtool,
lintian,
lz4,
perl-modules,
python3-minimal,
python-minimal,
rsync,
sed,
sphinx-common,
tar,
xmlto,
zlib1g-dev,
zstd,
Build-Conflicts: pve-headers-@KVNAME@
Build-Conflicts: pve-headers-@KVNAME@,
Vcs-Git: git://git.proxmox.com/git/pve-kernel
Vcs-Browser: https://git.proxmox.com/?p=pve-kernel.git
@@ -42,7 +39,9 @@ Package: linux-tools-@KVMAJMIN@
Architecture: any
Section: devel
Priority: optional
Depends: linux-base, ${misc:Depends}, ${shlibs:Depends}
Depends: linux-base,
${misc:Depends},
${shlibs:Depends},
Description: Linux kernel version specific tools for version @KVMAJMIN@
This package provides the architecture dependent parts for kernel
version locked tools (such as perf and x86_energy_perf_policy)
@@ -51,8 +50,9 @@ Package: pve-headers-@KVNAME@
Section: devel
Priority: optional
Architecture: any
Provides: linux-headers-@KVNAME@-amd64
Depends: coreutils | fileutils (>= 4.0)
Provides: linux-headers,
linux-headers-2.6,
Depends: coreutils | fileutils (>= 4.0),
Description: The Proxmox PVE Kernel Headers
This package contains the linux kernel headers
@@ -60,34 +60,11 @@ Package: pve-kernel-@KVNAME@
Section: admin
Priority: optional
Architecture: any
Provides: linux-image-@KVNAME@-amd64
Suggests: pve-firmware
Depends: busybox, initramfs-tools
Recommends: grub-pc | grub-efi-amd64 | grub-efi-ia32 | grub-efi-arm64
Provides: linux-image,
linux-image-2.6,
Suggests: pve-firmware,
Depends: busybox,
initramfs-tools,
Recommends: grub-pc | grub-efi-amd64 | grub-efi-ia32 | grub-efi-arm64,
Description: The Proxmox PVE Kernel Image
This package contains the linux kernel and initial ramdisk used for booting
Package: pve-kernel-@KVNAME@-dbgsym
Architecture: any
Provides: linux-debug
Section: devel
Priority: optional
Build-Profiles: <pkg.pve-kernel.debug>
Description: The Proxmox PVE Kernel debug image
This package provides the kernel debug image for version @KVNAME@. The debug
kernel image contained in this package is NOT meant to boot from - it is
uncompressed, and unstripped, and suitable for use with crash/kdump-tools/..
to analyze kernel crashes. This package also contains the pve-kernel modules
in their unstripped version.
Package: pve-kernel-libc-dev
Section: devel
Priority: optional
Architecture: any
Provides: linux-libc-dev (=${binary:Version})
Conflicts: linux-libc-dev
Replaces: linux-libc-dev
Depends: ${misc:Depends}
Description: Linux support headers for userspace development
This package provides userspaces headers from the Linux kernel. These headers
are used by the installed headers for GNU libc and other system libraries.
+11 -68
View File
@@ -14,9 +14,7 @@ include debian/rules.d/${DEB_BUILD_ARCH}.mk
CHANGELOG_DATE:=$(shell dpkg-parsechangelog -SDate)
PVE_KERNEL_PKG=pve-kernel-${KVNAME}
PVE_DEBUG_KERNEL_PKG=pve-kernel-${KVNAME}-dbgsym
PVE_HEADER_PKG=pve-headers-${KVNAME}
PVE_USR_HEADER_PKG=pve-kernel-libc-dev
LINUX_TOOLS_PKG=linux-tools-${KERNEL_MAJMIN}
KERNEL_SRC_COPY=${KERNEL_SRC}_tmp
@@ -34,38 +32,20 @@ PVE_CONFIG_OPTS= \
-m CONFIG_JFS_FS \
-m CONFIG_HFS_FS \
-m CONFIG_HFSPLUS_FS \
-e CIFS_SMB_DIRECT \
-e CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU \
-e CONFIG_BRIDGE \
-e CONFIG_BRIDGE_NETFILTER \
-e CONFIG_BLK_DEV_SD \
-e CONFIG_BLK_DEV_SR \
-e CONFIG_BLK_DEV_DM \
-m CONFIG_BLK_DEV_NVME \
-e CONFIG_BLK_DEV_NVME \
-e CONFIG_NLS_ISO8859_1 \
-d CONFIG_INPUT_EVBUG \
-d CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND \
-d CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL \
-e CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE \
-d CONFIG_MODULE_SIG \
-d CONFIG_MEMCG_DISABLED \
-e CONFIG_MEMCG_SWAP_ENABLED \
-e CONFIG_HYPERV \
-m CONFIG_VFIO_IOMMU_TYPE1 \
-m CONFIG_VFIO_VIRQFD \
-m CONFIG_VFIO \
-m CONFIG_VFIO_PCI \
-m CONFIG_USB_XHCI_HCD \
-m CONFIG_USB_XHCI_PCI \
-m CONFIG_USB_EHCI_HCD \
-m CONFIG_USB_EHCI_PCI \
-m CONFIG_USB_EHCI_HCD_PLATFORM \
-m CONFIG_USB_OHCI_HCD \
-m CONFIG_USB_OHCI_HCD_PCI \
-m CONFIG_USB_OHCI_HCD_PLATFORM \
-d CONFIG_USB_OHCI_HCD_SSB \
-m CONFIG_USB_UHCI_HCD \
-d CONFIG_USB_SL811_HCD_ISO \
-e CONFIG_MEMCG_KMEM \
-d CONFIG_DEFAULT_CFQ \
-e CONFIG_DEFAULT_DEADLINE \
@@ -76,11 +56,6 @@ PVE_CONFIG_OPTS= \
-d CONFIG_UNWINDER_ORC \
-d CONFIG_UNWINDER_GUESS \
-e CONFIG_UNWINDER_FRAME_POINTER \
--set-str CONFIG_SYSTEM_TRUSTED_KEYS ""\
--set-str CONFIG_SYSTEM_REVOCATION_KEYS ""\
-d CONFIG_SECURITY_LOCKDOWN_LSM \
-d CONFIG_SECURITY_LOCKDOWN_LSM_EARLY \
--set-str CONFIG_LSM yama,integrity,apparmor \
-e CONFIG_PAGE_TABLE_ISOLATION
debian/control: $(wildcard debian/*.in)
@@ -96,7 +71,7 @@ debian/control: $(wildcard debian/*.in)
build: .compile_mark .tools_compile_mark .modules_compile_mark
install: .install_mark .tools_install_mark .headers_install_mark .usr_headers_install_mark
install: .install_mark .tools_install_mark .headers_install_mark
dh_installdocs -A debian/copyright debian/SOURCE
dh_installchangelogs
dh_installman
@@ -106,7 +81,7 @@ install: .install_mark .tools_install_mark .headers_install_mark .usr_headers_in
binary: install
debian/rules fwcheck abicheck
dh_strip -N${PVE_HEADER_PKG} -N${PVE_USR_HEADER_PKG}
dh_strip -N${PVE_HEADER_PKG}
dh_makeshlibs
dh_shlibdeps
dh_installdeb
@@ -117,9 +92,6 @@ binary: install
.config_mark:
cd ${KERNEL_SRC}; scripts/config ${PVE_CONFIG_OPTS}
${MAKE} -C ${KERNEL_SRC} oldconfig
# copy to allow building in parallel to kernel/module compilation without interference
rm -rf ${KERNEL_SRC_COPY}
cp -ar ${KERNEL_SRC} ${KERNEL_SRC_COPY}
touch $@
.compile_mark: .config_mark
@@ -136,23 +108,9 @@ binary: install
${MAKE} -C ${KERNEL_SRC} INSTALL_MOD_PATH=${BUILD_DIR}/debian/${PVE_KERNEL_PKG}/ modules_install
# install zfs drivers
install -d -m 0755 debian/${PVE_KERNEL_PKG}/lib/modules/${KVNAME}/zfs
install -m 644 $(addprefix ${MODULES}/,zfs.ko zavl.ko znvpair.ko zunicode.ko zcommon.ko icp.ko zlua.ko spl.ko zzstd.ko) debian/${PVE_KERNEL_PKG}/lib/modules/${KVNAME}/zfs
install -m 644 $(addprefix ${MODULES}/,zfs.ko zavl.ko znvpair.ko zunicode.ko zcommon.ko icp.ko zlua.ko spl.ko) debian/${PVE_KERNEL_PKG}/lib/modules/${KVNAME}/zfs
# remove firmware
rm -rf debian/${PVE_KERNEL_PKG}/lib/firmware
ifeq ($(filter pkg.pve-kernel.debug,$(DEB_BUILD_PROFILES)),)
echo "'pkg.pve-kernel.debug' build profile disabled, skipping -dbgsym creation"
else
echo "'pkg.pve-kernel.debug' build profile enabled, creating -dbgsym contents"
mkdir -p debian/${PVE_DEBUG_KERNEL_PKG}/usr/lib/debug/lib/modules/${KVNAME}
mkdir debian/${PVE_DEBUG_KERNEL_PKG}/usr/lib/debug/boot
install -m 644 ${KERNEL_SRC}/vmlinux debian/${PVE_DEBUG_KERNEL_PKG}/usr/lib/debug/boot/vmlinux-${KVNAME}
cp -r debian/${PVE_KERNEL_PKG}/lib/modules/${KVNAME} debian/${PVE_DEBUG_KERNEL_PKG}/usr/lib/debug/lib/modules/
rm -f debian/${PVE_DEBUG_KERNEL_PKG}/usr/lib/debug/lib/modules/${KVNAME}/source
rm -f debian/${PVE_DEBUG_KERNEL_PKG}/usr/lib/debug/lib/modules/${KVNAME}/build
rm -f debian/${PVE_DEBUG_KERNEL_PKG}/usr/lib/debug/lib/modules/${KVNAME}/modules.*
endif
# strip debug info
find debian/${PVE_KERNEL_PKG}/lib/modules -name \*.ko -print | while read f ; do strip --strip-debug "$$f"; done
# finalize
@@ -167,7 +125,7 @@ endif
touch $@
.tools_compile_mark: .compile_mark
${MAKE} -C ${KERNEL_SRC}/tools/perf prefix=/usr HAVE_NO_LIBBFD=1 HAVE_CPLUS_DEMANGLE_SUPPORT=1 NO_LIBPYTHON=1 NO_LIBPERL=1 NO_LIBCRYPTO=1 PYTHON=python3
${MAKE} -C ${KERNEL_SRC}/tools/perf prefix=/usr HAVE_NO_LIBBFD=1 HAVE_CPLUS_DEMANGLE_SUPPORT=1 NO_LIBPYTHON=1 NO_LIBPERL=1 NO_LIBCRYPTO=1 PYTHON=python2.7
echo "checking GPL-2 only perf binary for library linkage with incompatible licenses.."
! ldd ${KERNEL_SRC}/tools/perf/perf | grep -q -E '\blibbfd'
! ldd ${KERNEL_SRC}/tools/perf/perf | grep -q -E '\blibcrypto'
@@ -189,6 +147,9 @@ endif
rm -rf debian/${PVE_HEADER_PKG}
mkdir -p debian/${PVE_HEADER_PKG}/usr/src/linux-headers-${KVNAME}
install -m 0644 ${KERNEL_SRC}/.config debian/${PVE_HEADER_PKG}/usr/src/linux-headers-${KVNAME}
# copy to allow building in parallel to kernel/module compilation without interference
rm -rf ${KERNEL_SRC_COPY}
cp -ar ${KERNEL_SRC} ${KERNEL_SRC_COPY}
make -C ${KERNEL_SRC_COPY} mrproper
cd ${KERNEL_SRC_COPY}; find . -path './debian/*' -prune \
-o -path './include/*' -prune \
@@ -203,6 +164,7 @@ endif
-o -name '*.pl' \
\) \
-print | cpio -pd --preserve-modification-time ${BUILD_DIR}/debian/${PVE_HEADER_PKG}/usr/src/linux-headers-${KVNAME}
cd ${KERNEL_SRC_COPY}; cp -a include scripts ${BUILD_DIR}/debian/${PVE_HEADER_PKG}/usr/src/linux-headers-${KVNAME}
cd ${KERNEL_SRC_COPY}; \
( \
find arch/${KERNEL_HEADER_ARCH} -name include -type d -print | \
@@ -216,9 +178,8 @@ endif
rm -rf ${BUILD_DIR}/${KERNEL_SRC_COPY}/${PVE_HEADER_PKG}
mkdir -p ${BUILD_DIR}/${KERNEL_SRC_COPY}/${PVE_HEADER_PKG}
cp ${KERNEL_SRC}/.config ${BUILD_DIR}/${KERNEL_SRC_COPY}/${PVE_HEADER_PKG}/.config
${MAKE} -C ${KERNEL_SRC_COPY} O=${BUILD_DIR}/${KERNEL_SRC_COPY}/${PVE_HEADER_PKG} -j1 syncconfig modules_prepare prepare scripts
cd ${KERNEL_SRC_COPY}; cp -a include scripts ${BUILD_DIR}/debian/${PVE_HEADER_PKG}/usr/src/linux-headers-${KVNAME}
find ${BUILD_DIR}/${KERNEL_SRC_COPY}/${PVE_HEADER_PKG} -name \*.o.ur-\* -o -name '*.cmd' | xargs rm -f
${MAKE} -C ${KERNEL_SRC_COPY} O=${BUILD_DIR}/${KERNEL_SRC_COPY}/${PVE_HEADER_PKG} -j1 syncconfig prepare scripts
find ${BUILD_DIR}/${KERNEL_SRC_COPY}/${PVE_HEADER_PKG} -name \*.o.ur-\* | xargs rm -f
rsync --ignore-existing -r -v -a $(addprefix ${BUILD_DIR}/${KERNEL_SRC_COPY}/${PVE_HEADER_PKG}/,arch include kernel scripts tools) ${BUILD_DIR}/debian/${PVE_HEADER_PKG}/usr/src/linux-headers-${KVNAME}/
rm -rf ${BUILD_DIR}/${KERNEL_SRC_COPY}
touch $@
@@ -230,23 +191,6 @@ endif
ln -sf /usr/src/linux-headers-${KVNAME} debian/${PVE_HEADER_PKG}/lib/modules/${KVNAME}/build
touch $@
.usr_headers_install_mark: PKG_DIR = debian/${PVE_USR_HEADER_PKG}
.usr_headers_install_mark: OUT_DIR = ${PKG_DIR}/usr
.usr_headers_install_mark: .config_mark
rm -rf '${PKG_DIR}'
mkdir -p '${PKG_DIR}'
$(MAKE) -C ${KERNEL_SRC} headers_check ARCH=$(KERNEL_HEADER_ARCH)
$(MAKE) -C ${KERNEL_SRC} headers_install ARCH=$(KERNEL_HEADER_ARCH) INSTALL_HDR_PATH='$(CURDIR)'/$(OUT_DIR)
rm -rf $(OUT_DIR)/include/drm $(OUT_DIR)/include/scsi
find $(OUT_DIR)/include \( -name .install -o -name ..install.cmd \) -execdir rm {} +
# Move include/asm to arch-specific directory
mkdir -p $(OUT_DIR)/include/$(DEB_HOST_MULTIARCH)
mv $(OUT_DIR)/include/asm $(OUT_DIR)/include/$(DEB_HOST_MULTIARCH)/
test ! -d $(OUT_DIR)/include/arch || \
mv $(OUT_DIR)/include/arch $(OUT_DIR)/include/$(DEB_HOST_MULTIARCH)/
touch $@
.modules_compile_mark: ${MODULES}/zfs.ko
touch $@
@@ -262,7 +206,6 @@ ${MODULES}/zfs.ko: .compile_mark
cp ${MODULES}/${ZFSDIR}/module/zfs/zfs.ko ${MODULES}/
cp ${MODULES}/${ZFSDIR}/module/lua/zlua.ko ${MODULES}/
cp ${MODULES}/${ZFSDIR}/module/spl/spl.ko ${MODULES}/
cp ${MODULES}/${ZFSDIR}/module/zstd/zzstd.ko ${MODULES}/
fwlist-${KVNAME}: .compile_mark .modules_compile_mark
debian/scripts/find-firmware.pl debian/${PVE_KERNEL_PKG}/lib/modules/${KVNAME} >fwlist.tmp
+4 -3
View File
@@ -6,7 +6,7 @@ top=$(pwd)
if [ "$#" -ne 3 ]; then
echo "USAGE: $0 repo patchdir ref"
printf "\t exports patches from 'repo' to 'patchdir' based on 'ref'\n"
echo "\t exports patches from 'repo' to 'patchdir' based on 'ref'"
exit 1
fi
@@ -26,9 +26,10 @@ git format-patch \
--zero-commit \
--no-signature \
--diff-algorithm=myers \
--output-directory="${top}/${kernel_patchdir}" \
--output-dir \
"${top}/${kernel_patchdir}" \
"${base_ref}.."
git checkout "${base_ref}"
git checkout ${base_ref}
cd "${top}"
+1 -1
View File
@@ -8,7 +8,7 @@ die "no directory to scan" if !$dir;
die "no such directory" if ! -d $dir;
die "strange directory name: $dir" if $dir !~ m|^(.*/)?(\d+.\d+.\d+\-\d+\-pve)(/+)?$|;
die "strange directory name" if $dir !~ m|^(.*/)?(5.0.\d+\-\d+\-pve)(/+)?$|;
my $apiver = $2;
+52 -400
View File
@@ -14,26 +14,6 @@ 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
amd/amd_sev_fam19h_model0xh.sbin kernel/drivers/crypto/ccp/ccp.ko
amdgpu/aldebaran_mec2.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/aldebaran_mec.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/aldebaran_rlc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/aldebaran_sdma.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/aldebaran_smc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/aldebaran_sos.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/aldebaran_ta.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/aldebaran_vcn.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/arcturus_asd.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/arcturus_gpu_info.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/arcturus_mec.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/arcturus_rlc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/arcturus_sdma.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/arcturus_smc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/arcturus_sos.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/arcturus_ta.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/arcturus_vcn.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/banks_k_2_smc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/bonaire_ce.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/bonaire_k_smc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
@@ -57,18 +37,6 @@ amdgpu/carrizo_sdma1.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/carrizo_sdma.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/carrizo_uvd.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/carrizo_vce.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
amdgpu/dimgrey_cavefish_mec2.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/dimgrey_cavefish_mec.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/dimgrey_cavefish_pfp.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/dimgrey_cavefish_rlc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/dimgrey_cavefish_sdma.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/dimgrey_cavefish_smc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/dimgrey_cavefish_sos.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/dimgrey_cavefish_ta.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/dimgrey_cavefish_vcn.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/fiji_ce.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/fiji_me.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/fiji_mec2.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
@@ -80,17 +48,6 @@ amdgpu/fiji_sdma.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/fiji_smc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/fiji_uvd.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/fiji_vce.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/green_sardine_asd.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/green_sardine_ce.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/green_sardine_dmcub.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/green_sardine_me.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/green_sardine_mec2.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/green_sardine_mec.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/green_sardine_pfp.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/green_sardine_rlc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/green_sardine_sdma.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/green_sardine_ta.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/green_sardine_vcn.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/hainan_ce.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/hainan_k_smc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/hainan_mc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
@@ -138,67 +95,6 @@ amdgpu/mullins_sdma1.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/mullins_sdma.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/mullins_uvd.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/mullins_vce.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi10_asd.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi10_ce.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi10_gpu_info.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi10_me.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi10_mec2.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi10_mec.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi10_mes.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi10_pfp.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi10_rlc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi10_sdma1.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi10_sdma.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi10_smc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi10_sos.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi10_ta.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi10_vcn.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi12_asd.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi12_ce.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi12_dmcu.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi12_gpu_info.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi12_me.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi12_mec2.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi12_mec.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi12_pfp.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi12_rlc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi12_sdma1.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi12_sdma.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi12_smc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi12_sos.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi12_ta.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi12_vcn.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi14_asd.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi14_ce.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi14_ce_wks.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi14_gpu_info.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi14_me.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi14_mec2.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi14_mec2_wks.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi14_mec.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi14_mec_wks.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi14_me_wks.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi14_pfp.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi14_pfp_wks.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi14_rlc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi14_sdma1.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi14_sdma.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi14_smc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi14_sos.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi14_ta.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navi14_vcn.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navy_flounder_ce.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navy_flounder_dmcub.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navy_flounder_me.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navy_flounder_mec2.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navy_flounder_mec.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navy_flounder_pfp.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navy_flounder_rlc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navy_flounder_sdma.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navy_flounder_smc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navy_flounder_sos.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navy_flounder_ta.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/navy_flounder_vcn.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/oland_ce.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/oland_k_smc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/oland_mc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
@@ -206,7 +102,6 @@ amdgpu/oland_me.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/oland_pfp.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/oland_rlc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/oland_smc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/oland_uvd.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/picasso_asd.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/picasso_ce.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/picasso_gpu_info.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
@@ -217,7 +112,6 @@ amdgpu/picasso_pfp.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/picasso_rlc_am4.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/picasso_rlc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/picasso_sdma.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/picasso_ta.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/picasso_vcn.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/pitcairn_ce.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/pitcairn_k_smc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
@@ -226,7 +120,6 @@ amdgpu/pitcairn_me.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/pitcairn_pfp.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/pitcairn_rlc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/pitcairn_smc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/pitcairn_uvd.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/polaris10_ce_2.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/polaris10_ce.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/polaris10_k2_smc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
@@ -269,7 +162,6 @@ amdgpu/polaris11_smc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/polaris11_smc_sk.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/polaris11_uvd.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/polaris11_vce.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/polaris12_32_mc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/polaris12_ce_2.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/polaris12_ce.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/polaris12_k_mc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
@@ -298,46 +190,19 @@ amdgpu/raven2_mec.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/raven2_pfp.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/raven2_rlc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/raven2_sdma.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/raven2_ta.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/raven2_vcn.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/raven_asd.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/raven_ce.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/raven_dmcu.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/raven_gpu_info.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/raven_kicker_rlc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/raven_me.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/raven_mec2.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/raven_mec.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/raven_pfp.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/raven_rlc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/raven_sdma.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/raven_ta.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/raven_vcn.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/renoir_asd.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/renoir_ce.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/renoir_dmcub.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/renoir_gpu_info.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/renoir_me.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/renoir_mec.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/renoir_pfp.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/renoir_rlc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/renoir_sdma.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/renoir_ta.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/renoir_vcn.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/si58_mc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/sienna_cichlid_ce.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/sienna_cichlid_dmcub.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/sienna_cichlid_me.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/sienna_cichlid_mec2.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/sienna_cichlid_mec.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/sienna_cichlid_mes.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/sienna_cichlid_pfp.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/sienna_cichlid_rlc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/sienna_cichlid_sdma.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/sienna_cichlid_smc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/sienna_cichlid_sos.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
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/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
@@ -352,7 +217,6 @@ amdgpu/tahiti_me.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/tahiti_pfp.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/tahiti_rlc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/tahiti_smc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/tahiti_uvd.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/tonga_ce.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/tonga_k_smc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/tonga_mc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
@@ -376,18 +240,6 @@ amdgpu/topaz_rlc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/topaz_sdma1.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/topaz_sdma.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/topaz_smc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/vangogh_asd.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/vangogh_ce.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/vangogh_dmcub.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/vangogh_gpu_info.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/vangogh_me.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/vangogh_mec2.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/vangogh_mec.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/vangogh_pfp.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/vangogh_rlc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/vangogh_sdma.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/vangogh_toc.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
amdgpu/vangogh_vcn.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_ce.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
@@ -449,7 +301,6 @@ amdgpu/verde_me.bin kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
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
ar5523.bin kernel/drivers/net/wireless/ath/ar5523/ar5523.ko
asihpi/dsp5000.bin kernel/sound/pci/asihpi/snd-asihpi.ko
asihpi/dsp6200.bin kernel/sound/pci/asihpi/snd-asihpi.ko
@@ -480,9 +331,6 @@ ath10k/QCA988X/hw2.0/firmware-2.bin kernel/drivers/net/wireless/ath/ath10k/ath10
ath10k/QCA988X/hw2.0/firmware-3.bin kernel/drivers/net/wireless/ath/ath10k/ath10k_pci.ko
ath10k/QCA988X/hw2.0/firmware-4.bin kernel/drivers/net/wireless/ath/ath10k/ath10k_pci.ko
ath10k/QCA988X/hw2.0/firmware-5.bin kernel/drivers/net/wireless/ath/ath10k/ath10k_pci.ko
ath11k/QCA6390/hw2.0/amss.bin kernel/drivers/net/wireless/ath/ath11k/ath11k_pci.ko
ath11k/QCA6390/hw2.0/board-2.bin kernel/drivers/net/wireless/ath/ath11k/ath11k_pci.ko
ath11k/QCA6390/hw2.0/m3.bin kernel/drivers/net/wireless/ath/ath11k/ath11k_pci.ko
ath3k-1.fw kernel/drivers/bluetooth/ath3k.ko
ath6k/AR6003/hw2.0/athwlan.bin.z77 kernel/drivers/net/wireless/ath/ath6kl/ath6kl_sdio.ko
ath6k/AR6003/hw2.0/bdata.bin kernel/drivers/net/wireless/ath/ath6kl/ath6kl_sdio.ko
@@ -537,7 +385,6 @@ atmel_at76c505-rfmd2958.bin kernel/drivers/net/wireless/atmel/at76c50x-usb.ko
atmel_at76c505-rfmd.bin kernel/drivers/net/wireless/atmel/at76c50x-usb.ko
atmel_at76c506.bin kernel/drivers/net/wireless/atmel/atmel.ko
atmel_at76c506-wpa.bin kernel/drivers/net/wireless/atmel/atmel.ko
atmel/wilc1000_wifi_firmware-1.bin kernel/drivers/net/wireless/microchip/wilc1000/wilc1000.ko
atmsar11.fw kernel/drivers/atm/ambassador.ko
atsc_denver.inp kernel/drivers/media/common/siano/smsmdtv.ko
av7110/bootcode.bin kernel/drivers/media/pci/ttpci/dvb-ttpci.ko
@@ -568,9 +415,9 @@ bnx2/bnx2-mips-09-6.2.1b.fw kernel/drivers/net/ethernet/broadcom/bnx2.ko
bnx2/bnx2-rv2p-06-6.0.15.fw kernel/drivers/net/ethernet/broadcom/bnx2.ko
bnx2/bnx2-rv2p-09-6.0.17.fw kernel/drivers/net/ethernet/broadcom/bnx2.ko
bnx2/bnx2-rv2p-09ax-6.0.17.fw kernel/drivers/net/ethernet/broadcom/bnx2.ko
bnx2x/bnx2x-e1-7.13.15.0.fw kernel/drivers/net/ethernet/broadcom/bnx2x/bnx2x.ko
bnx2x/bnx2x-e1h-7.13.15.0.fw kernel/drivers/net/ethernet/broadcom/bnx2x/bnx2x.ko
bnx2x/bnx2x-e2-7.13.15.0.fw kernel/drivers/net/ethernet/broadcom/bnx2x/bnx2x.ko
bnx2x/bnx2x-e1-7.13.1.0.fw kernel/drivers/net/ethernet/broadcom/bnx2x/bnx2x.ko
bnx2x/bnx2x-e1h-7.13.1.0.fw kernel/drivers/net/ethernet/broadcom/bnx2x/bnx2x.ko
bnx2x/bnx2x-e2-7.13.1.0.fw kernel/drivers/net/ethernet/broadcom/bnx2x/bnx2x.ko
brcm/bcm43xx-0.fw kernel/drivers/net/wireless/broadcom/brcm80211/brcmsmac/brcmsmac.ko
brcm/bcm43xx_hdr-0.fw kernel/drivers/net/wireless/broadcom/brcm80211/brcmsmac/brcmsmac.ko
brcm/brcmfmac43012-sdio.bin kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko
@@ -591,7 +438,6 @@ brcm/brcmfmac4339-sdio.bin kernel/drivers/net/wireless/broadcom/brcm80211/brcmfm
brcm/brcmfmac43430a0-sdio.bin kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko
brcm/brcmfmac43430-sdio.bin kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko
brcm/brcmfmac43455-sdio.bin kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko
brcm/brcmfmac43456-sdio.bin kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko
brcm/brcmfmac4350c2-pcie.bin kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko
brcm/brcmfmac4350-pcie.bin kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko
brcm/brcmfmac4354-sdio.bin kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko
@@ -601,9 +447,7 @@ brcm/brcmfmac4356-sdio.bin kernel/drivers/net/wireless/broadcom/brcm80211/brcmfm
brcm/brcmfmac43570-pcie.bin kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko
brcm/brcmfmac4358-pcie.bin kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko
brcm/brcmfmac4359-pcie.bin kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko
brcm/brcmfmac4359-sdio.bin kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko
brcm/brcmfmac43602-pcie.bin kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko
brcm/brcmfmac4364-pcie.bin kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko
brcm/brcmfmac4365b-pcie.bin kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko
brcm/brcmfmac4365c-pcie.bin kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko
brcm/brcmfmac4366b-pcie.bin kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko
@@ -611,8 +455,6 @@ brcm/brcmfmac4366c-pcie.bin kernel/drivers/net/wireless/broadcom/brcm80211/brcmf
brcm/brcmfmac4371-pcie.bin kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko
brcm/brcmfmac4373.bin kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko
brcm/brcmfmac4373-sdio.bin kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko
brcm/brcmfmac*-pcie.*.txt kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko
brcm/brcmfmac*-sdio.*.txt kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko
BT3CPCC.bin kernel/drivers/bluetooth/bt3c_cs.ko
c218tunx.cod kernel/drivers/tty/moxa.ko
c320tunx.cod kernel/drivers/tty/moxa.ko
@@ -640,7 +482,7 @@ cis/tamarack.cis kernel/drivers/net/ethernet/8390/pcnet_cs.ko
cmmb_ming_app.inp kernel/drivers/media/common/siano/smsmdtv.ko
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
comedi/jr3pci.idm kernel/drivers/staging/comedi/drivers/jr3_pci.ko
cp204unx.cod kernel/drivers/tty/moxa.ko
cpia2/stv0672_vp4.bin kernel/drivers/media/usb/cpia2/cpia2.ko
cs46xx/cwc4630 kernel/sound/pci/cs46xx/snd-cs46xx.ko
@@ -666,16 +508,15 @@ cxgb4/t5fw.bin kernel/drivers/net/ethernet/chelsio/cxgb4/cxgb4.ko
cxgb4/t5fw.bin kernel/drivers/scsi/csiostor/csiostor.ko
cxgb4/t6fw.bin kernel/drivers/net/ethernet/chelsio/cxgb4/cxgb4.ko
cxgb4/t6fw.bin kernel/drivers/scsi/csiostor/csiostor.ko
daqboard2000_firmware.bin kernel/drivers/comedi/drivers/daqboard2000.ko
cyzfirm.bin kernel/drivers/tty/cyclades.ko
daqboard2000_firmware.bin kernel/drivers/staging/comedi/drivers/daqboard2000.ko
digiface_firmware.bin kernel/sound/pci/rme9652/snd-hdsp.ko
digiface_firmware_rev11.bin kernel/sound/pci/rme9652/snd-hdsp.ko
dvb-cx18-mpc718-mt352.fw kernel/drivers/media/pci/cx18/cx18.ko
dvb-demod-m88ds3103b.fw kernel/drivers/media/dvb-frontends/m88ds3103.ko
dvb-demod-m88ds3103.fw kernel/drivers/media/dvb-frontends/m88ds3103.ko
dvb-demod-m88rs6000.fw kernel/drivers/media/dvb-frontends/m88ds3103.ko
dvb-demod-mn88472-02.fw kernel/drivers/media/dvb-frontends/mn88472.ko
dvb-demod-mn88473-01.fw kernel/drivers/media/dvb-frontends/mn88473.ko
dvb-demod-mxl692.fw kernel/drivers/media/dvb-frontends/mxl692.ko
dvb-demod-si2165.fw kernel/drivers/media/dvb-frontends/si2165.ko
dvb-demod-si2168-a20-01.fw kernel/drivers/media/dvb-frontends/si2168.ko
dvb-demod-si2168-a30-01.fw kernel/drivers/media/dvb-frontends/si2168.ko
@@ -695,7 +536,6 @@ dvb_nova_12mhz_b0.inp kernel/drivers/media/common/siano/smsmdtv.ko
dvb_nova_12mhz.inp kernel/drivers/media/common/siano/smsmdtv.ko
dvb_rio.inp kernel/drivers/media/common/siano/smsmdtv.ko
dvb-tuner-si2141-a10-01.fw kernel/drivers/media/tuners/si2157.ko
dvb-tuner-si2157-a30-01.fw kernel/drivers/media/tuners/si2157.ko
dvb-tuner-si2158-a20-01.fw kernel/drivers/media/tuners/si2157.ko
dvb-usb-af9015.fw kernel/drivers/media/usb/dvb-usb-v2/dvb-usb-af9015.ko
dvb-usb-af9035-02.fw kernel/drivers/media/usb/dvb-usb-v2/dvb-usb-af9035.ko
@@ -802,38 +642,27 @@ 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/adls_dmc_ver2_01.bin kernel/drivers/gpu/drm/i915/i915.ko
i1480-phy-0.0.bin kernel/drivers/uwb/i1480/dfu/i1480-dfu-usb.ko
i1480-pre-phy-0.0.bin kernel/drivers/uwb/i1480/dfu/i1480-dfu-usb.ko
i1480-usb-0.0.bin kernel/drivers/uwb/i1480/dfu/i1480-dfu-usb.ko
i2400m-fw-usb-1.5.sbcf kernel/drivers/net/wimax/i2400m/i2400m-usb.ko
i6050-fw-usb-1.5.sbcf kernel/drivers/net/wimax/i2400m/i2400m-usb.ko
i915/bxt_dmc_ver1_07.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/bxt_guc_49.0.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_49.0.1.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/cml_huc_4.0.0.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/bxt_guc_ver9_29.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/bxt_huc_ver01_07_1398.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/cnl_dmc_ver1_07.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/dg1_dmc_ver2_02.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/ehl_guc_49.0.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_guc_49.0.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_guc_49.0.1.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/icl_huc_9.0.0.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/icl_dmc_ver1_07.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/kbl_dmc_ver1_04.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/kbl_guc_49.0.1.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/kbl_huc_4.0.0.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/rkl_dmc_ver2_02.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/kbl_guc_ver9_39.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/kbl_huc_ver02_00_1810.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/skl_dmc_ver1_27.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/skl_guc_49.0.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_08.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/tgl_guc_49.0.1.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/tgl_huc_7.5.0.bin kernel/drivers/gpu/drm/i915/i915.ko
idt82p33xxx.bin kernel/drivers/ptp/ptp_idt82p33.ko
i915/skl_guc_ver9_33.bin kernel/drivers/gpu/drm/i915/i915.ko
i915/skl_huc_ver01_07_1398.bin kernel/drivers/gpu/drm/i915/i915.ko
intel/ibt-11-5.ddc kernel/drivers/bluetooth/btintel.ko
intel/ibt-11-5.sfi kernel/drivers/bluetooth/btintel.ko
intel/ibt-12-16.ddc kernel/drivers/bluetooth/btintel.ko
intel/ibt-12-16.sfi kernel/drivers/bluetooth/btintel.ko
intel/ice/ddp/ice.pkg kernel/drivers/net/ethernet/intel/ice/ice.ko
ipw2100-1.3.fw kernel/drivers/net/wireless/intel/ipw2x00/ipw2100.ko
ipw2100-1.3-i.fw kernel/drivers/net/wireless/intel/ipw2x00/ipw2100.ko
ipw2100-1.3-p.fw kernel/drivers/net/wireless/intel/ipw2x00/ipw2100.ko
@@ -846,6 +675,11 @@ isdbt_nova_12mhz.inp kernel/drivers/media/common/siano/smsmdtv.ko
isdbt_pele.inp kernel/drivers/media/common/siano/smsmdtv.ko
isdbt_rio.inp kernel/drivers/media/common/siano/smsmdtv.ko
isdn/ISAR.BIN kernel/drivers/isdn/hardware/mISDN/speedfax.ko
isi4608.bin kernel/drivers/tty/isicom.ko
isi4616.bin kernel/drivers/tty/isicom.ko
isi608.bin kernel/drivers/tty/isicom.ko
isi608em.bin kernel/drivers/tty/isicom.ko
isi616em.bin kernel/drivers/tty/isicom.ko
isight.fw kernel/drivers/usb/misc/isight_firmware.ko
isl3886pci kernel/drivers/net/wireless/intersil/p54/p54pci.ko
isl3886usb kernel/drivers/net/wireless/intersil/p54/p54usb.ko
@@ -871,33 +705,20 @@ iwlwifi-7265-17.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-7265D-29.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-8000C-36.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-8265-36.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-9000-pu-b0-jf-b0-46.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-9260-th-b0-jf-b0-46.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-bz-a0-gf4-a0-63.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-bz-a0-gf-a0-63.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-bz-a0-hr-b0-63.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-bz-a0-mr-a0-63.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-cc-a0-63.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-ma-a0-gf4-a0-63.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-ma-a0-gf-a0-63.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-ma-a0-hr-b0-63.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-ma-a0-mr-a0-63.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-Qu-b0-hr-b0-63.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-Qu-b0-jf-b0-63.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-Qu-c0-hr-b0-63.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-QuQnj-b0-hr-b0-63.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-QuQnj-b0-jf-b0-63.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-QuZ-a0-hr-b0-63.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-QuZ-a0-jf-b0-63.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-so-a0-gf-a0-63.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-so-a0-hr-b0-63.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-so-a0-jf-b0-63.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-SoSnj-a0-gf4-a0-63.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-SoSnj-a0-gf-a0-63.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-SoSnj-a0-hr-b0-63.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-SoSnj-a0-jf-b0-63.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-SoSnj-a0-mr-a0-63.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-ty-a0-gf-a0-63.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-9000-pu-a0-jf-a0-43.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-9000-pu-a0-jf-b0-43.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-9000-pu-b0-jf-b0-43.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-9260-th-a0-jf-a0-43.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-9260-th-b0-jf-b0-43.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-Qu-a0-hr-a0-43.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-Qu-a0-jf-b0-43.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-Qu-b0-hr-b0-43.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-Qu-b0-jf-b0-43.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-QuQnj-a0-hr-a0-43.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-QuQnj-a0-jf-b0-43.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-QuQnj-b0-hr-b0-43.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-QuQnj-f0-hr-a0-43.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
iwlwifi-su-z0-43.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
@@ -959,44 +780,14 @@ liquidio/lio_210nv_nic.bin kernel/drivers/net/ethernet/cavium/liquidio/liquidio.
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
me2600_firmware.bin kernel/drivers/staging/comedi/drivers/me_daq.ko
me4000_firmware.bin kernel/drivers/staging/comedi/drivers/me4000.ko
mediatek/mt7610e.bin kernel/drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0e.ko
mediatek/mt7610e.bin kernel/drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0u.ko
mediatek/mt7610u.bin kernel/drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0u.ko
mediatek/mt7615_cr4.bin kernel/drivers/net/wireless/mediatek/mt76/mt7615/mt7615e.ko
mediatek/mt7615_n9.bin kernel/drivers/net/wireless/mediatek/mt76/mt7615/mt7615e.ko
mediatek/mt7615_rom_patch.bin kernel/drivers/net/wireless/mediatek/mt76/mt7615/mt7615e.ko
mediatek/mt7622pr2h.bin kernel/drivers/bluetooth/btmtkuart.ko
mediatek/mt7650e.bin kernel/drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0e.ko
mediatek/mt7663_n9_rebb.bin kernel/drivers/net/wireless/mediatek/mt76/mt7615/mt7615e.ko
mediatek/mt7663_n9_rebb.bin kernel/drivers/net/wireless/mediatek/mt76/mt7615/mt7663s.ko
mediatek/mt7663_n9_rebb.bin kernel/drivers/net/wireless/mediatek/mt76/mt7615/mt7663u.ko
mediatek/mt7663_n9_v3.bin kernel/drivers/net/wireless/mediatek/mt76/mt7615/mt7615e.ko
mediatek/mt7663_n9_v3.bin kernel/drivers/net/wireless/mediatek/mt76/mt7615/mt7663s.ko
mediatek/mt7663_n9_v3.bin kernel/drivers/net/wireless/mediatek/mt76/mt7615/mt7663u.ko
mediatek/mt7663pr2h.bin kernel/drivers/bluetooth/btmtksdio.ko
mediatek/mt7663pr2h.bin kernel/drivers/bluetooth/btmtkuart.ko
mediatek/mt7663pr2h.bin kernel/drivers/bluetooth/btusb.ko
mediatek/mt7663pr2h.bin kernel/drivers/net/wireless/mediatek/mt76/mt7615/mt7615e.ko
mediatek/mt7663pr2h.bin kernel/drivers/net/wireless/mediatek/mt76/mt7615/mt7663s.ko
mediatek/mt7663pr2h.bin kernel/drivers/net/wireless/mediatek/mt76/mt7615/mt7663u.ko
mediatek/mt7663pr2h_rebb.bin kernel/drivers/net/wireless/mediatek/mt76/mt7615/mt7615e.ko
mediatek/mt7663pr2h_rebb.bin kernel/drivers/net/wireless/mediatek/mt76/mt7615/mt7663s.ko
mediatek/mt7663pr2h_rebb.bin kernel/drivers/net/wireless/mediatek/mt76/mt7615/mt7663u.ko
mediatek/mt7668pr2h.bin kernel/drivers/bluetooth/btmtksdio.ko
mediatek/mt7668pr2h.bin kernel/drivers/bluetooth/btmtkuart.ko
mediatek/mt7668pr2h.bin kernel/drivers/bluetooth/btusb.ko
mediatek/mt7915_rom_patch.bin kernel/drivers/net/wireless/mediatek/mt76/mt7915/mt7915e.ko
mediatek/mt7915_wa.bin kernel/drivers/net/wireless/mediatek/mt76/mt7915/mt7915e.ko
mediatek/mt7915_wm.bin kernel/drivers/net/wireless/mediatek/mt76/mt7915/mt7915e.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
mediatek/WIFI_RAM_CODE_MT7922_1.bin kernel/drivers/net/wireless/mediatek/mt76/mt7921/mt7921e.ko
mediatek/WIFI_RAM_CODE_MT7961_1.bin kernel/drivers/net/wireless/mediatek/mt76/mt7921/mt7921e.ko
mellanox/mlxsw_spectrum-13.2008.2406.mfa2 kernel/drivers/net/ethernet/mellanox/mlxsw/mlxsw_spectrum.ko
mellanox/mlxsw_spectrum2-29.2008.2406.mfa2 kernel/drivers/net/ethernet/mellanox/mlxsw/mlxsw_spectrum.ko
mellanox/mlxsw_spectrum3-30.2008.2406.mfa2 kernel/drivers/net/ethernet/mellanox/mlxsw/mlxsw_spectrum.ko
mellanox/mlxsw_spectrum-13.1910.622.mfa2 kernel/drivers/net/ethernet/mellanox/mlxsw/mlxsw_spectrum.ko
mixart/miXart8AES.xlx kernel/sound/pci/mixart/snd-mixart.ko
mixart/miXart8.elf kernel/sound/pci/mixart/snd-mixart.ko
mixart/miXart8.xlx kernel/sound/pci/mixart/snd-mixart.ko
@@ -1016,21 +807,13 @@ mrvl/sd8887_uapsta.bin kernel/drivers/bluetooth/btmrvl_sdio.ko
mrvl/sd8887_uapsta.bin kernel/drivers/net/wireless/marvell/mwifiex/mwifiex_sdio.ko
mrvl/sd8897_uapsta.bin kernel/drivers/bluetooth/btmrvl_sdio.ko
mrvl/sd8897_uapsta.bin kernel/drivers/net/wireless/marvell/mwifiex/mwifiex_sdio.ko
mrvl/sd8987_uapsta.bin kernel/drivers/bluetooth/btmrvl_sdio.ko
mrvl/sd8987_uapsta.bin kernel/drivers/net/wireless/marvell/mwifiex/mwifiex_sdio.ko
mrvl/sdsd8977_combo_v2.bin kernel/drivers/bluetooth/btmrvl_sdio.ko
mrvl/sdsd8977_combo_v2.bin kernel/drivers/net/wireless/marvell/mwifiex/mwifiex_sdio.ko
mrvl/sdsd8997_combo_v4.bin kernel/drivers/bluetooth/btmrvl_sdio.ko
mrvl/sdsd8997_combo_v4.bin kernel/drivers/net/wireless/marvell/mwifiex/mwifiex_sdio.ko
mrvl/sd8997_uapsta.bin kernel/drivers/bluetooth/btmrvl_sdio.ko
mrvl/sd8997_uapsta.bin kernel/drivers/net/wireless/marvell/mwifiex/mwifiex_sdio.ko
mrvl/usb8766_uapsta.bin kernel/drivers/net/wireless/marvell/mwifiex/mwifiex_usb.ko
mrvl/usb8797_uapsta.bin kernel/drivers/net/wireless/marvell/mwifiex/mwifiex_usb.ko
mrvl/usb8801_uapsta.bin kernel/drivers/net/wireless/marvell/mwifiex/mwifiex_usb.ko
mrvl/usbusb8997_combo_v4.bin kernel/drivers/net/wireless/marvell/mwifiex/mwifiex_usb.ko
mt7601u.bin kernel/drivers/net/wireless/mediatek/mt7601u/mt7601u.ko
mt7603_e1.bin kernel/drivers/net/wireless/mediatek/mt76/mt7603/mt7603e.ko
mt7603_e2.bin kernel/drivers/net/wireless/mediatek/mt76/mt7603/mt7603e.ko
mt7628_e1.bin kernel/drivers/net/wireless/mediatek/mt76/mt7603/mt7603e.ko
mt7628_e2.bin kernel/drivers/net/wireless/mediatek/mt76/mt7603/mt7603e.ko
mt7662.bin kernel/drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2e.ko
mt7662.bin kernel/drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2u.ko
mt7662_rom_patch.bin kernel/drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2e.ko
@@ -1053,8 +836,6 @@ myri10ge_ethp_z8e.dat kernel/drivers/net/ethernet/myricom/myri10ge/myri10ge.ko
myri10ge_eth_z8e.dat kernel/drivers/net/ethernet/myricom/myri10ge/myri10ge.ko
myri10ge_rss_ethp_z8e.dat kernel/drivers/net/ethernet/myricom/myri10ge/myri10ge.ko
myri10ge_rss_eth_z8e.dat kernel/drivers/net/ethernet/myricom/myri10ge/myri10ge.ko
netronome/nic_AMDA0058-0011_2x40.nffw kernel/drivers/net/ethernet/netronome/nfp/nfp.ko
netronome/nic_AMDA0058-0012_2x40.nffw kernel/drivers/net/ethernet/netronome/nfp/nfp.ko
netronome/nic_AMDA0081-0001_1x40.nffw kernel/drivers/net/ethernet/netronome/nfp/nfp.ko
netronome/nic_AMDA0081-0001_4x10.nffw kernel/drivers/net/ethernet/netronome/nfp/nfp.ko
netronome/nic_AMDA0096-0001_2x10.nffw kernel/drivers/net/ethernet/netronome/nfp/nfp.ko
@@ -1064,9 +845,9 @@ netronome/nic_AMDA0097-0001_8x10.nffw kernel/drivers/net/ethernet/netronome/nfp/
netronome/nic_AMDA0099-0001_1x10_1x25.nffw kernel/drivers/net/ethernet/netronome/nfp/nfp.ko
netronome/nic_AMDA0099-0001_2x10.nffw kernel/drivers/net/ethernet/netronome/nfp/nfp.ko
netronome/nic_AMDA0099-0001_2x25.nffw kernel/drivers/net/ethernet/netronome/nfp/nfp.ko
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
ni6534a.bin kernel/drivers/staging/comedi/drivers/ni_pcidio.ko
niscrb01.bin kernel/drivers/staging/comedi/drivers/ni_pcidio.ko
niscrb02.bin kernel/drivers/staging/comedi/drivers/ni_pcidio.ko
nvidia/gm200/acr/bl.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/gm200/acr/ucode_load.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/gm200/acr/ucode_unload.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
@@ -1259,111 +1040,6 @@ nvidia/gv100/nvdec/scrubber.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/gv100/sec2/desc.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/gv100/sec2/image.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/gv100/sec2/sig.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu102/acr/bl.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu102/acr/ucode_ahesasc.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu102/acr/ucode_asb.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu102/acr/ucode_unload.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu102/acr/unload_bl.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu102/gr/fecs_bl.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu102/gr/fecs_data.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu102/gr/fecs_inst.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu102/gr/fecs_sig.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu102/gr/gpccs_bl.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu102/gr/gpccs_data.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu102/gr/gpccs_inst.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu102/gr/gpccs_sig.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu102/gr/sw_bundle_init.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
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/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
nvidia/tu102/sec2/sig.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu104/acr/bl.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu104/acr/ucode_ahesasc.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu104/acr/ucode_asb.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu104/acr/ucode_unload.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu104/acr/unload_bl.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu104/gr/fecs_bl.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu104/gr/fecs_data.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu104/gr/fecs_inst.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu104/gr/fecs_sig.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu104/gr/gpccs_bl.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu104/gr/gpccs_data.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu104/gr/gpccs_inst.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu104/gr/gpccs_sig.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu104/gr/sw_bundle_init.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
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/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
nvidia/tu104/sec2/sig.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu106/acr/bl.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu106/acr/ucode_ahesasc.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu106/acr/ucode_asb.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu106/acr/ucode_unload.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu106/acr/unload_bl.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu106/gr/fecs_bl.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu106/gr/fecs_data.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu106/gr/fecs_inst.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu106/gr/fecs_sig.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu106/gr/gpccs_bl.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu106/gr/gpccs_data.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu106/gr/gpccs_inst.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu106/gr/gpccs_sig.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu106/gr/sw_bundle_init.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
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/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
nvidia/tu106/sec2/sig.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu116/acr/bl.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu116/acr/ucode_ahesasc.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu116/acr/ucode_asb.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu116/acr/ucode_unload.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu116/acr/unload_bl.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu116/gr/fecs_bl.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu116/gr/fecs_data.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu116/gr/fecs_inst.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu116/gr/fecs_sig.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu116/gr/gpccs_bl.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu116/gr/gpccs_data.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu116/gr/gpccs_inst.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu116/gr/gpccs_sig.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu116/gr/sw_bundle_init.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
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/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
nvidia/tu116/sec2/sig.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu117/acr/bl.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu117/acr/ucode_ahesasc.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu117/acr/ucode_asb.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu117/acr/ucode_unload.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu117/acr/unload_bl.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu117/gr/fecs_bl.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu117/gr/fecs_data.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu117/gr/fecs_inst.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu117/gr/fecs_sig.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu117/gr/gpccs_bl.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu117/gr/gpccs_data.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu117/gr/gpccs_inst.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu117/gr/gpccs_sig.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
nvidia/tu117/gr/sw_bundle_init.bin kernel/drivers/gpu/drm/nouveau/nouveau.ko
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/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
pca200e_ecd.bin2 kernel/drivers/atm/fore_200e.ko
@@ -1389,15 +1065,9 @@ phanfw.bin kernel/drivers/net/ethernet/qlogic/qlcnic/qlcnic.ko
prism2_ru.fw kernel/drivers/staging/wlan-ng/prism2_usb.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/qat/qat_4xxx/qat_4xxx.ko
qat_4xxx_mmp.bin kernel/drivers/crypto/qat/qat_4xxx/qat_4xxx.ko
qat_895xcc.bin kernel/drivers/crypto/qat/qat_dh895xcc/qat_dh895xcc.ko
qat_895xcc_mmp.bin kernel/drivers/crypto/qat/qat_dh895xcc/qat_dh895xcc.ko
qat_c3xxx.bin kernel/drivers/crypto/qat/qat_c3xxx/qat_c3xxx.ko
qat_c3xxx_mmp.bin kernel/drivers/crypto/qat/qat_c3xxx/qat_c3xxx.ko
qat_c62x.bin kernel/drivers/crypto/qat/qat_c62x/qat_c62x.ko
qat_c62x_mmp.bin kernel/drivers/crypto/qat/qat_c62x/qat_c62x.ko
qed/qed_init_values_zipped-8.42.2.0.bin kernel/drivers/net/ethernet/qlogic/qed/qed.ko
qed/qed_init_values_zipped-8.37.7.0.bin kernel/drivers/net/ethernet/qlogic/qed/qed.ko
ql2100_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
ql2200_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
ql2300_fw.bin kernel/drivers/scsi/qla2xxx/qla2xxx.ko
@@ -1640,7 +1310,6 @@ radeon/verde_rlc.bin kernel/drivers/gpu/drm/radeon/radeon.ko
radeon/VERDE_rlc.bin kernel/drivers/gpu/drm/radeon/radeon.ko
radeon/verde_smc.bin kernel/drivers/gpu/drm/radeon/radeon.ko
radeon/VERDE_smc.bin kernel/drivers/gpu/drm/radeon/radeon.ko
renesas_usb_fw.mem kernel/drivers/usb/host/xhci-pci.ko
riptide.hex kernel/sound/pci/riptide/snd-riptide.ko
rp2.fw kernel/drivers/tty/serial/rp2.ko
rpm_firmware.bin kernel/sound/pci/rme9652/snd-hdsp.ko
@@ -1671,22 +1340,11 @@ rtl_bt/rtl8821a_config.bin kernel/drivers/bluetooth/btrtl.ko
rtl_bt/rtl8821a_fw.bin kernel/drivers/bluetooth/btrtl.ko
rtl_bt/rtl8822b_config.bin kernel/drivers/bluetooth/btrtl.ko
rtl_bt/rtl8822b_fw.bin kernel/drivers/bluetooth/btrtl.ko
rtl_bt/rtl8852au_config.bin kernel/drivers/bluetooth/btrtl.ko
rtl_bt/rtl8852au_fw.bin kernel/drivers/bluetooth/btrtl.ko
rtl_nic/rtl8105e-1.fw kernel/drivers/net/ethernet/realtek/r8169.ko
rtl_nic/rtl8106e-1.fw kernel/drivers/net/ethernet/realtek/r8169.ko
rtl_nic/rtl8106e-2.fw kernel/drivers/net/ethernet/realtek/r8169.ko
rtl_nic/rtl8107e-1.fw kernel/drivers/net/ethernet/realtek/r8169.ko
rtl_nic/rtl8107e-2.fw kernel/drivers/net/ethernet/realtek/r8169.ko
rtl_nic/rtl8125a-3.fw kernel/drivers/net/ethernet/realtek/r8169.ko
rtl_nic/rtl8125b-2.fw kernel/drivers/net/ethernet/realtek/r8169.ko
rtl_nic/rtl8153a-2.fw kernel/drivers/net/usb/r8152.ko
rtl_nic/rtl8153a-3.fw kernel/drivers/net/usb/r8152.ko
rtl_nic/rtl8153a-4.fw kernel/drivers/net/usb/r8152.ko
rtl_nic/rtl8153b-2.fw kernel/drivers/net/usb/r8152.ko
rtl_nic/rtl8153c-1.fw kernel/drivers/net/usb/r8152.ko
rtl_nic/rtl8156a-2.fw kernel/drivers/net/usb/r8152.ko
rtl_nic/rtl8156b-2.fw kernel/drivers/net/usb/r8152.ko
rtl_nic/rtl8168d-1.fw kernel/drivers/net/ethernet/realtek/r8169.ko
rtl_nic/rtl8168d-2.fw kernel/drivers/net/ethernet/realtek/r8169.ko
rtl_nic/rtl8168e-1.fw kernel/drivers/net/ethernet/realtek/r8169.ko
@@ -1694,7 +1352,6 @@ rtl_nic/rtl8168e-2.fw kernel/drivers/net/ethernet/realtek/r8169.ko
rtl_nic/rtl8168e-3.fw kernel/drivers/net/ethernet/realtek/r8169.ko
rtl_nic/rtl8168f-1.fw kernel/drivers/net/ethernet/realtek/r8169.ko
rtl_nic/rtl8168f-2.fw kernel/drivers/net/ethernet/realtek/r8169.ko
rtl_nic/rtl8168fp-3.fw kernel/drivers/net/ethernet/realtek/r8169.ko
rtl_nic/rtl8168g-2.fw kernel/drivers/net/ethernet/realtek/r8169.ko
rtl_nic/rtl8168g-3.fw kernel/drivers/net/ethernet/realtek/r8169.ko
rtl_nic/rtl8168h-1.fw kernel/drivers/net/ethernet/realtek/r8169.ko
@@ -1703,7 +1360,6 @@ rtl_nic/rtl8402-1.fw kernel/drivers/net/ethernet/realtek/r8169.ko
rtl_nic/rtl8411-1.fw kernel/drivers/net/ethernet/realtek/r8169.ko
rtl_nic/rtl8411-2.fw kernel/drivers/net/ethernet/realtek/r8169.ko
rtlwifi/rtl8188efw.bin kernel/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/rtl8188ee.ko
rtlwifi/rtl8188eufw.bin kernel/drivers/staging/rtl8188eu/r8188eu.ko
rtlwifi/rtl8192cfw.bin kernel/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/rtl8192ce.ko
rtlwifi/rtl8192cfwU_B.bin kernel/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/rtl8192ce.ko
rtlwifi/rtl8192cfwU.bin kernel/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/rtl8192ce.ko
@@ -1729,13 +1385,9 @@ rtlwifi/rtl8723bu_nic.bin kernel/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.
rtlwifi/rtl8723efw.bin kernel/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/rtl8723ae.ko
rtlwifi/rtl8821aefw_29.bin kernel/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/rtl8821ae.ko
rtlwifi/rtl8821aefw.bin kernel/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/rtl8821ae.ko
rtw88/rtw8723d_fw.bin kernel/drivers/net/wireless/realtek/rtw88/rtw88_8723d.ko
rtw88/rtw8821c_fw.bin kernel/drivers/net/wireless/realtek/rtw88/rtw88_8821c.ko
rtw88/rtw8822b_fw.bin kernel/drivers/net/wireless/realtek/rtw88/rtw88_8822b.ko
rtw88/rtw8822c_fw.bin kernel/drivers/net/wireless/realtek/rtw88/rtw88_8822c.ko
rtw88/rtw8822c_wow_fw.bin kernel/drivers/net/wireless/realtek/rtw88/rtw88_8822c.ko
rtw89/rtw8852a_fw.bin kernel/drivers/net/wireless/realtek/rtw89/rtw89_core.ko
s5k4ecgx.bin kernel/drivers/media/i2c/s5k4ecgx.ko
rtlwifi/rtl8822befw.bin kernel/drivers/staging/rtlwifi/r8822be.ko
rtw88/rtw8822b_fw.bin kernel/drivers/net/wireless/realtek/rtw88/rtw88.ko
rtw88/rtw8822c_fw.bin kernel/drivers/net/wireless/realtek/rtw88/rtw88.ko
sd8385.bin kernel/drivers/net/wireless/marvell/libertas/libertas_sdio.ko
sd8385_helper.bin kernel/drivers/net/wireless/marvell/libertas/libertas_sdio.ko
sd8686.bin kernel/drivers/net/wireless/marvell/libertas/libertas_sdio.ko
@@ -1809,9 +1461,9 @@ ueagle-atm/eagleII.fw kernel/drivers/usb/atm/ueagle-atm.ko
ueagle-atm/eagleIII.fw kernel/drivers/usb/atm/ueagle-atm.ko
ueagle-atm/eagleIV.fw kernel/drivers/usb/atm/ueagle-atm.ko
usb8388.bin kernel/drivers/net/wireless/marvell/libertas/usb8xxx.ko
usbduxfast_firmware.bin kernel/drivers/comedi/drivers/usbduxfast.ko
usbdux_firmware.bin kernel/drivers/comedi/drivers/usbdux.ko
usbduxsigma_firmware.bin kernel/drivers/comedi/drivers/usbduxsigma.ko
usbduxfast_firmware.bin kernel/drivers/staging/comedi/drivers/usbduxfast.ko
usbdux_firmware.bin kernel/drivers/staging/comedi/drivers/usbdux.ko
usbduxsigma_firmware.bin kernel/drivers/staging/comedi/drivers/usbduxsigma.ko
v4l-cx231xx-avcore-01.fw kernel/drivers/media/i2c/cx25840/cx25840.ko
v4l-cx23418-apu.fw kernel/drivers/media/pci/cx18/cx18.ko
v4l-cx23418-cpu.fw kernel/drivers/media/pci/cx18/cx18.ko
@@ -21,10 +21,10 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/scripts/mkcompile_h b/scripts/mkcompile_h
index a72b154de7b0..4dd111086466 100755
index 87f1fc9801d7..4ef868f1f244 100755
--- a/scripts/mkcompile_h
+++ b/scripts/mkcompile_h
@@ -24,10 +24,14 @@ else
@@ -33,10 +33,14 @@ else
VERSION=$KBUILD_BUILD_VERSION
fi
@@ -19,10 +19,10 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/net/bridge/br_stp_if.c b/net/bridge/br_stp_if.c
index ba55851fe132..82675e1ecfb8 100644
index 808e2b914015..b0ad54384826 100644
--- a/net/bridge/br_stp_if.c
+++ b/net/bridge/br_stp_if.c
@@ -265,10 +265,7 @@ bool br_stp_recalculate_bridge_id(struct net_bridge *br)
@@ -259,10 +259,7 @@ bool br_stp_recalculate_bridge_id(struct net_bridge *br)
return false;
list_for_each_entry(p, &br->port_list, list) {
@@ -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 550f341daf99..478530b48cf1 100644
index 988d3f3ad29d..cd1a1bddb997 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -3814,6 +3814,15 @@
@@ -3312,6 +3312,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,10 +75,10 @@ index 550f341daf99..478530b48cf1 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 444ba11f3e79..5843ba2cad8e 100644
index e2479ccedc91..4981d0ec7960 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -193,6 +193,106 @@ static int __init pci_apply_final_quirks(void)
@@ -194,6 +194,106 @@ static int __init pci_apply_final_quirks(void)
}
fs_initcall_sync(pci_apply_final_quirks);
@@ -185,8 +185,8 @@ index 444ba11f3e79..5843ba2cad8e 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
@@ -4876,6 +4976,8 @@ static const struct pci_dev_acs_enabled {
{ PCI_VENDOR_ID_CAVIUM, 0xA060, pci_quirk_mf_endpoint_acs },
@@ -4564,6 +4664,8 @@ static const struct pci_dev_acs_enabled {
{ PCI_VENDOR_ID_CAVIUM, PCI_ANY_ID, pci_quirk_cavium_acs },
/* APM X-Gene */
{ PCI_VENDOR_ID_AMCC, 0xE004, pci_quirk_xgene_acs },
+ /* Enable overrides for missing ACS capabilities */
@@ -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 b86d4bce9793..946643fa1aa1 100644
index 6f50cf5b9ef5..a3d541f23204 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -78,7 +78,7 @@ module_param(halt_poll_ns, uint, 0644);
@@ -0,0 +1,32 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Thomas Lamprecht <t.lamprecht@proxmox.com>
Date: Fri, 7 Jun 2019 21:16:42 +0200
Subject: [PATCH] Revert "KVM: VMX: enable nested virtualization by default"
This reverts commit 1e58e5e59148916fa43444a406335a990783fb78
As we're not yet there, and this effectively breaks live migration
for all VMs using host or +vmx which did not manually enabled nesting
Those which already enabled nesting manually have already breakage,
but that was something to expect. The situation will get better in
the future (probably post qemu 4.1).
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
---
arch/x86/kvm/vmx/vmx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index 2bb8fa904b9f..835edf9b2954 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -106,7 +106,7 @@ module_param(enable_apicv, bool, S_IRUGO);
* VMX and be a hypervisor for its own guests. If nested=0, guests may not
* use VMX instructions.
*/
-static bool __read_mostly nested = 1;
+static bool __read_mostly nested = 0;
module_param(nested, bool, S_IRUGO);
static u64 __read_mostly host_xss;
@@ -1,24 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Thomas Lamprecht <t.lamprecht@proxmox.com>
Date: Wed, 7 Oct 2020 17:18:28 +0200
Subject: [PATCH] net: core: downgrade unregister_netdevice refcount leak from
emergency to error
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
---
net/core/dev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/core/dev.c b/net/core/dev.c
index 7bac7947d8b8..4196ce468b10 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -10533,7 +10533,7 @@ static void netdev_wait_allrefs(struct net_device *dev)
if (refcnt != 1 &&
time_after(jiffies, warning_time +
netdev_unregister_timeout_secs * HZ)) {
- pr_emerg("unregister_netdevice: waiting for %s to become free. Usage count = %d\n",
+ pr_err("unregister_netdevice: waiting for %s to become free. Usage count = %d\n",
dev->name, refcnt);
warning_time = jiffies;
}
@@ -1,105 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Thomas Lamprecht <t.lamprecht@proxmox.com>
Date: Mon, 27 Sep 2021 11:28:39 +0200
Subject: [PATCH] Revert "PCI: Coalesce host bridge contiguous apertures"
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This reverts commit ab20e43b20b60f5cc8e2ea3763ffa388158469ac.
was reverted upstream because of reports similar to
Link: https://bugzilla.proxmox.com/show_bug.cgi?id=3552
Link: https://lore.kernel.org/r/20210709231529.GA3270116@roeck-us.net
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
---
drivers/pci/probe.c | 52 +++++----------------------------------------
1 file changed, 5 insertions(+), 47 deletions(-)
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index 59ef93f1d953..b38a345c5df6 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -19,7 +19,6 @@
#include <linux/hypervisor.h>
#include <linux/irqdomain.h>
#include <linux/pm_runtime.h>
-#include <linux/list_sort.h>
#include "pci.h"
#define CARDBUS_LATENCY_TIMER 176 /* secondary latency timer */
@@ -875,31 +874,14 @@ static void pci_set_bus_msi_domain(struct pci_bus *bus)
dev_set_msi_domain(&bus->dev, d);
}
-static int res_cmp(void *priv, const struct list_head *a,
- const struct list_head *b)
-{
- struct resource_entry *entry1, *entry2;
-
- entry1 = container_of(a, struct resource_entry, node);
- entry2 = container_of(b, struct resource_entry, node);
-
- if (entry1->res->flags != entry2->res->flags)
- return entry1->res->flags > entry2->res->flags;
-
- if (entry1->offset != entry2->offset)
- return entry1->offset > entry2->offset;
-
- return entry1->res->start > entry2->res->start;
-}
-
static int pci_register_host_bridge(struct pci_host_bridge *bridge)
{
struct device *parent = bridge->dev.parent;
- struct resource_entry *window, *next, *n;
+ struct resource_entry *window, *n;
struct pci_bus *bus, *b;
- resource_size_t offset, next_offset;
+ resource_size_t offset;
LIST_HEAD(resources);
- struct resource *res, *next_res;
+ struct resource *res;
char addr[64], *fmt;
const char *name;
int err;
@@ -979,35 +961,11 @@ static int pci_register_host_bridge(struct pci_host_bridge *bridge)
if (nr_node_ids > 1 && pcibus_to_node(bus) == NUMA_NO_NODE)
dev_warn(&bus->dev, "Unknown NUMA node; performance will be reduced\n");
- /* Sort and coalesce contiguous windows */
- list_sort(NULL, &resources, res_cmp);
- resource_list_for_each_entry_safe(window, n, &resources) {
- if (list_is_last(&window->node, &resources))
- break;
-
- next = list_next_entry(window, node);
- offset = window->offset;
- res = window->res;
- next_offset = next->offset;
- next_res = next->res;
-
- if (res->flags != next_res->flags || offset != next_offset)
- continue;
-
- if (res->end + 1 == next_res->start) {
- next_res->start = res->start;
- res->flags = res->start = res->end = 0;
- }
- }
-
/* Add initial resources to the bus */
resource_list_for_each_entry_safe(window, n, &resources) {
- offset = window->offset;
- res = window->res;
- if (!res->end)
- continue;
-
list_move_tail(&window->node, &bridge->windows);
+ offset = window->offset;
+ res = window->res;
if (res->flags & IORESOURCE_BUS)
pci_bus_insert_busn_res(bus, bus->number, res->end);
@@ -0,0 +1,41 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Ilya Dryomov <idryomov@gmail.com>
Date: Fri, 3 May 2019 17:27:03 +0200
Subject: [PATCH] rbd: don't assert on writes to snapshots
The check added in commit 721c7fc701c7 ("block: fail op_is_write()
requests to read-only partitions") was lifted in commit a32e236eb93e
("Partially revert "block: fail op_is_write() requests to read-only
partitions""). Basic things like user triggered writes and discards
are still caught, but internal kernel users can submit anything. In
particular, ext4 will attempt to write to the superblock if it detects
errors in the filesystem, even if the filesystem is mounted read-only
on a read-only partition.
The assert is overkill regardless.
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
---
drivers/block/rbd.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
index 1e92b61d0bd5..339cdd4062bb 100644
--- a/drivers/block/rbd.c
+++ b/drivers/block/rbd.c
@@ -3664,8 +3664,12 @@ static void rbd_queue_workfn(struct work_struct *work)
goto err_rq;
}
- rbd_assert(op_type == OBJ_OP_READ ||
- rbd_dev->spec->snap_id == CEPH_NOSNAP);
+ if (op_type != OBJ_OP_READ && rbd_dev->spec->snap_id != CEPH_NOSNAP) {
+ rbd_warn(rbd_dev, "%s on read-only snapshot",
+ obj_op_name(op_type));
+ result = -EIO;
+ goto err;
+ }
/*
* Quit early if the mapped snapshot no longer exists. It's
@@ -1,113 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Kai-Heng Feng <kai.heng.feng@canonical.com>
Date: Tue, 13 Jul 2021 20:50:07 +0800
Subject: [PATCH] PCI: Reinstate "PCI: Coalesce host bridge contiguous
apertures"
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Built-in graphics on HP EliteDesk 805 G6 doesn't work because graphics
can't get the BAR it needs:
pci_bus 0000:00: root bus resource [mem 0x10020200000-0x100303fffff window]
pci_bus 0000:00: root bus resource [mem 0x10030400000-0x100401fffff window]
pci 0000:00:08.1: bridge window [mem 0xd2000000-0xd23fffff]
pci 0000:00:08.1: bridge window [mem 0x10030000000-0x100401fffff 64bit pref]
pci 0000:00:08.1: can't claim BAR 15 [mem 0x10030000000-0x100401fffff 64bit pref]: no compatible bridge window
pci 0000:00:08.1: [mem 0x10030000000-0x100401fffff 64bit pref] clipped to [mem 0x10030000000-0x100303fffff 64bit pref]
pci 0000:00:08.1: bridge window [mem 0x10030000000-0x100303fffff 64bit pref]
pci 0000:07:00.0: can't claim BAR 0 [mem 0x10030000000-0x1003fffffff 64bit pref]: no compatible bridge window
pci 0000:07:00.0: can't claim BAR 2 [mem 0x10040000000-0x100401fffff 64bit pref]: no compatible bridge window
However, the root bus has two contiguous apertures that can contain the
child resource requested.
Coalesce contiguous apertures so we can allocate from the entire contiguous
region.
This is the second take of commit 65db04053efe ("PCI: Coalesce host
bridge contiguous apertures"). The original approach sorts the apertures
by address, but that makes NVMe stop working on QEMU ppc:sam460ex:
PCI host bridge to bus 0002:00
pci_bus 0002:00: root bus resource [io 0x0000-0xffff]
pci_bus 0002:00: root bus resource [mem 0xd80000000-0xdffffffff] (bus address [0x80000000-0xffffffff])
pci_bus 0002:00: root bus resource [mem 0xc0ee00000-0xc0eefffff] (bus address [0x00000000-0x000fffff])
After the offending commit:
PCI host bridge to bus 0002:00
pci_bus 0002:00: root bus resource [io 0x0000-0xffff]
pci_bus 0002:00: root bus resource [mem 0xc0ee00000-0xc0eefffff] (bus address [0x00000000-0x000fffff])
pci_bus 0002:00: root bus resource [mem 0xd80000000-0xdffffffff] (bus address [0x80000000-0xffffffff])
Since the apertures on HP EliteDesk 805 G6 are already in ascending
order, doing a precautious sorting is not necessary.
Remove the sorting part to avoid the regression on ppc:sam460ex.
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=212013
Cc: Guenter Roeck <linux@roeck-us.net>
Suggested-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
---
drivers/pci/probe.c | 33 ++++++++++++++++++++++++++++-----
1 file changed, 28 insertions(+), 5 deletions(-)
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index b38a345c5df6..485167ca62a1 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -877,11 +877,11 @@ static void pci_set_bus_msi_domain(struct pci_bus *bus)
static int pci_register_host_bridge(struct pci_host_bridge *bridge)
{
struct device *parent = bridge->dev.parent;
- struct resource_entry *window, *n;
+ struct resource_entry *window, *next, *n;
struct pci_bus *bus, *b;
- resource_size_t offset;
+ resource_size_t offset, next_offset;
LIST_HEAD(resources);
- struct resource *res;
+ struct resource *res, *next_res;
char addr[64], *fmt;
const char *name;
int err;
@@ -961,11 +961,34 @@ static int pci_register_host_bridge(struct pci_host_bridge *bridge)
if (nr_node_ids > 1 && pcibus_to_node(bus) == NUMA_NO_NODE)
dev_warn(&bus->dev, "Unknown NUMA node; performance will be reduced\n");
+ /* Coalesce contiguous windows */
+ resource_list_for_each_entry_safe(window, n, &resources) {
+ if (list_is_last(&window->node, &resources))
+ break;
+
+ next = list_next_entry(window, node);
+ offset = window->offset;
+ res = window->res;
+ next_offset = next->offset;
+ next_res = next->res;
+
+ if (res->flags != next_res->flags || offset != next_offset)
+ continue;
+
+ if (res->end + 1 == next_res->start) {
+ next_res->start = res->start;
+ res->flags = res->start = res->end = 0;
+ }
+ }
+
/* Add initial resources to the bus */
resource_list_for_each_entry_safe(window, n, &resources) {
+ offset = window->offset;
+ res = window->res;
+ if (!res->end)
+ continue;
+
list_move_tail(&window->node, &bridge->windows);
- offset = window->offset;
- res = window->res;
if (res->flags & IORESOURCE_BUS)
pci_bus_insert_busn_res(bus, bus->number, res->end);
@@ -0,0 +1,103 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Thomas Lamprecht <t.lamprecht@proxmox.com>
Date: Wed, 3 Apr 2019 18:41:50 +0200
Subject: [PATCH] x86/fpu: backport copy_kernel_to_XYZ_err helpers
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
partial cherry-pick from upstream 5.2 "86/fpu: Restore from kernel
memory on the 64-bit path too"
commit 926b21f37b072ae4c117052de45a975c6d468fec
Author: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Namely, only backport the added helpers, none of the semantic changes.
relevant parts of the original commit message:
> In order to avoid that mess, copy the FPU state from userland, validate
> it and then load it. The copy_kernel_…() helpers are basically just
> like the old helpers except that they operate on kernel memory and the
> fault handler just sets the error value and the caller handles it.
Link: https://lkml.kernel.org/r/20190403164156.19645-22-bigeasy@linutronix.de
(partial cherry picked from commit 926b21f37b072ae4c117052de45a975c6d468fec)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
---
arch/x86/include/asm/fpu/internal.h | 43 +++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)
diff --git a/arch/x86/include/asm/fpu/internal.h b/arch/x86/include/asm/fpu/internal.h
index fa2c93cb42a2..f3193ab0a2fb 100644
--- a/arch/x86/include/asm/fpu/internal.h
+++ b/arch/x86/include/asm/fpu/internal.h
@@ -122,6 +122,21 @@ extern void fpstate_sanitize_xstate(struct fpu *fpu);
err; \
})
+#define kernel_insn_err(insn, output, input...) \
+({ \
+ int err; \
+ asm volatile("1:" #insn "\n\t" \
+ "2:\n" \
+ ".section .fixup,\"ax\"\n" \
+ "3: movl $-1,%[err]\n" \
+ " jmp 2b\n" \
+ ".previous\n" \
+ _ASM_EXTABLE(1b, 3b) \
+ : [err] "=r" (err), output \
+ : "0"(0), input); \
+ err; \
+})
+
#define kernel_insn(insn, output, input...) \
asm volatile("1:" #insn "\n\t" \
"2:\n" \
@@ -158,6 +173,14 @@ static inline void copy_kernel_to_fxregs(struct fxregs_state *fx)
}
}
+static inline int copy_kernel_to_fxregs_err(struct fxregs_state *fx)
+{
+ if (IS_ENABLED(CONFIG_X86_32))
+ return kernel_insn_err(fxrstor %[fx], "=m" (*fx), [fx] "m" (*fx));
+ else
+ return kernel_insn_err(fxrstorq %[fx], "=m" (*fx), [fx] "m" (*fx));
+}
+
static inline int copy_user_to_fxregs(struct fxregs_state __user *fx)
{
if (IS_ENABLED(CONFIG_X86_32))
@@ -175,6 +198,11 @@ static inline void copy_kernel_to_fregs(struct fregs_state *fx)
kernel_insn(frstor %[fx], "=m" (*fx), [fx] "m" (*fx));
}
+static inline int copy_kernel_to_fregs_err(struct fregs_state *fx)
+{
+ return kernel_insn_err(frstor %[fx], "=m" (*fx), [fx] "m" (*fx));
+}
+
static inline int copy_user_to_fregs(struct fregs_state __user *fx)
{
return user_insn(frstor %[fx], "=m" (*fx), [fx] "m" (*fx));
@@ -400,6 +428,21 @@ static inline int copy_user_to_xregs(struct xregs_state __user *buf, u64 mask)
return err;
}
+/*
+ * Restore xstate from kernel space xsave area, return an error code instead of
+ * an exception.
+ */
+static inline int copy_kernel_to_xregs_err(struct xregs_state *xstate, u64 mask)
+{
+ u32 lmask = mask;
+ u32 hmask = mask >> 32;
+ int err;
+
+ XSTATE_OP(XRSTOR, xstate, lmask, hmask, err);
+
+ return err;
+}
+
/*
* These must be called with preempt disabled. Returns
* 'true' if the FPU state is still intact and we can
@@ -0,0 +1,105 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Paolo Bonzini <pbonzini@redhat.com>
Date: Thu, 6 Jun 2019 18:52:44 +0200
Subject: [PATCH] KVM: x86: introduce is_pae_paging
Checking for 32-bit PAE is quite common around code that fiddles with
the PDPTRs. Add a function to compress all checks into a single
invocation.
Reviewed-by: Sean Christopherson <sean.j.christopherson@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
(cherry picked from commit bf03d4f9334728bf7c8ffc7de787df48abd6340e)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
---
arch/x86/kvm/vmx/nested.c | 3 +--
arch/x86/kvm/vmx/vmx.c | 4 ++--
arch/x86/kvm/x86.c | 8 ++++----
arch/x86/kvm/x86.h | 5 +++++
4 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/arch/x86/kvm/vmx/nested.c b/arch/x86/kvm/vmx/nested.c
index d7c52e748966..7bb5801b5e11 100644
--- a/arch/x86/kvm/vmx/nested.c
+++ b/arch/x86/kvm/vmx/nested.c
@@ -944,8 +944,7 @@ static int nested_vmx_load_cr3(struct kvm_vcpu *vcpu, unsigned long cr3, bool ne
* If PAE paging and EPT are both on, CR3 is not used by the CPU and
* must not be dereferenced.
*/
- if (!is_long_mode(vcpu) && is_pae(vcpu) && is_paging(vcpu) &&
- !nested_ept) {
+ if (is_pae_paging(vcpu) && !nested_ept) {
if (!load_pdptrs(vcpu, vcpu->arch.walk_mmu, cr3)) {
*entry_failure_code = ENTRY_FAIL_PDPTE;
return 1;
diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index 835edf9b2954..86c5ab3728ac 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -2729,7 +2729,7 @@ static void ept_load_pdptrs(struct kvm_vcpu *vcpu)
(unsigned long *)&vcpu->arch.regs_dirty))
return;
- if (is_paging(vcpu) && is_pae(vcpu) && !is_long_mode(vcpu)) {
+ if (is_pae_paging(vcpu)) {
vmcs_write64(GUEST_PDPTR0, mmu->pdptrs[0]);
vmcs_write64(GUEST_PDPTR1, mmu->pdptrs[1]);
vmcs_write64(GUEST_PDPTR2, mmu->pdptrs[2]);
@@ -2741,7 +2741,7 @@ void ept_save_pdptrs(struct kvm_vcpu *vcpu)
{
struct kvm_mmu *mmu = vcpu->arch.walk_mmu;
- if (is_paging(vcpu) && is_pae(vcpu) && !is_long_mode(vcpu)) {
+ if (is_pae_paging(vcpu)) {
mmu->pdptrs[0] = vmcs_read64(GUEST_PDPTR0);
mmu->pdptrs[1] = vmcs_read64(GUEST_PDPTR1);
mmu->pdptrs[2] = vmcs_read64(GUEST_PDPTR2);
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index eed14def2a6b..c69f12af5c01 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -725,7 +725,7 @@ bool pdptrs_changed(struct kvm_vcpu *vcpu)
gfn_t gfn;
int r;
- if (is_long_mode(vcpu) || !is_pae(vcpu) || !is_paging(vcpu))
+ if (!is_pae_paging(vcpu))
return false;
if (!test_bit(VCPU_EXREG_PDPTR,
@@ -968,8 +968,8 @@ int kvm_set_cr3(struct kvm_vcpu *vcpu, unsigned long cr3)
if (is_long_mode(vcpu) &&
(cr3 & rsvd_bits(cpuid_maxphyaddr(vcpu), 63)))
return 1;
- else if (is_pae(vcpu) && is_paging(vcpu) &&
- !load_pdptrs(vcpu, vcpu->arch.walk_mmu, cr3))
+ else if (is_pae_paging(vcpu) &&
+ !load_pdptrs(vcpu, vcpu->arch.walk_mmu, cr3))
return 1;
kvm_mmu_new_cr3(vcpu, cr3, skip_tlb_flush);
@@ -8590,7 +8590,7 @@ static int __set_sregs(struct kvm_vcpu *vcpu, struct kvm_sregs *sregs)
kvm_update_cpuid(vcpu);
idx = srcu_read_lock(&vcpu->kvm->srcu);
- if (!is_long_mode(vcpu) && is_pae(vcpu) && is_paging(vcpu)) {
+ if (is_pae_paging(vcpu)) {
load_pdptrs(vcpu, vcpu->arch.walk_mmu, kvm_read_cr3(vcpu));
mmu_reset_needed = 1;
}
diff --git a/arch/x86/kvm/x86.h b/arch/x86/kvm/x86.h
index 7e89ed889707..03de3f3c830c 100644
--- a/arch/x86/kvm/x86.h
+++ b/arch/x86/kvm/x86.h
@@ -139,6 +139,11 @@ static inline int is_paging(struct kvm_vcpu *vcpu)
return likely(kvm_read_cr0_bits(vcpu, X86_CR0_PG));
}
+static inline bool is_pae_paging(struct kvm_vcpu *vcpu)
+{
+ return !is_long_mode(vcpu) && is_pae(vcpu) && is_paging(vcpu);
+}
+
static inline u32 bit(int bitno)
{
return 1 << (bitno & 31);
@@ -1,418 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jens Axboe <axboe@kernel.dk>
Date: Tue, 31 Aug 2021 13:57:32 -0600
Subject: [PATCH] io-wq: split bounded and unbounded work into separate lists
We've got a few issues that all boil down to the fact that we have one
list of pending work items, yet two different types of workers to
serve them. This causes some oddities around workers switching type and
even hashed work vs regular work on the same bounded list.
Just separate them out cleanly, similarly to how we already do
accounting of what is running. That provides a clean separation and
removes some corner cases that can cause stalls when handling IO
that is punted to io-wq.
Fixes: ecc53c48c13d ("io-wq: check max_worker limits if a worker transitions bound state")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
[backport]
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
---
fs/io-wq.c | 160 +++++++++++++++++++++++------------------------------
1 file changed, 70 insertions(+), 90 deletions(-)
diff --git a/fs/io-wq.c b/fs/io-wq.c
index ba7aaf2b95d0..6710da3d4445 100644
--- a/fs/io-wq.c
+++ b/fs/io-wq.c
@@ -34,7 +34,7 @@ enum {
};
enum {
- IO_WQE_FLAG_STALLED = 1, /* stalled on hash */
+ IO_ACCT_STALLED_BIT = 0, /* stalled on hash */
};
/*
@@ -73,26 +73,25 @@ struct io_wqe_acct {
unsigned max_workers;
int index;
atomic_t nr_running;
+ struct io_wq_work_list work_list;
+ unsigned long flags;
};
enum {
IO_WQ_ACCT_BOUND,
IO_WQ_ACCT_UNBOUND,
+ IO_WQ_ACCT_NR,
};
/*
* Per-node worker thread pool
*/
struct io_wqe {
- struct {
- raw_spinlock_t lock;
- struct io_wq_work_list work_list;
- unsigned flags;
- } ____cacheline_aligned_in_smp;
-
- int node;
+ raw_spinlock_t lock;
struct io_wqe_acct acct[2];
+ int node;
+
struct hlist_nulls_head free_list;
struct list_head all_list;
@@ -196,11 +195,10 @@ static void io_worker_exit(struct io_worker *worker)
do_exit(0);
}
-static inline bool io_wqe_run_queue(struct io_wqe *wqe)
- __must_hold(wqe->lock)
+static inline bool io_acct_run_queue(struct io_wqe_acct *acct)
{
- if (!wq_list_empty(&wqe->work_list) &&
- !(wqe->flags & IO_WQE_FLAG_STALLED))
+ if (!wq_list_empty(&acct->work_list) &&
+ !test_bit(IO_ACCT_STALLED_BIT, &acct->flags))
return true;
return false;
}
@@ -209,7 +207,8 @@ static inline bool io_wqe_run_queue(struct io_wqe *wqe)
* Check head of free list for an available worker. If one isn't available,
* caller must create one.
*/
-static bool io_wqe_activate_free_worker(struct io_wqe *wqe)
+static bool io_wqe_activate_free_worker(struct io_wqe *wqe,
+ struct io_wqe_acct *acct)
__must_hold(RCU)
{
struct hlist_nulls_node *n;
@@ -223,6 +222,10 @@ static bool io_wqe_activate_free_worker(struct io_wqe *wqe)
hlist_nulls_for_each_entry_rcu(worker, n, &wqe->free_list, nulls_node) {
if (!io_worker_get(worker))
continue;
+ if (io_wqe_get_acct(worker) != acct) {
+ io_worker_release(worker);
+ continue;
+ }
if (wake_up_process(worker->task)) {
io_worker_release(worker);
return true;
@@ -341,7 +344,7 @@ static void io_wqe_dec_running(struct io_worker *worker)
if (!(worker->flags & IO_WORKER_F_UP))
return;
- if (atomic_dec_and_test(&acct->nr_running) && io_wqe_run_queue(wqe)) {
+ if (atomic_dec_and_test(&acct->nr_running) && io_acct_run_queue(acct)) {
atomic_inc(&acct->nr_running);
atomic_inc(&wqe->wq->worker_refs);
io_queue_worker_create(wqe, worker, acct);
@@ -356,29 +359,10 @@ static void __io_worker_busy(struct io_wqe *wqe, struct io_worker *worker,
struct io_wq_work *work)
__must_hold(wqe->lock)
{
- bool worker_bound, work_bound;
-
- BUILD_BUG_ON((IO_WQ_ACCT_UNBOUND ^ IO_WQ_ACCT_BOUND) != 1);
-
if (worker->flags & IO_WORKER_F_FREE) {
worker->flags &= ~IO_WORKER_F_FREE;
hlist_nulls_del_init_rcu(&worker->nulls_node);
}
-
- /*
- * If worker is moving from bound to unbound (or vice versa), then
- * ensure we update the running accounting.
- */
- worker_bound = (worker->flags & IO_WORKER_F_BOUND) != 0;
- work_bound = (work->flags & IO_WQ_WORK_UNBOUND) == 0;
- if (worker_bound != work_bound) {
- int index = work_bound ? IO_WQ_ACCT_UNBOUND : IO_WQ_ACCT_BOUND;
- io_wqe_dec_running(worker);
- worker->flags ^= IO_WORKER_F_BOUND;
- wqe->acct[index].nr_workers--;
- wqe->acct[index ^ 1].nr_workers++;
- io_wqe_inc_running(worker);
- }
}
/*
@@ -420,44 +404,23 @@ static bool io_wait_on_hash(struct io_wqe *wqe, unsigned int hash)
return ret;
}
-/*
- * We can always run the work if the worker is currently the same type as
- * the work (eg both are bound, or both are unbound). If they are not the
- * same, only allow it if incrementing the worker count would be allowed.
- */
-static bool io_worker_can_run_work(struct io_worker *worker,
- struct io_wq_work *work)
-{
- struct io_wqe_acct *acct;
-
- if (!(worker->flags & IO_WORKER_F_BOUND) !=
- !(work->flags & IO_WQ_WORK_UNBOUND))
- return true;
-
- /* not the same type, check if we'd go over the limit */
- acct = io_work_get_acct(worker->wqe, work);
- return acct->nr_workers < acct->max_workers;
-}
-
-static struct io_wq_work *io_get_next_work(struct io_wqe *wqe,
+static struct io_wq_work *io_get_next_work(struct io_wqe_acct *acct,
struct io_worker *worker)
__must_hold(wqe->lock)
{
struct io_wq_work_node *node, *prev;
struct io_wq_work *work, *tail;
unsigned int stall_hash = -1U;
+ struct io_wqe *wqe = worker->wqe;
- wq_list_for_each(node, prev, &wqe->work_list) {
+ wq_list_for_each(node, prev, &acct->work_list) {
unsigned int hash;
work = container_of(node, struct io_wq_work, list);
- if (!io_worker_can_run_work(worker, work))
- break;
-
/* not hashed, can run anytime */
if (!io_wq_is_hashed(work)) {
- wq_list_del(&wqe->work_list, node, prev);
+ wq_list_del(&acct->work_list, node, prev);
return work;
}
@@ -468,7 +431,7 @@ static struct io_wq_work *io_get_next_work(struct io_wqe *wqe,
/* hashed, can run if not already running */
if (!test_and_set_bit(hash, &wqe->wq->hash->map)) {
wqe->hash_tail[hash] = NULL;
- wq_list_cut(&wqe->work_list, &tail->list, prev);
+ wq_list_cut(&acct->work_list, &tail->list, prev);
return work;
}
if (stall_hash == -1U)
@@ -484,12 +447,12 @@ static struct io_wq_work *io_get_next_work(struct io_wqe *wqe,
* Set this before dropping the lock to avoid racing with new
* work being added and clearing the stalled bit.
*/
- wqe->flags |= IO_WQE_FLAG_STALLED;
+ set_bit(IO_ACCT_STALLED_BIT, &acct->flags);
raw_spin_unlock(&wqe->lock);
unstalled = io_wait_on_hash(wqe, stall_hash);
raw_spin_lock(&wqe->lock);
if (unstalled) {
- wqe->flags &= ~IO_WQE_FLAG_STALLED;
+ clear_bit(IO_ACCT_STALLED_BIT, &acct->flags);
if (wq_has_sleeper(&wqe->wq->hash->wait))
wake_up(&wqe->wq->hash->wait);
}
@@ -526,6 +489,7 @@ static void io_wqe_enqueue(struct io_wqe *wqe, struct io_wq_work *work);
static void io_worker_handle_work(struct io_worker *worker)
__releases(wqe->lock)
{
+ struct io_wqe_acct *acct = io_wqe_get_acct(worker);
struct io_wqe *wqe = worker->wqe;
struct io_wq *wq = wqe->wq;
bool do_kill = test_bit(IO_WQ_BIT_EXIT, &wq->state);
@@ -540,7 +504,7 @@ static void io_worker_handle_work(struct io_worker *worker)
* can't make progress, any work completion or insertion will
* clear the stalled flag.
*/
- work = io_get_next_work(wqe, worker);
+ work = io_get_next_work(acct, worker);
if (work)
__io_worker_busy(wqe, worker, work);
@@ -576,7 +540,7 @@ static void io_worker_handle_work(struct io_worker *worker)
/* serialize hash clear with wake_up() */
spin_lock_irq(&wq->hash->wait.lock);
clear_bit(hash, &wq->hash->map);
- wqe->flags &= ~IO_WQE_FLAG_STALLED;
+ clear_bit(IO_ACCT_STALLED_BIT, &acct->flags);
spin_unlock_irq(&wq->hash->wait.lock);
if (wq_has_sleeper(&wq->hash->wait))
wake_up(&wq->hash->wait);
@@ -595,6 +559,7 @@ static void io_worker_handle_work(struct io_worker *worker)
static int io_wqe_worker(void *data)
{
struct io_worker *worker = data;
+ struct io_wqe_acct *acct = io_wqe_get_acct(worker);
struct io_wqe *wqe = worker->wqe;
struct io_wq *wq = wqe->wq;
char buf[TASK_COMM_LEN];
@@ -610,7 +575,7 @@ static int io_wqe_worker(void *data)
set_current_state(TASK_INTERRUPTIBLE);
loop:
raw_spin_lock_irq(&wqe->lock);
- if (io_wqe_run_queue(wqe)) {
+ if (io_acct_run_queue(acct)) {
io_worker_handle_work(worker);
goto loop;
}
@@ -636,7 +601,7 @@ static int io_wqe_worker(void *data)
if (test_bit(IO_WQ_BIT_EXIT, &wq->state)) {
raw_spin_lock_irq(&wqe->lock);
- if (!wq_list_empty(&wqe->work_list))
+ if (!wq_list_empty(&acct->work_list))
io_worker_handle_work(worker);
else
raw_spin_unlock_irq(&wqe->lock);
@@ -782,12 +747,13 @@ static void io_run_cancel(struct io_wq_work *work, struct io_wqe *wqe)
static void io_wqe_insert_work(struct io_wqe *wqe, struct io_wq_work *work)
{
+ struct io_wqe_acct *acct = io_work_get_acct(wqe, work);
unsigned int hash;
struct io_wq_work *tail;
if (!io_wq_is_hashed(work)) {
append:
- wq_list_add_tail(&work->list, &wqe->work_list);
+ wq_list_add_tail(&work->list, &acct->work_list);
return;
}
@@ -797,7 +763,7 @@ static void io_wqe_insert_work(struct io_wqe *wqe, struct io_wq_work *work)
if (!tail)
goto append;
- wq_list_add_after(&work->list, &tail->list, &wqe->work_list);
+ wq_list_add_after(&work->list, &tail->list, &acct->work_list);
}
static void io_wqe_enqueue(struct io_wqe *wqe, struct io_wq_work *work)
@@ -819,10 +785,10 @@ static void io_wqe_enqueue(struct io_wqe *wqe, struct io_wq_work *work)
raw_spin_lock_irqsave(&wqe->lock, flags);
io_wqe_insert_work(wqe, work);
- wqe->flags &= ~IO_WQE_FLAG_STALLED;
+ clear_bit(IO_ACCT_STALLED_BIT, &acct->flags);
rcu_read_lock();
- do_create = !io_wqe_activate_free_worker(wqe);
+ do_create = !io_wqe_activate_free_worker(wqe, acct);
rcu_read_unlock();
raw_spin_unlock_irqrestore(&wqe->lock, flags);
@@ -875,6 +841,7 @@ static inline void io_wqe_remove_pending(struct io_wqe *wqe,
struct io_wq_work *work,
struct io_wq_work_node *prev)
{
+ struct io_wqe_acct *acct = io_work_get_acct(wqe, work);
unsigned int hash = io_get_work_hash(work);
struct io_wq_work *prev_work = NULL;
@@ -886,7 +853,7 @@ static inline void io_wqe_remove_pending(struct io_wqe *wqe,
else
wqe->hash_tail[hash] = NULL;
}
- wq_list_del(&wqe->work_list, &work->list, prev);
+ wq_list_del(&acct->work_list, &work->list, prev);
}
static void io_wqe_cancel_pending_work(struct io_wqe *wqe,
@@ -895,22 +862,27 @@ static void io_wqe_cancel_pending_work(struct io_wqe *wqe,
struct io_wq_work_node *node, *prev;
struct io_wq_work *work;
unsigned long flags;
+ int i;
retry:
raw_spin_lock_irqsave(&wqe->lock, flags);
- wq_list_for_each(node, prev, &wqe->work_list) {
- work = container_of(node, struct io_wq_work, list);
- if (!match->fn(work, match->data))
- continue;
- io_wqe_remove_pending(wqe, work, prev);
- raw_spin_unlock_irqrestore(&wqe->lock, flags);
- io_run_cancel(work, wqe);
- match->nr_pending++;
- if (!match->cancel_all)
- return;
+ for (i = 0; i < IO_WQ_ACCT_NR; i++) {
+ struct io_wqe_acct *acct = io_get_acct(wqe, i == 0);
- /* not safe to continue after unlock */
- goto retry;
+ wq_list_for_each(node, prev, &acct->work_list) {
+ work = container_of(node, struct io_wq_work, list);
+ if (!match->fn(work, match->data))
+ continue;
+ io_wqe_remove_pending(wqe, work, prev);
+ raw_spin_unlock_irqrestore(&wqe->lock, flags);
+ io_run_cancel(work, wqe);
+ match->nr_pending++;
+ if (!match->cancel_all)
+ return;
+
+ /* not safe to continue after unlock */
+ goto retry;
+ }
}
raw_spin_unlock_irqrestore(&wqe->lock, flags);
}
@@ -971,18 +943,24 @@ static int io_wqe_hash_wake(struct wait_queue_entry *wait, unsigned mode,
int sync, void *key)
{
struct io_wqe *wqe = container_of(wait, struct io_wqe, wait);
+ int i;
list_del_init(&wait->entry);
rcu_read_lock();
- io_wqe_activate_free_worker(wqe);
+ for (i = 0; i < IO_WQ_ACCT_NR; i++) {
+ struct io_wqe_acct *acct = &wqe->acct[i];
+
+ if (test_and_clear_bit(IO_ACCT_STALLED_BIT, &acct->flags))
+ io_wqe_activate_free_worker(wqe, acct);
+ }
rcu_read_unlock();
return 1;
}
struct io_wq *io_wq_create(unsigned bounded, struct io_wq_data *data)
{
- int ret = -ENOMEM, node;
+ int ret, node, i;
struct io_wq *wq;
if (WARN_ON_ONCE(!data->free_work || !data->do_work))
@@ -1019,18 +997,20 @@ struct io_wq *io_wq_create(unsigned bounded, struct io_wq_data *data)
goto err;
wq->wqes[node] = wqe;
wqe->node = alloc_node;
- wqe->acct[IO_WQ_ACCT_BOUND].index = IO_WQ_ACCT_BOUND;
- wqe->acct[IO_WQ_ACCT_UNBOUND].index = IO_WQ_ACCT_UNBOUND;
wqe->acct[IO_WQ_ACCT_BOUND].max_workers = bounded;
- atomic_set(&wqe->acct[IO_WQ_ACCT_BOUND].nr_running, 0);
wqe->acct[IO_WQ_ACCT_UNBOUND].max_workers =
task_rlimit(current, RLIMIT_NPROC);
- atomic_set(&wqe->acct[IO_WQ_ACCT_UNBOUND].nr_running, 0);
- wqe->wait.func = io_wqe_hash_wake;
INIT_LIST_HEAD(&wqe->wait.entry);
+ wqe->wait.func = io_wqe_hash_wake;
+ for (i = 0; i < IO_WQ_ACCT_NR; i++) {
+ struct io_wqe_acct *acct = &wqe->acct[i];
+
+ acct->index = i;
+ atomic_set(&acct->nr_running, 0);
+ INIT_WQ_LIST(&acct->work_list);
+ }
wqe->wq = wq;
raw_spin_lock_init(&wqe->lock);
- INIT_WQ_LIST(&wqe->work_list);
INIT_HLIST_NULLS_HEAD(&wqe->free_list, 0);
INIT_LIST_HEAD(&wqe->all_list);
}
@@ -1,28 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com>
Date: Thu, 14 Sep 2017 11:09:58 +0200
Subject: [PATCH] do not generate split BTF type info per default
This reverts commit a8ed1a0607cfa5478ff6009539f44790c4d0956d.
It breaks ZFS sometimes:
https://github.com/openzfs/zfs/issues/12301#issuecomment-873303739
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
---
lib/Kconfig.debug | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 25dc20175bba..7ff51a3f65e6 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -314,7 +314,7 @@ config PAHOLE_HAS_SPLIT_BTF
def_bool $(success, test `$(PAHOLE) --version | sed -E 's/v([0-9]+)\.([0-9]+)/\1\2/'` -ge "119")
config DEBUG_INFO_BTF_MODULES
- def_bool y
+ def_bool n
depends on DEBUG_INFO_BTF && MODULES && PAHOLE_HAS_SPLIT_BTF
help
Generate compact split BTF type information for kernel modules.
@@ -1,90 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Paolo Bonzini <pbonzini@redhat.com>
Date: Mon, 22 Nov 2021 19:43:09 -0500
Subject: [PATCH] KVM: VMX: prepare sync_pir_to_irr for running with APICv
disabled
If APICv is disabled for this vCPU, assigned devices may still attempt to
post interrupts. In that case, we need to cancel the vmentry and deliver
the interrupt with KVM_REQ_EVENT. Extend the existing code that handles
injection of L1 interrupts into L2 to cover this case as well.
vmx_hwapic_irr_update is only called when APICv is active so it would be
confusing to add a check for vcpu->arch.apicv_active in there. Instead,
just use vmx_set_rvi directly in vmx_sync_pir_to_irr.
Cc: stable@vger.kernel.org
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Reviewed-by: David Matlack <dmatlack@google.com>
Reviewed-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20211123004311.2954158-3-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
(cherry picked from commit 7e1901f6c86c896acff6609e0176f93f756d8b2a)
[ T: reused WARN instead of newer KVM_BUG_ON for minimal change ]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
---
arch/x86/kvm/vmx/vmx.c | 39 +++++++++++++++++++++++++--------------
1 file changed, 25 insertions(+), 14 deletions(-)
diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index fc6fbaba1cb5..2f6db087e243 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -6331,9 +6331,9 @@ static int vmx_sync_pir_to_irr(struct kvm_vcpu *vcpu)
{
struct vcpu_vmx *vmx = to_vmx(vcpu);
int max_irr;
- bool max_irr_updated;
+ bool got_posted_interrupt;
- WARN_ON(!vcpu->arch.apicv_active);
+ WARN_ON(!enable_apicv);
if (pi_test_on(&vmx->pi_desc)) {
pi_clear_on(&vmx->pi_desc);
/*
@@ -6341,22 +6341,33 @@ static int vmx_sync_pir_to_irr(struct kvm_vcpu *vcpu)
* But on x86 this is just a compiler barrier anyway.
*/
smp_mb__after_atomic();
- max_irr_updated =
+ got_posted_interrupt =
kvm_apic_update_irr(vcpu, vmx->pi_desc.pir, &max_irr);
-
- /*
- * If we are running L2 and L1 has a new pending interrupt
- * which can be injected, this may cause a vmexit or it may
- * be injected into L2. Either way, this interrupt will be
- * processed via KVM_REQ_EVENT, not RVI, because we do not use
- * virtual interrupt delivery to inject L1 interrupts into L2.
- */
- if (is_guest_mode(vcpu) && max_irr_updated)
- kvm_make_request(KVM_REQ_EVENT, vcpu);
} else {
max_irr = kvm_lapic_find_highest_irr(vcpu);
+ got_posted_interrupt = false;
}
- vmx_hwapic_irr_update(vcpu, max_irr);
+
+ /*
+ * Newly recognized interrupts are injected via either virtual interrupt
+ * delivery (RVI) or KVM_REQ_EVENT. Virtual interrupt delivery is
+ * disabled in two cases:
+ *
+ * 1) If L2 is running and the vCPU has a new pending interrupt. If L1
+ * wants to exit on interrupts, KVM_REQ_EVENT is needed to synthesize a
+ * VM-Exit to L1. If L1 doesn't want to exit, the interrupt is injected
+ * into L2, but KVM doesn't use virtual interrupt delivery to inject
+ * interrupts into L2, and so KVM_REQ_EVENT is again needed.
+ *
+ * 2) If APICv is disabled for this vCPU, assigned devices may still
+ * attempt to post interrupts. The posted interrupt vector will cause
+ * a VM-Exit and the subsequent entry will call sync_pir_to_irr.
+ */
+ if (!is_guest_mode(vcpu) && kvm_vcpu_apicv_active(vcpu))
+ vmx_set_rvi(max_irr);
+ else if (got_posted_interrupt)
+ kvm_make_request(KVM_REQ_EVENT, vcpu);
+
return max_irr;
}