Compare commits
32 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
0efbac606f
|
|||
|
b4ae408730
|
|||
|
0c8c3b6426
|
|||
|
7be5aa1c0c
|
|||
|
c980a0bb1d
|
|||
|
37ee4a2cb3
|
|||
|
62c378789f
|
|||
|
0b2b9d94cb
|
|||
|
0034ac31ff
|
|||
|
9bc0e99d58
|
|||
|
e963cdcc08
|
|||
|
c86dd92986
|
|||
|
cd7c42fa58
|
|||
|
458b2bd06b
|
|||
|
aed880954c
|
|||
|
b3166a7254
|
|||
|
97c120d05c
|
|||
|
f10dc16880
|
|||
|
35dab4914d
|
|||
|
08796d96fc
|
|||
|
7f90b04847
|
|||
|
642e6073ae
|
|||
| 3b923599d9 | |||
| 7b21dc9155 | |||
| 04834cc60e | |||
| 3604ba30ea | |||
| 77af8d24c4 | |||
| 8b2b863fa7 | |||
| 19a6e1a733 | |||
| b2bfaa4f32 | |||
| 159611cef0 | |||
| 64439d549f |
+5
-4
@@ -1,6 +1,7 @@
|
|||||||
[submodule "submodules/zfsonlinux"]
|
|
||||||
path = submodules/zfsonlinux
|
|
||||||
url = ../zfsonlinux
|
|
||||||
[submodule "submodules/ubuntu-kernel"]
|
[submodule "submodules/ubuntu-kernel"]
|
||||||
path = submodules/ubuntu-kernel
|
path = submodules/ubuntu-kernel
|
||||||
url = ../mirror_ubuntu-kernels
|
url = https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/jammy/
|
||||||
|
branch = lowlatency-hwe-6.8-next
|
||||||
|
[submodule "submodules/zfsonlinux"]
|
||||||
|
path = submodules/zfsonlinux
|
||||||
|
url = https://git.proxmox.com/git/zfsonlinux.git
|
||||||
|
|||||||
@@ -1,20 +1,20 @@
|
|||||||
include /usr/share/dpkg/pkg-info.mk
|
include /usr/share/dpkg/pkg-info.mk
|
||||||
|
|
||||||
# also bump proxmox-kernel-meta if the default MAJ.MIN version changes!
|
# also bump qoup-kernel-meta if the default MAJ.MIN version changes!
|
||||||
KERNEL_MAJ=6
|
KERNEL_MAJ=6
|
||||||
KERNEL_MIN=8
|
KERNEL_MIN=8
|
||||||
KERNEL_PATCHLEVEL=4
|
KERNEL_PATCHLEVEL=8
|
||||||
# increment KREL for every published package release!
|
# increment KREL for every published package release!
|
||||||
# rebuild packages with new KREL and run 'make abiupdate'
|
# rebuild packages with new KREL and run 'make abiupdate'
|
||||||
KREL=4
|
KREL=2
|
||||||
|
|
||||||
KERNEL_MAJMIN=$(KERNEL_MAJ).$(KERNEL_MIN)
|
KERNEL_MAJMIN=$(KERNEL_MAJ).$(KERNEL_MIN)
|
||||||
KERNEL_VER=$(KERNEL_MAJMIN).$(KERNEL_PATCHLEVEL)
|
KERNEL_VER=$(KERNEL_MAJMIN).$(KERNEL_PATCHLEVEL)
|
||||||
|
|
||||||
EXTRAVERSION=-$(KREL)-pve
|
EXTRAVERSION=-$(KREL)-qoup
|
||||||
KVNAME=$(KERNEL_VER)$(EXTRAVERSION)
|
KVNAME=$(KERNEL_VER)$(EXTRAVERSION)
|
||||||
PACKAGE=proxmox-kernel-$(KVNAME)
|
PACKAGE=qoup-kernel-$(KVNAME)
|
||||||
HDRPACKAGE=proxmox-headers-$(KVNAME)
|
HDRPACKAGE=qoup-headers-$(KVNAME)
|
||||||
|
|
||||||
ARCH=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
|
ARCH=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
|
||||||
|
|
||||||
@@ -27,7 +27,7 @@ endif
|
|||||||
|
|
||||||
SKIPABI=0
|
SKIPABI=0
|
||||||
|
|
||||||
BUILD_DIR=proxmox-kernel-$(KERNEL_VER)
|
BUILD_DIR=qoup-kernel-$(KERNEL_VER)
|
||||||
|
|
||||||
KERNEL_SRC=ubuntu-kernel
|
KERNEL_SRC=ubuntu-kernel
|
||||||
KERNEL_SRC_SUBMODULE=submodules/$(KERNEL_SRC)
|
KERNEL_SRC_SUBMODULE=submodules/$(KERNEL_SRC)
|
||||||
@@ -42,13 +42,13 @@ MODULE_DIRS=$(ZFSDIR)
|
|||||||
# exported to debian/rules via debian/rules.d/dirs.mk
|
# exported to debian/rules via debian/rules.d/dirs.mk
|
||||||
DIRS=KERNEL_SRC ZFSDIR MODULES
|
DIRS=KERNEL_SRC ZFSDIR MODULES
|
||||||
|
|
||||||
DSC=proxmox-kernel-$(KERNEL_MAJMIN)_$(KERNEL_VER)-$(KREL).dsc
|
DSC=qoup-kernel-$(KERNEL_MAJMIN)_$(KERNEL_VER)-$(KREL).dsc
|
||||||
DST_DEB=$(PACKAGE)_$(KERNEL_VER)-$(KREL)_$(ARCH).deb
|
DST_DEB=$(PACKAGE)_$(KERNEL_VER)-$(KREL)_$(ARCH).deb
|
||||||
SIGNED_TEMPLATE_DEB=$(PACKAGE)-signed-template_$(KERNEL_VER)-$(KREL)_$(ARCH).deb
|
SIGNED_TEMPLATE_DEB=$(PACKAGE)-signed-template_$(KERNEL_VER)-$(KREL)_$(ARCH).deb
|
||||||
META_DEB=proxmox-kernel-$(KERNEL_MAJMIN)_$(KERNEL_VER)-$(KREL)_all.deb
|
META_DEB=qoup-kernel-$(KERNEL_MAJMIN)_$(KERNEL_VER)-$(KREL)_all.deb
|
||||||
HDR_DEB=$(HDRPACKAGE)_$(KERNEL_VER)-$(KREL)_$(ARCH).deb
|
HDR_DEB=$(HDRPACKAGE)_$(KERNEL_VER)-$(KREL)_$(ARCH).deb
|
||||||
META_HDR_DEB=proxmox-headers-$(KERNEL_MAJMIN)_$(KERNEL_VER)-$(KREL)_all.deb
|
META_HDR_DEB=qoup-headers-$(KERNEL_MAJMIN)_$(KERNEL_VER)-$(KREL)_all.deb
|
||||||
USR_HDR_DEB=proxmox-kernel-libc-dev_$(KERNEL_VER)-$(KREL)_$(ARCH).deb
|
USR_HDR_DEB=qoup-kernel-libc-dev_$(KERNEL_VER)-$(KREL)_$(ARCH).deb
|
||||||
LINUX_TOOLS_DEB=linux-tools-$(KERNEL_MAJMIN)_$(KERNEL_VER)-$(KREL)_$(ARCH).deb
|
LINUX_TOOLS_DEB=linux-tools-$(KERNEL_MAJMIN)_$(KERNEL_VER)-$(KREL)_$(ARCH).deb
|
||||||
LINUX_TOOLS_DBG_DEB=linux-tools-$(KERNEL_MAJMIN)-dbgsym_$(KERNEL_VER)-$(KREL)_$(ARCH).deb
|
LINUX_TOOLS_DBG_DEB=linux-tools-$(KERNEL_MAJMIN)-dbgsym_$(KERNEL_VER)-$(KREL)_$(ARCH).deb
|
||||||
|
|
||||||
@@ -167,5 +167,5 @@ abi-tmp-$(KVNAME):
|
|||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
rm -rf *~ proxmox-kernel-[0-9]*/ *.prepared $(KERNEL_CFG_ORG)
|
rm -rf *~ qoup-kernel-[0-9]*/ *.prepared $(KERNEL_CFG_ORG)
|
||||||
rm -f *.deb *.dsc *.changes *.buildinfo *.build proxmox-kernel*.tar.*
|
rm -f *.deb *.dsc *.changes *.buildinfo *.build qoup-kernel*.tar.*
|
||||||
|
|||||||
-28962
File diff suppressed because it is too large
Load Diff
+28965
File diff suppressed because it is too large
Load Diff
Vendored
+19
@@ -1,3 +1,22 @@
|
|||||||
|
proxmox-kernel-6.8 (6.8.8-2) bookworm; urgency=medium
|
||||||
|
|
||||||
|
* fix #5448: support SCSI controllers with bad VDP page length encoding again
|
||||||
|
|
||||||
|
* fix #5554: improve e1000e stability on cable reconnection
|
||||||
|
|
||||||
|
* cherry-pick "virtio-pci: Check if is_avq is NULL"
|
||||||
|
|
||||||
|
-- Proxmox Support Team <support@proxmox.com> Mon, 24 Jun 2024 11:00:48 +0200
|
||||||
|
|
||||||
|
proxmox-kernel-6.8 (6.8.8-1) bookworm; urgency=medium
|
||||||
|
|
||||||
|
* update fix for managing block flush queue list to avioid a regression with
|
||||||
|
LVM
|
||||||
|
|
||||||
|
* update sources to Ubuntu-6.8.0-38.38 based on Linux 6.8.8
|
||||||
|
|
||||||
|
-- Proxmox Support Team <support@proxmox.com> Mon, 10 Jun 2024 13:42:20 +0200
|
||||||
|
|
||||||
proxmox-kernel-6.8 (6.8.4-4) bookworm; urgency=medium
|
proxmox-kernel-6.8 (6.8.4-4) bookworm; urgency=medium
|
||||||
|
|
||||||
* update ZFS to 2.2.4
|
* update ZFS to 2.2.4
|
||||||
|
|||||||
Vendored
+14
-14
@@ -1,7 +1,7 @@
|
|||||||
Source: proxmox-kernel-@KVMAJMIN@
|
Source: qoup-kernel-@KVMAJMIN@
|
||||||
Section: devel
|
Section: devel
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Maintainer: Proxmox Support Team <support@proxmox.com>
|
Maintainer: Proxmox Support Team <support@qoup.ru>
|
||||||
Build-Depends: asciidoc-base,
|
Build-Depends: asciidoc-base,
|
||||||
automake,
|
automake,
|
||||||
bc,
|
bc,
|
||||||
@@ -32,7 +32,7 @@ Build-Depends: asciidoc-base,
|
|||||||
xmlto,
|
xmlto,
|
||||||
zlib1g-dev,
|
zlib1g-dev,
|
||||||
zstd,
|
zstd,
|
||||||
Build-Conflicts: proxmox-headers-@KVNAME@,
|
Build-Conflicts: qoup-headers-@KVNAME@,
|
||||||
Standards-Version: 4.6.2
|
Standards-Version: 4.6.2
|
||||||
Vcs-Git: git://git.proxmox.com/git/pve-kernel
|
Vcs-Git: git://git.proxmox.com/git/pve-kernel
|
||||||
Vcs-Browser: https://git.proxmox.com/?p=pve-kernel.git
|
Vcs-Browser: https://git.proxmox.com/?p=pve-kernel.git
|
||||||
@@ -46,7 +46,7 @@ Description: Linux kernel version specific tools for version @KVMAJMIN@
|
|||||||
This package provides the architecture dependent parts for kernel
|
This package provides the architecture dependent parts for kernel
|
||||||
version locked tools (such as perf and x86_energy_perf_policy)
|
version locked tools (such as perf and x86_energy_perf_policy)
|
||||||
|
|
||||||
Package: proxmox-headers-@KVNAME@
|
Package: qoup-headers-@KVNAME@
|
||||||
Section: devel
|
Section: devel
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Architecture: any
|
Architecture: any
|
||||||
@@ -55,7 +55,7 @@ Depends: ${misc:Depends},
|
|||||||
Description: Proxmox Kernel Headers
|
Description: Proxmox Kernel Headers
|
||||||
This package contains the linux kernel headers
|
This package contains the linux kernel headers
|
||||||
|
|
||||||
Package: proxmox-kernel-@KVNAME@
|
Package: qoup-kernel-@KVNAME@
|
||||||
Section: admin
|
Section: admin
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Architecture: any
|
Architecture: any
|
||||||
@@ -66,28 +66,28 @@ Recommends: grub-pc | grub-efi-amd64 | grub-efi-ia32 | grub-efi-arm64,
|
|||||||
Description: Proxmox Kernel Image
|
Description: Proxmox Kernel Image
|
||||||
This package contains the linux kernel and initial ramdisk used for booting
|
This package contains the linux kernel and initial ramdisk used for booting
|
||||||
|
|
||||||
Package: proxmox-kernel-@KVNAME@-dbgsym
|
Package: qoup-kernel-@KVNAME@-dbgsym
|
||||||
Architecture: any
|
Architecture: any
|
||||||
Provides: linux-debug, pve-kernel-@KVNAME@-dbgsym
|
Provides: linux-debug, pve-kernel-@KVNAME@-dbgsym
|
||||||
Section: devel
|
Section: devel
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Build-Profiles: <pkg.proxmox-kernel.debug>
|
Build-Profiles: <pkg.qoup-kernel.debug>
|
||||||
Depends: ${misc:Depends},
|
Depends: ${misc:Depends},
|
||||||
Description: Proxmox Kernel debug image
|
Description: Proxmox Kernel debug image
|
||||||
This package provides the kernel debug image for version @KVNAME@. The debug
|
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
|
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/..
|
uncompressed, and unstripped, and suitable for use with crash/kdump-tools/..
|
||||||
to analyze kernel crashes. This package also contains the proxmox-kernel modules
|
to analyze kernel crashes. This package also contains the qoup-kernel modules
|
||||||
in their unstripped version.
|
in their unstripped version.
|
||||||
|
|
||||||
Package: proxmox-kernel-@KVNAME@-signed-template
|
Package: qoup-kernel-@KVNAME@-signed-template
|
||||||
Architecture: amd64
|
Architecture: amd64
|
||||||
Depends: ${shlibs:Depends}, ${misc:Depends}, make | build-essential | dpkg-dev
|
Depends: ${shlibs:Depends}, ${misc:Depends}, make | build-essential | dpkg-dev
|
||||||
Description: Template for signed kernel package
|
Description: Template for signed kernel package
|
||||||
This package is used to control code signing by the Proxmox signing
|
This package is used to control code signing by the Proxmox signing
|
||||||
service.
|
service.
|
||||||
|
|
||||||
Package: proxmox-kernel-libc-dev
|
Package: qoup-kernel-libc-dev
|
||||||
Section: devel
|
Section: devel
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Architecture: any
|
Architecture: any
|
||||||
@@ -100,25 +100,25 @@ Description: Linux support headers for userspace development
|
|||||||
This package provides userspaces headers from the Linux kernel. These headers
|
This package provides userspaces headers from the Linux kernel. These headers
|
||||||
are used by the installed headers for GNU libc and other system libraries.
|
are used by the installed headers for GNU libc and other system libraries.
|
||||||
|
|
||||||
Package: proxmox-headers-@KVMAJMIN@
|
Package: qoup-headers-@KVMAJMIN@
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Section: admin
|
Section: admin
|
||||||
Provides: linux-headers-amd64, linux-headers-generic, pve-headers-@KVMAJMIN@
|
Provides: linux-headers-amd64, linux-headers-generic, pve-headers-@KVMAJMIN@
|
||||||
Replaces: pve-headers-@KVMAJMIN@
|
Replaces: pve-headers-@KVMAJMIN@
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Depends: proxmox-headers-@KVNAME@, ${misc:Depends},
|
Depends: qoup-headers-@KVNAME@, ${misc:Depends},
|
||||||
Description: Latest Proxmox Kernel Headers
|
Description: Latest Proxmox Kernel Headers
|
||||||
This is a metapackage which will install the kernel headers
|
This is a metapackage which will install the kernel headers
|
||||||
for the latest available proxmox kernel from the @KVMAJMIN@
|
for the latest available proxmox kernel from the @KVMAJMIN@
|
||||||
series.
|
series.
|
||||||
|
|
||||||
Package: proxmox-kernel-@KVMAJMIN@
|
Package: qoup-kernel-@KVMAJMIN@
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Section: admin
|
Section: admin
|
||||||
Provides: linux-image-amd64, linux-image-generic, wireguard-modules (=1.0.0), pve-kernel-@KVMAJMIN@
|
Provides: linux-image-amd64, linux-image-generic, wireguard-modules (=1.0.0), pve-kernel-@KVMAJMIN@
|
||||||
Replaces: pve-kernel-@KVMAJMIN@
|
Replaces: pve-kernel-@KVMAJMIN@
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Depends: pve-firmware, proxmox-kernel-@KVNAME@-signed | proxmox-kernel-@KVNAME@, ${misc:Depends},
|
Depends: pve-firmware, qoup-kernel-@KVNAME@-signed | qoup-kernel-@KVNAME@, ${misc:Depends},
|
||||||
Description: Latest Proxmox Kernel Image
|
Description: Latest Proxmox Kernel Image
|
||||||
This is a metapackage which will install the latest available
|
This is a metapackage which will install the latest available
|
||||||
proxmox kernel from the @KVMAJMIN@ series.
|
proxmox kernel from the @KVMAJMIN@ series.
|
||||||
|
|||||||
Vendored
+19
-19
@@ -16,12 +16,12 @@ MAKEFLAGS += $(subst parallel=,-j,$(filter parallel=%,${DEB_BUILD_OPTIONS}))
|
|||||||
CHANGELOG_DATE:=$(shell dpkg-parsechangelog -SDate)
|
CHANGELOG_DATE:=$(shell dpkg-parsechangelog -SDate)
|
||||||
CHANGELOG_DATE_UTC_ISO := $(shell date -u -d '$(CHANGELOG_DATE)' +%Y-%m-%dT%H:%MZ)
|
CHANGELOG_DATE_UTC_ISO := $(shell date -u -d '$(CHANGELOG_DATE)' +%Y-%m-%dT%H:%MZ)
|
||||||
|
|
||||||
PMX_KERNEL_PKG=proxmox-kernel-$(KVNAME)
|
PMX_KERNEL_PKG=qoup-kernel-$(KVNAME)
|
||||||
PMX_KERNEL_SERIES_PKG=proxmox-kernel-$(KERNEL_MAJMIN)
|
PMX_KERNEL_SERIES_PKG=qoup-kernel-$(KERNEL_MAJMIN)
|
||||||
PMX_DEBUG_KERNEL_PKG=proxmox-kernel-$(KVNAME)-dbgsym
|
PMX_DEBUG_KERNEL_PKG=qoup-kernel-$(KVNAME)-dbgsym
|
||||||
PMX_HEADER_PKG=proxmox-headers-$(KVNAME)
|
PMX_HEADER_PKG=qoup-headers-$(KVNAME)
|
||||||
PMX_USR_HEADER_PKG=proxmox-kernel-libc-dev
|
PMX_USR_HEADER_PKG=qoup-kernel-libc-dev
|
||||||
PMX_KERNEL_SIGNING_TEMPLATE_PKG=proxmox-kernel-${KVNAME}-signed-template
|
PMX_KERNEL_SIGNING_TEMPLATE_PKG=qoup-kernel-${KVNAME}-signed-template
|
||||||
PMX_KERNEL_SIGNED_VERSION := $(shell echo ${DEB_VERSION} | sed -e 's/-/+/')
|
PMX_KERNEL_SIGNED_VERSION := $(shell echo ${DEB_VERSION} | sed -e 's/-/+/')
|
||||||
LINUX_TOOLS_PKG=linux-tools-$(KERNEL_MAJMIN)
|
LINUX_TOOLS_PKG=linux-tools-$(KERNEL_MAJMIN)
|
||||||
KERNEL_SRC_COPY=$(KERNEL_SRC)_tmp
|
KERNEL_SRC_COPY=$(KERNEL_SRC)_tmp
|
||||||
@@ -106,12 +106,12 @@ PMX_CONFIG_OPTS= \
|
|||||||
-d UBSAN_BOUNDS \
|
-d UBSAN_BOUNDS \
|
||||||
|
|
||||||
debian/control: $(wildcard debian/*.in)
|
debian/control: $(wildcard debian/*.in)
|
||||||
sed -e 's/@@KVNAME@@/$(KVNAME)/g' < debian/proxmox-kernel.prerm.in > debian/$(PMX_KERNEL_PKG).prerm
|
sed -e 's/@@KVNAME@@/$(KVNAME)/g' < debian/qoup-kernel.prerm.in > debian/$(PMX_KERNEL_PKG).prerm
|
||||||
sed -e 's/@@KVNAME@@/$(KVNAME)/g' < debian/proxmox-kernel.postrm.in > debian/$(PMX_KERNEL_PKG).postrm
|
sed -e 's/@@KVNAME@@/$(KVNAME)/g' < debian/qoup-kernel.postrm.in > debian/$(PMX_KERNEL_PKG).postrm
|
||||||
sed -e 's/@@KVNAME@@/$(KVNAME)/g' < debian/proxmox-kernel.postinst.in > debian/$(PMX_KERNEL_PKG).postinst
|
sed -e 's/@@KVNAME@@/$(KVNAME)/g' < debian/qoup-kernel.postinst.in > debian/$(PMX_KERNEL_PKG).postinst
|
||||||
sed -e 's/@@KVNAME@@/$(KVNAME)/g' < debian/proxmox-headers.postinst.in > debian/$(PMX_HEADER_PKG).postinst
|
sed -e 's/@@KVNAME@@/$(KVNAME)/g' < debian/qoup-headers.postinst.in > debian/$(PMX_HEADER_PKG).postinst
|
||||||
sed -e 's/@@KVMAJMIN@@/$(KERNEL_MAJMIN)/g' -e 's/@@KVNAME@@/$(KVNAME)/g' < debian/proxmox-kernel-meta.postrm.in > debian/$(PMX_KERNEL_SERIES_PKG).postrm
|
sed -e 's/@@KVMAJMIN@@/$(KERNEL_MAJMIN)/g' -e 's/@@KVNAME@@/$(KVNAME)/g' < debian/qoup-kernel-meta.postrm.in > debian/$(PMX_KERNEL_SERIES_PKG).postrm
|
||||||
sed -e 's/@@KVMAJMIN@@/$(KERNEL_MAJMIN)/g' -e 's/@@KVNAME@@/$(KVNAME)/g' < debian/proxmox-kernel-meta.postinst.in > debian/$(PMX_KERNEL_SERIES_PKG).postinst
|
sed -e 's/@@KVMAJMIN@@/$(KERNEL_MAJMIN)/g' -e 's/@@KVNAME@@/$(KVNAME)/g' < debian/qoup-kernel-meta.postinst.in > debian/$(PMX_KERNEL_SERIES_PKG).postinst
|
||||||
chmod +x debian/$(PMX_KERNEL_PKG).prerm
|
chmod +x debian/$(PMX_KERNEL_PKG).prerm
|
||||||
chmod +x debian/$(PMX_KERNEL_PKG).postrm
|
chmod +x debian/$(PMX_KERNEL_PKG).postrm
|
||||||
chmod +x debian/$(PMX_KERNEL_PKG).postinst
|
chmod +x debian/$(PMX_KERNEL_PKG).postinst
|
||||||
@@ -121,13 +121,13 @@ debian/control: $(wildcard debian/*.in)
|
|||||||
sed -e 's/@KVNAME@/$(KVNAME)/g' -e 's/@KVMAJMIN@/$(KERNEL_MAJMIN)/g' < debian/control.in > debian/control
|
sed -e 's/@KVNAME@/$(KVNAME)/g' -e 's/@KVMAJMIN@/$(KERNEL_MAJMIN)/g' < debian/control.in > debian/control
|
||||||
|
|
||||||
# signing-template
|
# signing-template
|
||||||
sed -e '1 s/proxmox-kernel/proxmox-kernel-signed/' -e '1 s/${DEB_VERSION}/${PMX_KERNEL_SIGNED_VERSION}/' < debian/changelog > debian/signing-template/changelog
|
sed -e '1 s/qoup-kernel/qoup-kernel-signed/' -e '1 s/${DEB_VERSION}/${PMX_KERNEL_SIGNED_VERSION}/' < debian/changelog > debian/signing-template/changelog
|
||||||
sed -e 's/@KVNAME@/${KVNAME}/g' -e 's/@KVMAJMIN@/$(KERNEL_MAJMIN)/g' -e 's/@UNSIGNED_VERSION@/${DEB_VERSION}/g' < debian/signing-template/control.in > debian/signing-template/control
|
sed -e 's/@KVNAME@/${KVNAME}/g' -e 's/@KVMAJMIN@/$(KERNEL_MAJMIN)/g' -e 's/@UNSIGNED_VERSION@/${DEB_VERSION}/g' < debian/signing-template/control.in > debian/signing-template/control
|
||||||
sed -e 's/@KVNAME@/${KVNAME}/g' < debian/signing-template/files.json.in > debian/signing-template/files.json
|
sed -e 's/@KVNAME@/${KVNAME}/g' < debian/signing-template/files.json.in > debian/signing-template/files.json
|
||||||
sed -e 's/@KVNAME@/${KVNAME}/g' -e 's/@PKG_VERSION@/${DEB_VERSION}/' < debian/signing-template/rules.in > debian/signing-template/rules
|
sed -e 's/@KVNAME@/${KVNAME}/g' -e 's/@PKG_VERSION@/${DEB_VERSION}/' < debian/signing-template/rules.in > debian/signing-template/rules
|
||||||
sed -e 's/@@KVNAME@@/${KVNAME}/g' < debian/proxmox-kernel.prerm.in > debian/signing-template/prerm
|
sed -e 's/@@KVNAME@@/${KVNAME}/g' < debian/qoup-kernel.prerm.in > debian/signing-template/prerm
|
||||||
sed -e 's/@@KVNAME@@/${KVNAME}/g' < debian/proxmox-kernel.postrm.in > debian/signing-template/postrm
|
sed -e 's/@@KVNAME@@/${KVNAME}/g' < debian/qoup-kernel.postrm.in > debian/signing-template/postrm
|
||||||
sed -e 's/@@KVNAME@@/${KVNAME}/g' < debian/proxmox-kernel.postinst.in > debian/signing-template/postinst
|
sed -e 's/@@KVNAME@@/${KVNAME}/g' < debian/qoup-kernel.postinst.in > debian/signing-template/postinst
|
||||||
rm debian/signing-template/*.in
|
rm debian/signing-template/*.in
|
||||||
cp debian/SOURCE debian/signing-template/
|
cp debian/SOURCE debian/signing-template/
|
||||||
|
|
||||||
@@ -177,10 +177,10 @@ binary: install
|
|||||||
# remove firmware
|
# remove firmware
|
||||||
rm -rf debian/$(PMX_KERNEL_PKG)/lib/firmware
|
rm -rf debian/$(PMX_KERNEL_PKG)/lib/firmware
|
||||||
|
|
||||||
ifeq ($(filter pkg.proxmox-kernel.debug,$(DEB_BUILD_PROFILES)),)
|
ifeq ($(filter pkg.qoup-kernel.debug,$(DEB_BUILD_PROFILES)),)
|
||||||
echo "'pkg.proxmox-kernel.debug' build profile disabled, skipping -dbgsym creation"
|
echo "'pkg.qoup-kernel.debug' build profile disabled, skipping -dbgsym creation"
|
||||||
else
|
else
|
||||||
echo "'pkg.proxmox-kernel.debug' build profile enabled, creating -dbgsym contents"
|
echo "'pkg.qoup-kernel.debug' build profile enabled, creating -dbgsym contents"
|
||||||
mkdir -p debian/$(PMX_DEBUG_KERNEL_PKG)/usr/lib/debug/lib/modules/$(KVNAME)
|
mkdir -p debian/$(PMX_DEBUG_KERNEL_PKG)/usr/lib/debug/lib/modules/$(KVNAME)
|
||||||
mkdir debian/$(PMX_DEBUG_KERNEL_PKG)/usr/lib/debug/boot
|
mkdir debian/$(PMX_DEBUG_KERNEL_PKG)/usr/lib/debug/boot
|
||||||
install -m 644 $(KERNEL_SRC)/vmlinux debian/$(PMX_DEBUG_KERNEL_PKG)/usr/lib/debug/boot/vmlinux-$(KVNAME)
|
install -m 644 $(KERNEL_SRC)/vmlinux debian/$(PMX_DEBUG_KERNEL_PKG)/usr/lib/debug/boot/vmlinux-$(KVNAME)
|
||||||
|
|||||||
Vendored
+7
-7
@@ -1,24 +1,24 @@
|
|||||||
Source: proxmox-kernel-signed-@KVMAJMIN@
|
Source: qoup-kernel-signed-@KVMAJMIN@
|
||||||
Section: kernel
|
Section: kernel
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Maintainer: Proxmox Support Team <support@proxmox.com>
|
Maintainer: Proxmox Support Team <support@qoup.ru>
|
||||||
Standards-Version: 4.2.0
|
Standards-Version: 4.2.0
|
||||||
Build-Depends: debhelper-compat (= 12), dh-exec, python3:any, rsync, sbsigntool, proxmox-kernel-@KVNAME@ (= @UNSIGNED_VERSION@)
|
Build-Depends: debhelper-compat (= 12), dh-exec, python3:any, rsync, sbsigntool, qoup-kernel-@KVNAME@ (= @UNSIGNED_VERSION@)
|
||||||
Rules-Requires-Root: no
|
Rules-Requires-Root: no
|
||||||
Vcs-Git: git://git.proxmox.com/git/pve-kernel
|
Vcs-Git: git://git.proxmox.com/git/pve-kernel
|
||||||
Vcs-Browser: https://git.proxmox.com/?p=pve-kernel.git
|
Vcs-Browser: https://git.proxmox.com/?p=pve-kernel.git
|
||||||
|
|
||||||
Package: proxmox-kernel-@KVNAME@-signed
|
Package: qoup-kernel-@KVNAME@-signed
|
||||||
Section: admin
|
Section: admin
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Architecture: any
|
Architecture: any
|
||||||
Provides: linux-image-@KVNAME@-amd64, proxmox-kernel-@KVNAME@
|
Provides: linux-image-@KVNAME@-amd64, qoup-kernel-@KVNAME@
|
||||||
Depends: ${unsigned:Depends}, ${misc:Depends}
|
Depends: ${unsigned:Depends}, ${misc:Depends}
|
||||||
Recommends: ${unsigned:Recommends}
|
Recommends: ${unsigned:Recommends}
|
||||||
Suggests: ${unsigned:Suggests}
|
Suggests: ${unsigned:Suggests}
|
||||||
Breaks: ${unsigned:Breaks}
|
Breaks: ${unsigned:Breaks}
|
||||||
Conflicts: proxmox-kernel-@KVNAME@
|
Conflicts: qoup-kernel-@KVNAME@
|
||||||
Replaces: proxmox-kernel-@KVNAME@
|
Replaces: qoup-kernel-@KVNAME@
|
||||||
Description: ${unsigned:DescriptionShort} (signed)
|
Description: ${unsigned:DescriptionShort} (signed)
|
||||||
${unsigned:DescriptionLong}
|
${unsigned:DescriptionLong}
|
||||||
.
|
.
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"packages": {
|
"packages": {
|
||||||
"proxmox-kernel-@KVNAME@": {
|
"qoup-kernel-@KVNAME@": {
|
||||||
"trusted_certs": [],
|
"trusted_certs": [],
|
||||||
"files": [
|
"files": [
|
||||||
{
|
{
|
||||||
|
|||||||
Vendored
+1
-1
@@ -7,7 +7,7 @@ export DH_OPTIONS
|
|||||||
include /usr/share/dpkg/architecture.mk
|
include /usr/share/dpkg/architecture.mk
|
||||||
|
|
||||||
KERNEL_VERSION=@KVNAME@
|
KERNEL_VERSION=@KVNAME@
|
||||||
IMAGE_PACKAGE_NAME=proxmox-kernel-$(KERNEL_VERSION)
|
IMAGE_PACKAGE_NAME=qoup-kernel-$(KERNEL_VERSION)
|
||||||
PACKAGE_NAME=$(IMAGE_PACKAGE_NAME)-signed
|
PACKAGE_NAME=$(IMAGE_PACKAGE_NAME)-signed
|
||||||
PACKAGE_VERSION=@PKG_VERSION@
|
PACKAGE_VERSION=@PKG_VERSION@
|
||||||
PACKAGE_DIR=debian/$(PACKAGE_NAME)
|
PACKAGE_DIR=debian/$(PACKAGE_NAME)
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,2 +1,2 @@
|
|||||||
debian-control-has-dbgsym-package (in section for proxmox-kernel-*-pve-dbgsym) Package [debian/control:*]
|
debian-control-has-dbgsym-package (in section for qoup-kernel-*-pve-dbgsym) Package [debian/control:*]
|
||||||
license-problem-gfdl-invariants invariant part is: with the :ref:`invariant sections <fdl-invariant>` being list their titles, with the :ref:`front-cover texts <fdl-cover-texts>` being list, and with the :ref:`back-cover texts <fdl-cover-texts>` being list [ubuntu-kernel/Documentation/userspace-api/media/fdl-appendix.rst]
|
license-problem-gfdl-invariants invariant part is: with the :ref:`invariant sections <fdl-invariant>` being list their titles, with the :ref:`front-cover texts <fdl-cover-texts>` being list, and with the :ref:`back-cover texts <fdl-cover-texts>` being list [ubuntu-kernel/Documentation/userspace-api/media/fdl-appendix.rst]
|
||||||
|
|||||||
@@ -1120,12 +1120,15 @@ iwlwifi-bz-a0-hr-b0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.k
|
|||||||
iwlwifi-cc-a0-77.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
iwlwifi-cc-a0-77.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
||||||
iwlwifi-gl-b0-fm-b0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
iwlwifi-gl-b0-fm-b0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
||||||
iwlwifi-gl-c0-fm-c0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
iwlwifi-gl-c0-fm-c0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
||||||
|
iwlwifi-gl-c0-fm-c0.pnvm kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
||||||
iwlwifi-ma-a0-gf-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
iwlwifi-ma-a0-gf-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
||||||
iwlwifi-ma-a0-gf4-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
iwlwifi-ma-a0-gf4-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
||||||
iwlwifi-ma-a0-hr-b0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
iwlwifi-ma-a0-hr-b0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
||||||
iwlwifi-ma-a0-mr-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
iwlwifi-ma-a0-mr-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
||||||
iwlwifi-ma-b0-gf-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
iwlwifi-ma-b0-gf-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
||||||
|
iwlwifi-ma-b0-gf-a0.pnvm kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
||||||
iwlwifi-ma-b0-gf4-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
iwlwifi-ma-b0-gf4-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
||||||
|
iwlwifi-ma-b0-gf4-a0.pnvm kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
||||||
iwlwifi-ma-b0-hr-b0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
iwlwifi-ma-b0-hr-b0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
||||||
iwlwifi-ma-b0-mr-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
iwlwifi-ma-b0-mr-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
||||||
iwlwifi-sc-a0-fm-b0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
iwlwifi-sc-a0-fm-b0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
||||||
@@ -1134,10 +1137,17 @@ iwlwifi-sc-a0-gf-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.k
|
|||||||
iwlwifi-sc-a0-gf4-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
iwlwifi-sc-a0-gf4-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
||||||
iwlwifi-sc-a0-hr-b0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
iwlwifi-sc-a0-hr-b0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
||||||
iwlwifi-sc-a0-wh-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
iwlwifi-sc-a0-wh-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
||||||
|
iwlwifi-sc2-a0-fm-c0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
||||||
|
iwlwifi-sc2-a0-wh-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
||||||
|
iwlwifi-sc2f-a0-fm-c0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
||||||
|
iwlwifi-sc2f-a0-wh-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
||||||
iwlwifi-so-a0-gf-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
iwlwifi-so-a0-gf-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
||||||
|
iwlwifi-so-a0-gf-a0.pnvm kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
||||||
|
iwlwifi-so-a0-gf4-a0.pnvm kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
||||||
iwlwifi-so-a0-hr-b0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
iwlwifi-so-a0-hr-b0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
||||||
iwlwifi-so-a0-jf-b0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
iwlwifi-so-a0-jf-b0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
||||||
iwlwifi-ty-a0-gf-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
iwlwifi-ty-a0-gf-a0-86.ucode kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
||||||
|
iwlwifi-ty-a0-gf-a0.pnvm kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
|
||||||
kaweth/new_code.bin kernel/drivers/net/usb/kaweth.ko
|
kaweth/new_code.bin kernel/drivers/net/usb/kaweth.ko
|
||||||
kaweth/new_code_fix.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
|
kaweth/trigger_code.bin kernel/drivers/net/usb/kaweth.ko
|
||||||
@@ -1194,6 +1204,7 @@ liquidio/lio_23xx_nic.bin kernel/drivers/net/ethernet/cavium/liquidio/liquidio.k
|
|||||||
liquidio/lio_410nv_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
|
me2600_firmware.bin kernel/drivers/comedi/drivers/me_daq.ko
|
||||||
me4000_firmware.bin kernel/drivers/comedi/drivers/me4000.ko
|
me4000_firmware.bin kernel/drivers/comedi/drivers/me4000.ko
|
||||||
|
mediatek/BT_RAM_CODE_MT7922_1_1_hdr.bin kernel/drivers/bluetooth/btmtk.ko
|
||||||
mediatek/BT_RAM_CODE_MT7961_1_2_hdr.bin kernel/drivers/bluetooth/btmtk.ko
|
mediatek/BT_RAM_CODE_MT7961_1_2_hdr.bin kernel/drivers/bluetooth/btmtk.ko
|
||||||
mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin kernel/drivers/net/wireless/mediatek/mt76/mt7921/mt7921e.ko
|
mediatek/WIFI_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_MT7961_patch_mcu_1_2_hdr.bin kernel/drivers/net/wireless/mediatek/mt76/mt7921/mt7921e.ko
|
||||||
|
|||||||
@@ -55,10 +55,10 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
|
|||||||
2 files changed, 111 insertions(+)
|
2 files changed, 111 insertions(+)
|
||||||
|
|
||||||
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
|
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
|
||||||
index 3470cb524222..3c9192618839 100644
|
index 4272acb3d047..d18cc2c1f9c3 100644
|
||||||
--- a/Documentation/admin-guide/kernel-parameters.txt
|
--- a/Documentation/admin-guide/kernel-parameters.txt
|
||||||
+++ b/Documentation/admin-guide/kernel-parameters.txt
|
+++ b/Documentation/admin-guide/kernel-parameters.txt
|
||||||
@@ -4399,6 +4399,15 @@
|
@@ -4400,6 +4400,15 @@
|
||||||
Also, it enforces the PCI Local Bus spec
|
Also, it enforces the PCI Local Bus spec
|
||||||
rule that those bits should be 0 in system reset
|
rule that those bits should be 0 in system reset
|
||||||
events (useful for kexec/kdump cases).
|
events (useful for kexec/kdump cases).
|
||||||
|
|||||||
@@ -14,10 +14,10 @@ Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
|
|||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/net/core/dev.c b/net/core/dev.c
|
diff --git a/net/core/dev.c b/net/core/dev.c
|
||||||
index c9b8412f1c9d..67a9b4c1a511 100644
|
index c365aa06f886..c9066a7aa4c5 100644
|
||||||
--- a/net/core/dev.c
|
--- a/net/core/dev.c
|
||||||
+++ b/net/core/dev.c
|
+++ b/net/core/dev.c
|
||||||
@@ -10464,7 +10464,7 @@ static struct net_device *netdev_wait_allrefs_any(struct list_head *list)
|
@@ -10470,7 +10470,7 @@ static struct net_device *netdev_wait_allrefs_any(struct list_head *list)
|
||||||
if (time_after(jiffies, warning_time +
|
if (time_after(jiffies, warning_time +
|
||||||
READ_ONCE(netdev_unregister_timeout_secs) * HZ)) {
|
READ_ONCE(netdev_unregister_timeout_secs) * HZ)) {
|
||||||
list_for_each_entry(dev, list, todo_list) {
|
list_for_each_entry(dev, list, todo_list) {
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
|
|||||||
3 files changed, 21 insertions(+)
|
3 files changed, 21 insertions(+)
|
||||||
|
|
||||||
diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c
|
diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c
|
||||||
index adba49afb5fe..e6e4408c8d51 100644
|
index 3a02276899db..e07a6089ba4b 100644
|
||||||
--- a/arch/x86/kvm/cpuid.c
|
--- a/arch/x86/kvm/cpuid.c
|
||||||
+++ b/arch/x86/kvm/cpuid.c
|
+++ b/arch/x86/kvm/cpuid.c
|
||||||
@@ -262,6 +262,12 @@ static u64 cpuid_get_supported_xcr0(struct kvm_cpuid_entry2 *entries, int nent)
|
@@ -262,6 +262,12 @@ static u64 cpuid_get_supported_xcr0(struct kvm_cpuid_entry2 *entries, int nent)
|
||||||
@@ -95,7 +95,7 @@ index adba49afb5fe..e6e4408c8d51 100644
|
|||||||
int nent)
|
int nent)
|
||||||
{
|
{
|
||||||
diff --git a/arch/x86/kvm/cpuid.h b/arch/x86/kvm/cpuid.h
|
diff --git a/arch/x86/kvm/cpuid.h b/arch/x86/kvm/cpuid.h
|
||||||
index 856e3037e74f..0ac5a84adcd5 100644
|
index 23dbb9eb277c..07da153802e4 100644
|
||||||
--- a/arch/x86/kvm/cpuid.h
|
--- a/arch/x86/kvm/cpuid.h
|
||||||
+++ b/arch/x86/kvm/cpuid.h
|
+++ b/arch/x86/kvm/cpuid.h
|
||||||
@@ -32,6 +32,8 @@ int kvm_vcpu_ioctl_get_cpuid2(struct kvm_vcpu *vcpu,
|
@@ -32,6 +32,8 @@ int kvm_vcpu_ioctl_get_cpuid2(struct kvm_vcpu *vcpu,
|
||||||
@@ -108,7 +108,7 @@ index 856e3037e74f..0ac5a84adcd5 100644
|
|||||||
|
|
||||||
int cpuid_query_maxphyaddr(struct kvm_vcpu *vcpu);
|
int cpuid_query_maxphyaddr(struct kvm_vcpu *vcpu);
|
||||||
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
|
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
|
||||||
index 8e4e48840290..3af8e426ead3 100644
|
index c84927216fad..880e2b87777e 100644
|
||||||
--- a/arch/x86/kvm/x86.c
|
--- a/arch/x86/kvm/x86.c
|
||||||
+++ b/arch/x86/kvm/x86.c
|
+++ b/arch/x86/kvm/x86.c
|
||||||
@@ -5580,6 +5580,19 @@ static int kvm_vcpu_ioctl_x86_set_xsave(struct kvm_vcpu *vcpu,
|
@@ -5580,6 +5580,19 @@ static int kvm_vcpu_ioctl_x86_set_xsave(struct kvm_vcpu *vcpu,
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
|
|||||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
|
diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
|
||||||
index 8a1471f794cb..fa9c6e056f1b 100644
|
index c4c6240d14f9..5e037a9ea6a6 100644
|
||||||
--- a/drivers/iommu/intel/iommu.c
|
--- a/drivers/iommu/intel/iommu.c
|
||||||
+++ b/drivers/iommu/intel/iommu.c
|
+++ b/drivers/iommu/intel/iommu.c
|
||||||
@@ -234,6 +234,7 @@ static int dmar_map_gfx = 1;
|
@@ -234,6 +234,7 @@ static int dmar_map_gfx = 1;
|
||||||
|
|||||||
+20
-4
@@ -1,6 +1,6 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
From: Chengming Zhou <chengming.zhou@linux.dev>
|
From: Chengming Zhou <chengming.zhou@linux.dev>
|
||||||
Date: Tue, 4 Jun 2024 14:47:45 +0800
|
Date: Sat, 8 Jun 2024 22:31:15 +0800
|
||||||
Subject: [PATCH] block: fix request.queuelist usage in flush
|
Subject: [PATCH] block: fix request.queuelist usage in flush
|
||||||
|
|
||||||
Friedrich Weber reported a kernel crash problem and bisected to commit
|
Friedrich Weber reported a kernel crash problem and bisected to commit
|
||||||
@@ -22,19 +22,27 @@ touch rq->queuelist after blk_mq_end_request() since we will reuse it to
|
|||||||
add rq to the post-flush pending list in POSTFLUSH. If this is not true,
|
add rq to the post-flush pending list in POSTFLUSH. If this is not true,
|
||||||
we will have to revert that commit IMHO.
|
we will have to revert that commit IMHO.
|
||||||
|
|
||||||
|
This updated version adds "list_del_init(&rq->queuelist)" in flush rq
|
||||||
|
callback since the dm layer may submit request of a weird invalid format
|
||||||
|
(REQ_FSEQ_PREFLUSH | REQ_FSEQ_POSTFLUSH), which causes double list_add
|
||||||
|
if without this "list_del_init(&rq->queuelist)". The weird invalid format
|
||||||
|
problem should be fixed in dm layer.
|
||||||
|
|
||||||
Reported-by: Friedrich Weber <f.weber@proxmox.com>
|
Reported-by: Friedrich Weber <f.weber@proxmox.com>
|
||||||
Closes: https://lore.kernel.org/lkml/14b89dfb-505c-49f7-aebb-01c54451db40@proxmox.com/
|
Closes: https://lore.kernel.org/lkml/14b89dfb-505c-49f7-aebb-01c54451db40@proxmox.com/
|
||||||
|
Closes: https://lore.kernel.org/lkml/c9d03ff7-27c5-4ebd-b3f6-5a90d96f35ba@proxmox.com/
|
||||||
Fixes: 81ada09cc25e ("blk-flush: reuse rq queuelist in flush state machine")
|
Fixes: 81ada09cc25e ("blk-flush: reuse rq queuelist in flush state machine")
|
||||||
Cc: Christoph Hellwig <hch@lst.de>
|
Cc: Christoph Hellwig <hch@lst.de>
|
||||||
Cc: ming.lei@redhat.com
|
Cc: ming.lei@redhat.com
|
||||||
Cc: bvanassche@acm.org
|
Cc: bvanassche@acm.org
|
||||||
|
Tested-by: Friedrich Weber <f.weber@proxmox.com>
|
||||||
Signed-off-by: Chengming Zhou <chengming.zhou@linux.dev>
|
Signed-off-by: Chengming Zhou <chengming.zhou@linux.dev>
|
||||||
---
|
---
|
||||||
block/blk-flush.c | 2 +-
|
block/blk-flush.c | 3 ++-
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/block/blk-flush.c b/block/blk-flush.c
|
diff --git a/block/blk-flush.c b/block/blk-flush.c
|
||||||
index 3f4d41952ef2..aa5e573dd010 100644
|
index 3f4d41952ef2..d72b57898b23 100644
|
||||||
--- a/block/blk-flush.c
|
--- a/block/blk-flush.c
|
||||||
+++ b/block/blk-flush.c
|
+++ b/block/blk-flush.c
|
||||||
@@ -183,7 +183,7 @@ static void blk_flush_complete_seq(struct request *rq,
|
@@ -183,7 +183,7 @@ static void blk_flush_complete_seq(struct request *rq,
|
||||||
@@ -46,3 +54,11 @@ index 3f4d41952ef2..aa5e573dd010 100644
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case REQ_FSEQ_DATA:
|
case REQ_FSEQ_DATA:
|
||||||
|
@@ -261,6 +261,7 @@ static enum rq_end_io_ret flush_end_io(struct request *flush_rq,
|
||||||
|
unsigned int seq = blk_flush_cur_seq(rq);
|
||||||
|
|
||||||
|
BUG_ON(seq != REQ_FSEQ_PREFLUSH && seq != REQ_FSEQ_POSTFLUSH);
|
||||||
|
+ list_del_init(&rq->queuelist);
|
||||||
|
blk_flush_complete_seq(rq, fq, seq, error);
|
||||||
|
}
|
||||||
|
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
|
|
||||||
Date: Wed, 3 Apr 2024 15:21:58 +0200
|
|
||||||
Subject: [PATCH] net: usb: ax88179_178a: avoid the interface always configured
|
|
||||||
as random address
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
After the commit d2689b6a86b9 ("net: usb: ax88179_178a: avoid two
|
|
||||||
consecutive device resets"), reset is not executed from bind operation and
|
|
||||||
mac address is not read from the device registers or the devicetree at that
|
|
||||||
moment. Since the check to configure if the assigned mac address is random
|
|
||||||
or not for the interface, happens after the bind operation from
|
|
||||||
usbnet_probe, the interface keeps configured as random address, although the
|
|
||||||
address is correctly read and set during open operation (the only reset
|
|
||||||
now).
|
|
||||||
|
|
||||||
In order to keep only one reset for the device and to avoid the interface
|
|
||||||
always configured as random address, after reset, configure correctly the
|
|
||||||
suitable field from the driver, if the mac address is read successfully from
|
|
||||||
the device registers or the devicetree. Take into account if a locally
|
|
||||||
administered address (random) was previously stored.
|
|
||||||
|
|
||||||
cc: stable@vger.kernel.org # 6.6+
|
|
||||||
Fixes: d2689b6a86b9 ("net: usb: ax88179_178a: avoid two consecutive device resets")
|
|
||||||
Reported-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|
||||||
Signed-off-by: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
|
|
||||||
Reviewed-by: Simon Horman <horms@kernel.org>
|
|
||||||
Link: https://lore.kernel.org/r/20240403132158.344838-1-jtornosm@redhat.com
|
|
||||||
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|
||||||
(cherry picked from commit 2e91bb99b9d4f756e92e83c4453f894dda220f09)
|
|
||||||
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
|
|
||||||
---
|
|
||||||
drivers/net/usb/ax88179_178a.c | 2 ++
|
|
||||||
1 file changed, 2 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/drivers/net/usb/ax88179_178a.c b/drivers/net/usb/ax88179_178a.c
|
|
||||||
index d837c1887416..e0e9b4c53cb0 100644
|
|
||||||
--- a/drivers/net/usb/ax88179_178a.c
|
|
||||||
+++ b/drivers/net/usb/ax88179_178a.c
|
|
||||||
@@ -1273,6 +1273,8 @@ static void ax88179_get_mac_addr(struct usbnet *dev)
|
|
||||||
|
|
||||||
if (is_valid_ether_addr(mac)) {
|
|
||||||
eth_hw_addr_set(dev->net, mac);
|
|
||||||
+ if (!is_local_ether_addr(mac))
|
|
||||||
+ dev->net->addr_assign_type = NET_ADDR_PERM;
|
|
||||||
} else {
|
|
||||||
netdev_info(dev->net, "invalid MAC address, using random\n");
|
|
||||||
eth_hw_addr_random(dev->net);
|
|
||||||
@@ -1,61 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Chuck Lever <chuck.lever@oracle.com>
|
|
||||||
Date: Wed, 3 Apr 2024 10:36:25 -0400
|
|
||||||
Subject: [PATCH] SUNRPC: Fix a slow server-side memory leak with RPC-over-TCP
|
|
||||||
|
|
||||||
Jan Schunk reports that his small NFS servers suffer from memory
|
|
||||||
exhaustion after just a few days. A bisect shows that commit
|
|
||||||
e18e157bb5c8 ("SUNRPC: Send RPC message on TCP with a single
|
|
||||||
sock_sendmsg() call") is the first bad commit.
|
|
||||||
|
|
||||||
That commit assumed that sock_sendmsg() releases all the pages in
|
|
||||||
the underlying bio_vec array, but the reality is that it doesn't.
|
|
||||||
svc_xprt_release() releases the rqst's response pages, but the
|
|
||||||
record marker page fragment isn't one of those, so it is never
|
|
||||||
released.
|
|
||||||
|
|
||||||
This is a narrow fix that can be applied to stable kernels. A
|
|
||||||
more extensive fix is in the works.
|
|
||||||
|
|
||||||
Reported-by: Jan Schunk <scpcom@gmx.de>
|
|
||||||
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218671
|
|
||||||
Fixes: e18e157bb5c8 ("SUNRPC: Send RPC message on TCP with a single sock_sendmsg() call")
|
|
||||||
Cc: Alexander Duyck <alexander.duyck@gmail.com>
|
|
||||||
Cc: Jakub Kacinski <kuba@kernel.org>
|
|
||||||
Cc: David Howells <dhowells@redhat.com>
|
|
||||||
Reviewed-by: David Howells <dhowells@redhat.com>
|
|
||||||
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
|
|
||||||
(cherry picked from commit 05258a0a69b3c5d2c003f818702c0a52b6fea861)
|
|
||||||
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
|
|
||||||
---
|
|
||||||
net/sunrpc/svcsock.c | 10 +---------
|
|
||||||
1 file changed, 1 insertion(+), 9 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c
|
|
||||||
index 545017a3daa4..6b3f01beb294 100644
|
|
||||||
--- a/net/sunrpc/svcsock.c
|
|
||||||
+++ b/net/sunrpc/svcsock.c
|
|
||||||
@@ -1206,15 +1206,6 @@ static int svc_tcp_recvfrom(struct svc_rqst *rqstp)
|
|
||||||
* MSG_SPLICE_PAGES is used exclusively to reduce the number of
|
|
||||||
* copy operations in this path. Therefore the caller must ensure
|
|
||||||
* that the pages backing @xdr are unchanging.
|
|
||||||
- *
|
|
||||||
- * Note that the send is non-blocking. The caller has incremented
|
|
||||||
- * the reference count on each page backing the RPC message, and
|
|
||||||
- * the network layer will "put" these pages when transmission is
|
|
||||||
- * complete.
|
|
||||||
- *
|
|
||||||
- * This is safe for our RPC services because the memory backing
|
|
||||||
- * the head and tail components is never kmalloc'd. These always
|
|
||||||
- * come from pages in the svc_rqst::rq_pages array.
|
|
||||||
*/
|
|
||||||
static int svc_tcp_sendmsg(struct svc_sock *svsk, struct svc_rqst *rqstp,
|
|
||||||
rpc_fraghdr marker, unsigned int *sentp)
|
|
||||||
@@ -1244,6 +1235,7 @@ static int svc_tcp_sendmsg(struct svc_sock *svsk, struct svc_rqst *rqstp,
|
|
||||||
iov_iter_bvec(&msg.msg_iter, ITER_SOURCE, rqstp->rq_bvec,
|
|
||||||
1 + count, sizeof(marker) + rqstp->rq_res.len);
|
|
||||||
ret = sock_sendmsg(svsk->sk_sock, &msg);
|
|
||||||
+ page_frag_free(buf);
|
|
||||||
if (ret < 0)
|
|
||||||
return ret;
|
|
||||||
*sentp += ret;
|
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Martin K. Petersen" <martin.petersen@oracle.com>
|
||||||
|
Date: Mon, 20 May 2024 22:30:40 -0400
|
||||||
|
Subject: [PATCH] scsi: core: Handle devices which return an unusually large
|
||||||
|
VPD page count
|
||||||
|
|
||||||
|
Peter Schneider reported that a system would no longer boot after
|
||||||
|
updating to 6.8.4. Peter bisected the issue and identified commit
|
||||||
|
b5fc07a5fb56 ("scsi: core: Consult supported VPD page list prior to
|
||||||
|
fetching page") as being the culprit.
|
||||||
|
|
||||||
|
Turns out the enclosure device in Peter's system reports a byteswapped
|
||||||
|
page length for VPD page 0. It reports "02 00" as page length instead
|
||||||
|
of "00 02". This causes us to attempt to access 516 bytes (page length
|
||||||
|
+ header) of information despite only 2 pages being present.
|
||||||
|
|
||||||
|
Limit the page search scope to the size of our VPD buffer to guard
|
||||||
|
against devices returning a larger page count than requested.
|
||||||
|
|
||||||
|
Link: https://lore.kernel.org/r/20240521023040.2703884-1-martin.petersen@oracle.com
|
||||||
|
Fixes: b5fc07a5fb56 ("scsi: core: Consult supported VPD page list prior to fetching page")
|
||||||
|
Cc: stable@vger.kernel.org
|
||||||
|
Reported-by: Peter Schneider <pschneider1968@googlemail.com>
|
||||||
|
Closes: https://lore.kernel.org/all/eec6ebbf-061b-4a7b-96dc-ea748aa4d035@googlemail.com/
|
||||||
|
Tested-by: Peter Schneider <pschneider1968@googlemail.com>
|
||||||
|
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
|
||||||
|
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
|
||||||
|
---
|
||||||
|
drivers/scsi/scsi.c | 7 +++++++
|
||||||
|
1 file changed, 7 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c
|
||||||
|
index 8cad9792a562..b3ff3a633a1e 100644
|
||||||
|
--- a/drivers/scsi/scsi.c
|
||||||
|
+++ b/drivers/scsi/scsi.c
|
||||||
|
@@ -350,6 +350,13 @@ static int scsi_get_vpd_size(struct scsi_device *sdev, u8 page)
|
||||||
|
if (result < SCSI_VPD_HEADER_SIZE)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
+ if (result > sizeof(vpd)) {
|
||||||
|
+ dev_warn_once(&sdev->sdev_gendev,
|
||||||
|
+ "%s: long VPD page 0 length: %d bytes\n",
|
||||||
|
+ __func__, result);
|
||||||
|
+ result = sizeof(vpd);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
result -= SCSI_VPD_HEADER_SIZE;
|
||||||
|
if (!memchr(&vpd[SCSI_VPD_HEADER_SIZE], page, result))
|
||||||
|
return 0;
|
||||||
@@ -0,0 +1,73 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Vitaly Lifshits <vitaly.lifshits@intel.com>
|
||||||
|
Date: Mon, 29 Apr 2024 10:10:40 -0700
|
||||||
|
Subject: [PATCH] e1000e: change usleep_range to udelay in PHY mdic access
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
This is a partial revert of commit 6dbdd4de0362 ("e1000e: Workaround
|
||||||
|
for sporadic MDI error on Meteor Lake systems"). The referenced commit
|
||||||
|
used usleep_range inside the PHY access routines, which are sometimes
|
||||||
|
called from an atomic context. This can lead to a kernel panic in some
|
||||||
|
scenarios, such as cable disconnection and reconnection on vPro systems.
|
||||||
|
|
||||||
|
Solve this by changing the usleep_range calls back to udelay.
|
||||||
|
|
||||||
|
Fixes: 6dbdd4de0362 ("e1000e: Workaround for sporadic MDI error on Meteor Lake systems")
|
||||||
|
Cc: stable@vger.kernel.org
|
||||||
|
Reported-by: Jérôme Carretero <cJ@zougloub.eu>
|
||||||
|
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218740
|
||||||
|
Closes: https://lore.kernel.org/lkml/a7eb665c74b5efb5140e6979759ed243072cb24a.camel@zougloub.eu/
|
||||||
|
Co-developed-by: Sasha Neftin <sasha.neftin@intel.com>
|
||||||
|
Signed-off-by: Sasha Neftin <sasha.neftin@intel.com>
|
||||||
|
Signed-off-by: Vitaly Lifshits <vitaly.lifshits@intel.com>
|
||||||
|
Tested-by: Dima Ruinskiy <dima.ruinskiy@intel.com>
|
||||||
|
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
|
||||||
|
Reviewed-by: Simon Horman <horms@kernel.org>
|
||||||
|
Link: https://lore.kernel.org/r/20240429171040.1152516-1-anthony.l.nguyen@intel.com
|
||||||
|
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||||
|
---
|
||||||
|
drivers/net/ethernet/intel/e1000e/phy.c | 8 ++++----
|
||||||
|
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/drivers/net/ethernet/intel/e1000e/phy.c b/drivers/net/ethernet/intel/e1000e/phy.c
|
||||||
|
index 93544f1cc2a5..f7ae0e0aa4a4 100644
|
||||||
|
--- a/drivers/net/ethernet/intel/e1000e/phy.c
|
||||||
|
+++ b/drivers/net/ethernet/intel/e1000e/phy.c
|
||||||
|
@@ -157,7 +157,7 @@ s32 e1000e_read_phy_reg_mdic(struct e1000_hw *hw, u32 offset, u16 *data)
|
||||||
|
* the lower time out
|
||||||
|
*/
|
||||||
|
for (i = 0; i < (E1000_GEN_POLL_TIMEOUT * 3); i++) {
|
||||||
|
- usleep_range(50, 60);
|
||||||
|
+ udelay(50);
|
||||||
|
mdic = er32(MDIC);
|
||||||
|
if (mdic & E1000_MDIC_READY)
|
||||||
|
break;
|
||||||
|
@@ -181,7 +181,7 @@ s32 e1000e_read_phy_reg_mdic(struct e1000_hw *hw, u32 offset, u16 *data)
|
||||||
|
* reading duplicate data in the next MDIC transaction.
|
||||||
|
*/
|
||||||
|
if (hw->mac.type == e1000_pch2lan)
|
||||||
|
- usleep_range(100, 150);
|
||||||
|
+ udelay(100);
|
||||||
|
|
||||||
|
if (success) {
|
||||||
|
*data = (u16)mdic;
|
||||||
|
@@ -237,7 +237,7 @@ s32 e1000e_write_phy_reg_mdic(struct e1000_hw *hw, u32 offset, u16 data)
|
||||||
|
* the lower time out
|
||||||
|
*/
|
||||||
|
for (i = 0; i < (E1000_GEN_POLL_TIMEOUT * 3); i++) {
|
||||||
|
- usleep_range(50, 60);
|
||||||
|
+ udelay(50);
|
||||||
|
mdic = er32(MDIC);
|
||||||
|
if (mdic & E1000_MDIC_READY)
|
||||||
|
break;
|
||||||
|
@@ -261,7 +261,7 @@ s32 e1000e_write_phy_reg_mdic(struct e1000_hw *hw, u32 offset, u16 data)
|
||||||
|
* reading duplicate data in the next MDIC transaction.
|
||||||
|
*/
|
||||||
|
if (hw->mac.type == e1000_pch2lan)
|
||||||
|
- usleep_range(100, 150);
|
||||||
|
+ udelay(100);
|
||||||
|
|
||||||
|
if (success)
|
||||||
|
return 0;
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Li Zhang <zhanglikernel@gmail.com>
|
||||||
|
Date: Tue, 18 Jun 2024 07:28:00 +0200
|
||||||
|
Subject: [PATCH] virtio-pci: Check if is_avq is NULL
|
||||||
|
|
||||||
|
BugLink: https://bugs.launchpad.net/bugs/2067862
|
||||||
|
|
||||||
|
[bug]
|
||||||
|
In the virtio_pci_common.c function vp_del_vqs, vp_dev->is_avq is involved
|
||||||
|
to determine whether it is admin virtqueue, but this function vp_dev->is_avq
|
||||||
|
may be empty. For installations, virtio_pci_legacy does not assign a value
|
||||||
|
to vp_dev->is_avq.
|
||||||
|
|
||||||
|
[fix]
|
||||||
|
Check whether it is vp_dev->is_avq before use.
|
||||||
|
|
||||||
|
[test]
|
||||||
|
Test with virsh Attach device
|
||||||
|
Before this patch, the following command would crash the guest system
|
||||||
|
|
||||||
|
After applying the patch, everything seems to be working fine.
|
||||||
|
|
||||||
|
Signed-off-by: Li Zhang <zhanglikernel@gmail.com>
|
||||||
|
Message-Id: <1710566754-3532-1-git-send-email-zhanglikernel@gmail.com>
|
||||||
|
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
||||||
|
|
||||||
|
(cherry picked from commit c8fae27d141a32a1624d0d0d5419d94252824498)
|
||||||
|
Signed-off-by: Matthew Ruffell <matthew.ruffell@canonical.com>
|
||||||
|
Acked-by: Paolo Pisati <paolo.pisati@canonical.com>
|
||||||
|
Acked-by: Manuel Diewald <manuel.diewald@canonical.com>
|
||||||
|
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
|
||||||
|
---
|
||||||
|
drivers/virtio/virtio_pci_common.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/drivers/virtio/virtio_pci_common.c b/drivers/virtio/virtio_pci_common.c
|
||||||
|
index b655fccaf773..3c18fc14cd66 100644
|
||||||
|
--- a/drivers/virtio/virtio_pci_common.c
|
||||||
|
+++ b/drivers/virtio/virtio_pci_common.c
|
||||||
|
@@ -236,7 +236,7 @@ void vp_del_vqs(struct virtio_device *vdev)
|
||||||
|
int i;
|
||||||
|
|
||||||
|
list_for_each_entry_safe(vq, n, &vdev->vqs, list) {
|
||||||
|
- if (vp_dev->is_avq(vdev, vq->index))
|
||||||
|
+ if (vp_dev->is_avq && vp_dev->is_avq(vdev, vq->index))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (vp_dev->per_vq_vectors) {
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
diff -Naur --no-dereference a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
|
||||||
|
--- a/arch/x86/kvm/vmx/vmx.c 2024-07-01 21:03:34.000000000 +0300
|
||||||
|
+++ b/arch/x86/kvm/vmx/vmx.c 2024-07-01 20:24:05.000000000 +0300
|
||||||
|
@@ -6137,6 +6137,10 @@
|
||||||
|
[EXIT_REASON_ENCLS] = handle_encls,
|
||||||
|
[EXIT_REASON_BUS_LOCK] = handle_bus_lock_vmexit,
|
||||||
|
[EXIT_REASON_NOTIFY] = handle_notify,
|
||||||
|
+ [EXIT_REASON_RDTSC] = handle_rdtsc,
|
||||||
|
+ [EXIT_REASON_RDTSCP] = handle_rdtscp,
|
||||||
|
+ [EXIT_REASON_UMWAIT] = handle_umwait,
|
||||||
|
+ [EXIT_REASON_TPAUSE] = handle_tpause,
|
||||||
|
};
|
||||||
|
|
||||||
|
static const int kvm_vmx_max_exit_handlers =
|
||||||
|
|
||||||
|
diff -Naur --no-dereference a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
|
||||||
|
--- a/arch/x86/kvm/vmx/vmx.c 2024-07-01 21:03:34.000000000 +0300
|
||||||
|
+++ b/arch/x86/kvm/vmx/vmx.c 2024-07-01 20:24:05.000000000 +0300
|
||||||
|
@@ -6079,6 +6079,36 @@
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
+static int handle_rdtsc(struct kvm_vcpu *vcpu)
|
||||||
|
+{
|
||||||
|
+ u64 _rdtsc = rdtsc();
|
||||||
|
+ printk_once("[HookEntry] hook entry function handle_rdtsc is working, return the rdtsc() if no hook , you can hook here!\n");
|
||||||
|
+ vcpu->arch.regs[VCPU_REGS_RAX] = _rdtsc & -1u;
|
||||||
|
+ vcpu->arch.regs[VCPU_REGS_RDX] = (_rdtsc >> 32) & -1u;
|
||||||
|
+ return kvm_skip_emulated_instruction(vcpu);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static int handle_rdtscp(struct kvm_vcpu *vcpu)
|
||||||
|
+{
|
||||||
|
+ u64 _rdtsc = rdtsc();
|
||||||
|
+ printk_once("[HookEntry] hook entry function handle_rdtscp is working, return the rdtsc() if no hook , you can hook here!\n");
|
||||||
|
+ vcpu->arch.regs[VCPU_REGS_RAX] = _rdtsc & -1u;
|
||||||
|
+ vcpu->arch.regs[VCPU_REGS_RDX] = (_rdtsc >> 32) & -1u;
|
||||||
|
+ return kvm_skip_emulated_instruction(vcpu);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static int handle_umwait(struct kvm_vcpu *vcpu)
|
||||||
|
+{
|
||||||
|
+ kvm_skip_emulated_instruction(vcpu);
|
||||||
|
+ return 1;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static int handle_tpause(struct kvm_vcpu *vcpu)
|
||||||
|
+{
|
||||||
|
+ kvm_skip_emulated_instruction(vcpu);
|
||||||
|
+ return 1;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
/*
|
||||||
|
* The exit handlers return 1 if the exit was handled fully and guest execution
|
||||||
|
* may resume. Otherwise they set the kvm_run parameter to indicate what needs
|
||||||
+1
-1
Submodule submodules/ubuntu-kernel updated: ffe6f65786...8b97f8a67b
Reference in New Issue
Block a user