upg linux 5.15.106

This commit is contained in:
joborun linux 2023-04-06 22:04:24 +03:00
parent 93f4fe9dce
commit 78f937d6ca
27 changed files with 44920 additions and 41 deletions

View File

@ -3416,7 +3416,7 @@ CONFIG_SLIP=m
CONFIG_SLHC=m
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP_SMART=y
CONFIG_SLIP_MODE_SLIP6=y
CONFIG_SLIP_MODE_SLIP6=n
CONFIG_USB_NET_DRIVERS=m
CONFIG_USB_CATC=m
CONFIG_USB_KAWETH=m
@ -8059,12 +8059,12 @@ CONFIG_XEN_UNPOPULATED_ALLOC=y
CONFIG_STAGING=y
CONFIG_PRISM2_USB=m
# CONFIG_COMEDI is not set
CONFIG_RTL8192U=y
CONFIG_RTL8192U=m
CONFIG_RTLLIB=m
CONFIG_RTLLIB_CRYPTO_CCMP=m
CONFIG_RTLLIB_CRYPTO_TKIP=m
CONFIG_RTLLIB_CRYPTO_WEP=m
CONFIG_RTL8192E=y
CONFIG_RTL8192E=m
CONFIG_RTL8723BS=m
CONFIG_R8712U=m
CONFIG_R8188EU=m
@ -9717,6 +9717,7 @@ CONFIG_CRYPTO_RSA=y
CONFIG_CRYPTO_DH=y
CONFIG_CRYPTO_ECC=y
CONFIG_CRYPTO_ECDH=m
CONFIG_CRYPTO_ECDSA=y
CONFIG_CRYPTO_ECRDSA=m
CONFIG_CRYPTO_SM2=m
CONFIG_CRYPTO_CURVE25519=m

View File

@ -6,11 +6,10 @@
#-----------------------------------------| DESCRIPTION |---------------------------------------
pkgbase=linux
pkgver=5.15.104
pkgver=5.15.106
pkgrel=01
pkgdesc='Linux LTS 5.15 w/o zstd ipv6'
url="https://www.kernel.org/"
arch=(x86_64)
makedepends=(
bc libelf pahole cpio perl tar xz kmod
xmlto python-sphinx python-sphinx_rtd_theme graphviz imagemagick)
@ -24,7 +23,6 @@ source=(
0003-iommu-intel-do-deep-dma-unmapping-to-avoid-kernel-fl.patch
0004-Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch
0005-lg-laptop-Recognize-more-models.patch
# 0006-Fix-NFSv4-mount-regression.patch
sha256sums::https://cdn.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc)
export KBUILD_BUILD_HOST=joborun
@ -215,18 +213,17 @@ validpgpkeys=(ABAF11C65A2970B130ABE3C479BE3E4300411886 # Linus Torvalds
A2FF3A36AAA56654109064AB19802F8B0D70FC30) # Jan Alexander Steffens (heftig)
# https://cdn.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc --> sha256sums
# 71c532ce09992e470f3259ffeb38d2b5bba990c243a559e4726a57412bd36b54 linux-5.15.104.tar.xz
# 84e6934f828033570966e2a56fe8b72dc6e1409be296c66f4bf3c8ca6e3c8fe4 linux-5.15.106.tar.xz
sha256sums=(71c532ce09992e470f3259ffeb38d2b5bba990c243a559e4726a57412bd36b54 # linux-5.15.104.tar.xz
b9d1812d8a1cd0982794153bd9fe929d2b080179cb064791e3b17fc910e3a873 # linux-5.15.104.tar.sign
8c4a1dd0c39541f2f4cb0ebae0c3a168928a2bd036467efacad5302d3e394dfe # config
sha256sums=(84e6934f828033570966e2a56fe8b72dc6e1409be296c66f4bf3c8ca6e3c8fe4 # linux-5.15.106.tar.xz
9687c22e00c141703b98c59402058e250b0238af92b59b21693267e1bf820951 # linux-5.15.106.tar.sign
f77d1639fdf0315b590aa6783baf91695c40fc8127a44163a84bf97908768230 # config
3b5cfc9ca9cf778ea2c4b619b933cda26519969df2d764b5a687f63cf59974cd # 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
c175fbb141c3cec013c799f694d88310375ac5456042f6a4a1adc7667836d786 # 0002-PCI-Add-more-NVIDIA-controllers-to-the-MSI-masking-q.patch
8357f000b2b622e73dcfd41c2bad42b5e99fffe8f7ee64f774aa771f86cef43c # 0003-iommu-intel-do-deep-dma-unmapping-to-avoid-kernel-fl.patch
5c1ee81fdd5818442af6081de987f9c1a9ce3c8d183566b3dfc19a8433aa3dde # 0004-Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch
067e8995fcd6f6ed25e0253e9374c0e179a000c154da3e59ce62634945ac5be9 # 0005-lg-laptop-Recognize-more-models.patch
ce55714ecfde10c881f219a379945bff6a666d1777af96ca96b32d8e1a2f1d1f) # sha256sums
## 676cd2e5c209f7ccf81b97e14e90348be3eaa24eb51163a36dd7df7e71d6ea13 linux-5.15.104-01-x86_64.pkg.tar.lz
## 4d168b633e37c0fab1d9408e03de9aae669784018ce92acd14b5a22f3754bcb3 linux-headers-5.15.104-01-x86_64.pkg.tar.lz
85176af2c453d0eef080581b5b19e39b1f2de879f5f400da244fabd7a4014729) # sha256sums
## a4dc6387baf4a20533b7f1878cea887f61fbdef6e5901482dd72af3c9c76c9ea linux-5.15.106-01-x86_64.pkg.tar.lz
## d78abb64cbca8fabc1754195ccc43fe90cb0d4c48a4d971ab9c533ecc23c695f linux-headers-5.15.106-01-x86_64.pkg.tar.lz

272
linux/PKGBUILD-aur.105 Normal file
View File

@ -0,0 +1,272 @@
# Maintainer: Andreas Baumann <mail@andreasbaumann.cc>
# Contributor: Andreas Radke <andyrtr@archlinux.org>
pkgbase=linux-lts515
pkgver=5.15.105
pkgrel=3
pkgdesc='LTS Linux 5.15.x'
url="https://www.kernel.org/"
arch=(x86_64 pentium4 i686 i486)
license=(GPL2)
makedepends=(
bc libelf pahole cpio perl tar xz
xmlto python-sphinx python-sphinx_rtd_theme graphviz imagemagick texlive-latexextra
)
options=('!strip')
_srcname=linux-$pkgver
source=(
https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/${_srcname}.tar.{xz,sign}
config # the main kernel config file
0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
0002-PCI-Add-more-NVIDIA-controllers-to-the-MSI-masking-q.patch
0003-iommu-intel-do-deep-dma-unmapping-to-avoid-kernel-fl.patch
0004-Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch
0005-lg-laptop-Recognize-more-models.patch
)
validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
)
# https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc
sha256sums=('01b537650332d2852722a626169cf7e5e798d11f9b578171b477868555f5e44f'
'SKIP'
'7b80ea3c8cd2cd4bbb079b565770eaac31c13c64fe3ce519c3ed2aa6c85af547'
'3b5cfc9ca9cf778ea2c4b619b933cda26519969df2d764b5a687f63cf59974cd'
'c175fbb141c3cec013c799f694d88310375ac5456042f6a4a1adc7667836d786'
'8357f000b2b622e73dcfd41c2bad42b5e99fffe8f7ee64f774aa771f86cef43c'
'5c1ee81fdd5818442af6081de987f9c1a9ce3c8d183566b3dfc19a8433aa3dde'
'067e8995fcd6f6ed25e0253e9374c0e179a000c154da3e59ce62634945ac5be9')
export KBUILD_BUILD_HOST=archlinux
export KBUILD_BUILD_USER=$pkgbase
export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})"
prepare() {
cd $_srcname
echo "Setting version..."
scripts/setlocalversion --save-scmversion
echo "-$pkgrel" > localversion.10-pkgrel
echo "${pkgbase#linux}" > localversion.20-pkgname
local src
for src in "${source[@]}"; do
src="${src%%::*}"
src="${src##*/}"
[[ $src = *.patch ]] || continue
echo "Applying patch $src..."
patch -Np1 < "../$src"
done
echo "Setting config..."
cp ../config .config
make olddefconfig
diff -u ../config .config || :
make -s kernelrelease > version
echo "Prepared $pkgbase version $(<version)"
}
build() {
cd $_srcname
make htmldocs all
}
_package() {
pkgdesc="The $pkgdesc kernel and modules"
depends=(coreutils kmod initramfs)
optdepends=('wireless-regdb: to set the correct wireless channels of your country'
'linux-firmware: firmware images needed for some devices')
provides=(VIRTUALBOX-GUEST-MODULES WIREGUARD-MODULE KSMBD-MODULE)
replaces=(wireguard-lts)
cd $_srcname
local kernver="$(<version)"
local modulesdir="$pkgdir/usr/lib/modules/$kernver"
echo "Installing boot image..."
# systemd expects to find the kernel here to allow hibernation
# https://github.com/systemd/systemd/commit/edda44605f06a41fb86b7ab8128dcf99161d2344
install -Dm644 "$(make -s image_name)" "$modulesdir/vmlinuz"
# Used by mkinitcpio to name the kernel
echo "$pkgbase" | install -Dm644 /dev/stdin "$modulesdir/pkgbase"
echo "Installing modules..."
make INSTALL_MOD_PATH="$pkgdir/usr" INSTALL_MOD_STRIP=1 \
DEPMOD=/doesnt/exist modules_install # Suppress depmod
# remove build and source links
rm "$modulesdir"/{source,build}
}
_package-headers() {
pkgdesc="Headers and scripts for building modules for the $pkgdesc kernel"
depends=(pahole)
cd $_srcname
local builddir="$pkgdir/usr/lib/modules/$(<version)/build"
echo "Installing build files..."
install -Dt "$builddir" -m644 .config Makefile Module.symvers System.map \
localversion.* version vmlinux
install -Dt "$builddir/kernel" -m644 kernel/Makefile
install -Dt "$builddir/arch/x86" -m644 arch/x86/Makefile
cp -t "$builddir" -a scripts
# required when STACK_VALIDATION is enabled
install -Dt "$builddir/tools/objtool" tools/objtool/objtool
# required when DEBUG_INFO_BTF_MODULES is enabled
install -Dt "$builddir/tools/bpf/resolve_btfids" tools/bpf/resolve_btfids/resolve_btfids
echo "Installing headers..."
cp -t "$builddir" -a include
cp -t "$builddir/arch/x86" -a arch/x86/include
install -Dt "$builddir/arch/x86/kernel" -m644 arch/x86/kernel/asm-offsets.s
install -Dt "$builddir/drivers/md" -m644 drivers/md/*.h
install -Dt "$builddir/net/mac80211" -m644 net/mac80211/*.h
# https://bugs.archlinux.org/task/13146
install -Dt "$builddir/drivers/media/i2c" -m644 drivers/media/i2c/msp3400-driver.h
# https://bugs.archlinux.org/task/20402
install -Dt "$builddir/drivers/media/usb/dvb-usb" -m644 drivers/media/usb/dvb-usb/*.h
install -Dt "$builddir/drivers/media/dvb-frontends" -m644 drivers/media/dvb-frontends/*.h
install -Dt "$builddir/drivers/media/tuners" -m644 drivers/media/tuners/*.h
# https://bugs.archlinux.org/task/71392
install -Dt "$builddir/drivers/iio/common/hid-sensors" -m644 drivers/iio/common/hid-sensors/*.h
echo "Installing KConfig files..."
find . -name 'Kconfig*' -exec install -Dm644 {} "$builddir/{}" \;
echo "Removing unneeded architectures..."
local arch
for arch in "$builddir"/arch/*/; do
[[ $arch = */x86/ ]] && continue
echo "Removing $(basename "$arch")"
rm -r "$arch"
done
echo "Removing documentation..."
rm -r "$builddir/Documentation"
echo "Removing broken symlinks..."
find -L "$builddir" -type l -printf 'Removing %P\n' -delete
echo "Removing loose objects..."
find "$builddir" -type f -name '*.o' -printf 'Removing %P\n' -delete
echo "Stripping build tools..."
local file
while read -rd '' file; do
case "$(file -bi "$file")" in
application/x-sharedlib\;*) # Libraries (.so)
strip -v $STRIP_SHARED "$file" ;;
application/x-archive\;*) # Libraries (.a)
strip -v $STRIP_STATIC "$file" ;;
application/x-executable\;*) # Binaries
strip -v $STRIP_BINARIES "$file" ;;
application/x-pie-executable\;*) # Relocatable binaries
strip -v $STRIP_SHARED "$file" ;;
esac
done < <(find "$builddir" -type f -perm -u+x ! -name vmlinux -print0)
echo "Stripping vmlinux..."
strip -v $STRIP_STATIC "$builddir/vmlinux"
echo "Adding symlink..."
mkdir -p "$pkgdir/usr/src"
ln -sr "$builddir" "$pkgdir/usr/src/$pkgbase"
}
_package-docs() {
pkgdesc="Documentation for the $pkgdesc kernel"
cd $_srcname
local builddir="$pkgdir/usr/lib/modules/$(<version)/build"
echo "Installing documentation..."
local src dst
while read -rd '' src; do
dst="${src#Documentation/}"
dst="$builddir/Documentation/${dst#output/}"
install -Dm644 "$src" "$dst"
done < <(find Documentation -name '.*' -prune -o ! -type d -print0)
echo "Adding symlink..."
mkdir -p "$pkgdir/usr/share/doc"
ln -sr "$builddir/Documentation" "$pkgdir/usr/share/doc/$pkgbase"
}
pkgname=("$pkgbase" "$pkgbase-headers" "$pkgbase-docs")
for _p in "${pkgname[@]}"; do
eval "package_$_p() {
$(declare -f "_package${_p#$pkgbase}")
_package${_p#$pkgbase}
}"
done
# vim:set ts=8 sts=2 sw=2 et:
if [ "${CARCH}" = "i486" -o "${CARCH}" = "i686" -o "${CARCH}" = "pentium4" ]; then
# use 32-bit configuration files per subarchitecture instead of main config file
source_pentium4=('config.pentium4')
source_i686=('config.i686')
source_i486=('config.i486')
# fail if upstream's .config changes
for ((i=0; i<${#sha256sums[@]}; i++)); do
if [ "${sha256sums[${i}]}" = '7b80ea3c8cd2cd4bbb079b565770eaac31c13c64fe3ce519c3ed2aa6c85af547' ]; then
sha256sums_pentium4=('8c63d82cc603d1eff603cdf6eb36f89264eaad7f47591d0b4cdccd1de28270d6')
sha256sums_i686=('2206fb7e6e9e55d0c52eefd1b848c3705e7853e9df29d7f33811eac46b567385')
sha256sums_i486=('b67fc270607fb3e0349818afc15e7a8a456da27fb49366b91cf2f78607863228')
fi
done
# copy architecture specific config file, not default 'config'
eval "$(
declare -f prepare | \
sed '
s,\.\./config,../config.$CARCH,
'
)"
# patch architecture when copying the kernel Makefile
eval "$(
declare -f package_linux-lts515-headers | \
sed '
\,/tools/objtool" ,d
\,arch/x86/Makefile, {
a \
install -t "${builddir}/arch/x86" -m644 arch/x86/Makefile_32.cpu
}
'
)"
# avoid using zstd compression in ultra mode (exhausts virtual memory)
source+=('no-ultra-zstd.patch')
sha256sums+=('3997ce6033fdf950a9960f1db720b38c47b1a2e06ab75fc6712c154f596e7c47')
# upstream prepare() does already do the *.patch patching
# temporarily disabled documentation due to sphinx_rtd_theme (FS32#163)
pkgname=(
$(
printf '%s\n' "${pkgname[@]}" | \
grep -v '^\$pkgbase-docs'
)
)
eval "$(
declare -f build | \
sed '
s/\bhtmldocs\b//
'
)"
makedepends=(${makedepends[@]//python-sphinx_rtd_theme/})
makedepends=(${makedepends[@]//python-sphinx/})
makedepends=(${makedepends[@]//graphviz/})
makedepends=(${makedepends[@]//imagemagick/})
makedepends=(${makedepends[@]//texlive-latexextra/})
fi

View File

@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 5.15.104 Kernel Configuration
# Linux/x86 5.15.106 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="gcc (GCC) 12.2.1 20230201"
CONFIG_CC_IS_GCC=y
@ -9,7 +9,7 @@ CONFIG_AS_IS_GNU=y
CONFIG_AS_VERSION=24000
CONFIG_LD_IS_BFD=y
CONFIG_LD_VERSION=24000
CLANG_VERSION=0
CONFIG_CLANG_VERSION=0
CONFIG_LLD_VERSION=0
CONFIG_CC_CAN_LINK=y
CONFIG_CC_CAN_LINK_STATIC=y
@ -883,8 +883,8 @@ CONFIG_MODULE_SIG_ALL=y
# CONFIG_MODULE_SIG_SHA1 is not set
# CONFIG_MODULE_SIG_SHA224 is not set
# CONFIG_MODULE_SIG_SHA256 is not set
MODULE_SIG_SHA256=y
CONFIG_MODULE_SIG_HASH="sha256"
# MODULE_SIG_SHA256=y
# CONFIG_MODULE_SIG_HASH="sha256"
# CONFIG_MODULE_SIG_SHA384 is not set
CONFIG_MODULE_SIG_SHA512=y
CONFIG_MODULE_SIG_HASH="sha512"
@ -2293,7 +2293,7 @@ CONFIG_FW_CFG_SYSFS=m
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
CONFIG_SYSFB=y
# CONFIG_SYSFB_SIMPLEFB is not set
CONFIG_GOOGLE_FIRMWARE=m
CONFIG_GOOGLE_FIRMWARE=y
# CONFIG_GOOGLE_SMI is not set
CONFIG_GOOGLE_COREBOOT_TABLE=m
CONFIG_GOOGLE_MEMCONSOLE=m
@ -4939,6 +4939,7 @@ CONFIG_SENSORS_AXI_FAN_CONTROL=m
CONFIG_SENSORS_K8TEMP=m
CONFIG_SENSORS_K10TEMP=m
CONFIG_SENSORS_FAM15H_POWER=m
CONFIG_SENSORS_AMD_ENERGY=y
CONFIG_SENSORS_APPLESMC=m
CONFIG_SENSORS_ASB100=m
CONFIG_SENSORS_ASPEED=m
@ -6422,7 +6423,8 @@ CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
CONFIG_FB_CMDLINE=y
CONFIG_FB_NOTIFY=y
CONFIG_FB=y
# CONFIG_FIRMWARE_EDID is not set
CONFIG_FIRMWARE_EDID=y
CONFIG_FB_BOOT_VESA_SUPPORT=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
@ -6432,8 +6434,8 @@ CONFIG_FB_SYS_IMAGEBLIT=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=y
CONFIG_FB_DEFERRED_IO=y
# CONFIG_FB_MODE_HELPERS is not set
# CONFIG_FB_TILEBLITTING is not set
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y
#
# Frame buffer hardware drivers
@ -8296,6 +8298,7 @@ CONFIG_ADIS16240=m
# Analog to digital converters
#
CONFIG_AD7816=m
CONFIG_AD7192=m
CONFIG_AD7280=m
# end of Analog to digital converters
@ -9735,11 +9738,11 @@ CONFIG_EROFS_FS_SECURITY=y
CONFIG_EROFS_FS_ZIP=y
CONFIG_VBOXSF_FS=m
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=m
CONFIG_NFS_V2=m
CONFIG_NFS_V3=m
CONFIG_NFS_FS=y
CONFIG_NFS_V2=y
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=m
CONFIG_NFS_V4=y
CONFIG_NFS_SWAP=y
CONFIG_NFS_V4_1=y
CONFIG_NFS_V4_2=y
@ -10074,7 +10077,7 @@ CONFIG_CRYPTO_CRC32_PCLMUL=m
CONFIG_CRYPTO_XXHASH=m
CONFIG_CRYPTO_BLAKE2B=m
CONFIG_CRYPTO_BLAKE2S=m
# CONFIG_CRYPTO_BLAKE2S_X86=m
CONFIG_CRYPTO_BLAKE2S_X86=m
CONFIG_CRYPTO_CRCT10DIF=y
CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m
CONFIG_CRYPTO_GHASH=m

10706
linux/config-aur.105 Normal file

File diff suppressed because it is too large Load Diff

12
linux/no-ultra-zstd.patch Normal file
View File

@ -0,0 +1,12 @@
diff -rauN a/scripts/Makefile.lib b/scripts/Makefile.lib
--- a/scripts/Makefile.lib 2020-11-11 06:45:51.375133819 +0100
+++ b/scripts/Makefile.lib 2020-11-11 06:46:12.058448322 +0100
@@ -445,7 +445,7 @@
cmd_zstd = { cat $(real-prereqs) | $(ZSTD) -19; $(size_append); } > $@
quiet_cmd_zstd22 = ZSTD22 $@
- cmd_zstd22 = { cat $(real-prereqs) | $(ZSTD) -22 --ultra; $(size_append); } > $@
+ cmd_zstd22 = { cat $(real-prereqs) | $(ZSTD) -19; $(size_append); } > $@
# ASM offsets
# ---------------------------------------------------------------------------

View File

@ -0,0 +1,21 @@
From 0bb6e4f104167b1e283269b46f3bbd30b2d979a7 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
Date: Thu, 18 Nov 2021 22:53:31 +0100
Subject: [PATCH] PCI: Add more NVIDIA controllers to the MSI masking quirk
For: https://bugs.archlinux.org/task/72734
For: https://bugs.archlinux.org/task/72777
---
drivers/pci/quirks.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 208fa03acdda0..7fdb7e9c2e12c 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -5802,3 +5802,5 @@ static void nvidia_ion_ahci_fixup(struct pci_dev *pdev)
pdev->dev_flags |= PCI_DEV_FLAGS_HAS_MSI_MASKING;
}
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0ab8, nvidia_ion_ahci_fixup);
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0ab9, nvidia_ion_ahci_fixup);
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0d88, nvidia_ion_ahci_fixup);

View File

@ -0,0 +1,85 @@
From 32803dc7c2ffc29db15a46034d818f6e6c5775ef Mon Sep 17 00:00:00 2001
From: Ajay Garg <ajaygargnsit@gmail.com>
Date: Tue, 12 Oct 2021 19:26:53 +0530
Subject: [PATCH] iommu: intel: do deep dma-unmapping, to avoid
kernel-flooding.
Origins at :
https://lists.linuxfoundation.org/pipermail/iommu/2021-October/thread.html
=== Changes from v1 => v2 ===
a)
Improved patch-description.
b)
A more root-level fix, as suggested by
1.
Alex Williamson <alex.williamson@redhat.com>
2.
Lu Baolu <baolu.lu@linux.intel.com>
=== Issue ===
Kernel-flooding is seen, when an x86_64 L1 guest (Ubuntu-21) is booted in qemu/kvm
on a x86_64 host (Ubuntu-21), with a host-pci-device attached.
Following kind of logs, along with the stacktraces, cause the flood :
......
DMAR: ERROR: DMA PTE for vPFN 0x428ec already set (to 3f6ec003 not 3f6ec003)
DMAR: ERROR: DMA PTE for vPFN 0x428ed already set (to 3f6ed003 not 3f6ed003)
DMAR: ERROR: DMA PTE for vPFN 0x428ee already set (to 3f6ee003 not 3f6ee003)
DMAR: ERROR: DMA PTE for vPFN 0x428ef already set (to 3f6ef003 not 3f6ef003)
DMAR: ERROR: DMA PTE for vPFN 0x428f0 already set (to 3f6f0003 not 3f6f0003)
......
=== Current Behaviour, leading to the issue ===
Currently, when we do a dma-unmapping, we unmap/unlink the mappings, but
the pte-entries are not cleared.
Thus, following sequencing would flood the kernel-logs :
i)
A dma-unmapping makes the real/leaf-level pte-slot invalid, but the
pte-content itself is not cleared.
ii)
Now, during some later dma-mapping procedure, as the pte-slot is about
to hold a new pte-value, the intel-iommu checks if a prior
pte-entry exists in the pte-slot. If it exists, it logs a kernel-error,
along with a corresponding stacktrace.
iii)
Step ii) runs in abundance, and the kernel-logs run insane.
=== Fix ===
We ensure that as part of a dma-unmapping, each (unmapped) pte-slot
is also cleared of its value/content (at the leaf-level, where the
real mapping from a iova => pfn mapping is stored).
This completes a "deep" dma-unmapping.
Signed-off-by: Ajay Garg <ajaygargnsit@gmail.com>
Link: https://lore.kernel.org/linux-iommu/20211012135653.3852-1-ajaygargnsit@gmail.com/
---
drivers/iommu/intel/iommu.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
index 78f8c8e6803e9..d8da48a91ba3b 100644
--- a/drivers/iommu/intel/iommu.c
+++ b/drivers/iommu/intel/iommu.c
@@ -5092,6 +5092,8 @@ static size_t intel_iommu_unmap(struct iommu_domain *domain,
gather->freelist = domain_unmap(dmar_domain, start_pfn,
last_pfn, gather->freelist);
+ dma_pte_clear_range(dmar_domain, start_pfn, last_pfn);
+
if (dmar_domain->max_addr == iova + size)
dmar_domain->max_addr = iova;

View File

@ -0,0 +1,57 @@
From a6d4fb4f5e7fe795d9e3b28b261a0f86f1026d03 Mon Sep 17 00:00:00 2001
From: Kiran K <kiran.k@intel.com>
Date: Wed, 13 Oct 2021 13:35:11 +0530
Subject: [PATCH] Bluetooth: btintel: Fix bdaddress comparison with garbage
value
Intel Read Verision(TLV) data is parsed into a local structure variable
and it contains a field for bd address. Bd address is returned only in
bootloader mode and hence bd address in TLV structure needs to be validated
only if controller is present in boot loader mode.
Signed-off-by: Kiran K <kiran.k@intel.com>
Reviewed-by: Tedd Ho-Jeong An <tedd.an@intel.com>
---
drivers/bluetooth/btintel.c | 22 ++++++++++++++--------
1 file changed, 14 insertions(+), 8 deletions(-)
diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
index f1705b46fc889..b9055a3e61ed7 100644
--- a/drivers/bluetooth/btintel.c
+++ b/drivers/bluetooth/btintel.c
@@ -2006,14 +2006,16 @@ static int btintel_prepare_fw_download_tlv(struct hci_dev *hdev,
if (ver->img_type == 0x03) {
btintel_clear_flag(hdev, INTEL_BOOTLOADER);
btintel_check_bdaddr(hdev);
- }
-
- /* If the OTP has no valid Bluetooth device address, then there will
- * also be no valid address for the operational firmware.
- */
- if (!bacmp(&ver->otp_bd_addr, BDADDR_ANY)) {
- bt_dev_info(hdev, "No device address configured");
- set_bit(HCI_QUIRK_INVALID_BDADDR, &hdev->quirks);
+ } else {
+ /*
+ * Check for valid bd address in boot loader mode. Device
+ * will be marked as unconfigured if empty bd address is
+ * found.
+ */
+ if (!bacmp(&ver->otp_bd_addr, BDADDR_ANY)) {
+ bt_dev_info(hdev, "No device address configured");
+ set_bit(HCI_QUIRK_INVALID_BDADDR, &hdev->quirks);
+ }
}
btintel_get_fw_name_tlv(ver, fwname, sizeof(fwname), "sfi");
@@ -2303,6 +2305,10 @@ static int btintel_setup_combined(struct hci_dev *hdev)
goto exit_error;
}
+ /* memset ver_tlv to start with clean state as few fields are exclusive
+ * to bootloader mode and are not populated in operational mode
+ */
+ memset(&ver_tlv, 0, sizeof(ver_tlv));
/* For TLV type device, parse the tlv data */
err = btintel_parse_version_tlv(hdev, &ver_tlv, skb);
if (err) {

View File

@ -0,0 +1,51 @@
From aa7300919d0656a001fe0d526508b8c5958e7630 Mon Sep 17 00:00:00 2001
From: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Date: Thu, 18 Nov 2021 21:18:01 -0800
Subject: [PATCH] cpufreq: intel_pstate: ITMT support for overclocked system
On systems with overclocking enabled, CPPC Highest Performance can be
hard coded to 0xff. In this case even if we have cores with different
highest performance, ITMT can't be enabled as the current implementation
depends on CPPC Highest Performance.
On such systems we can use MSR_HWP_CAPABILITIES maximum performance field
when CPPC.Highest Performance is 0xff.
Due to legacy reasons, we can't solely depend on MSR_HWP_CAPABILITIES as
in some older systems CPPC Highest Performance is the only way to identify
different performing cores.
Reported-by: Michael Larabel <Michael@MichaelLarabel.com>
Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
---
drivers/cpufreq/intel_pstate.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
index e15c3bc17a55c..8a2c6b58b6524 100644
--- a/drivers/cpufreq/intel_pstate.c
+++ b/drivers/cpufreq/intel_pstate.c
@@ -335,6 +335,8 @@ static void intel_pstste_sched_itmt_work_fn(struct work_struct *work)
static DECLARE_WORK(sched_itmt_work, intel_pstste_sched_itmt_work_fn);
+#define CPPC_MAX_PERF U8_MAX
+
static void intel_pstate_set_itmt_prio(int cpu)
{
struct cppc_perf_caps cppc_perf;
@@ -345,6 +347,14 @@ static void intel_pstate_set_itmt_prio(int cpu)
if (ret)
return;
+ /*
+ * On some systems with overclocking enabled, CPPC.highest_perf is hardcoded to 0xff.
+ * In this case we can't use CPPC.highest_perf to enable ITMT.
+ * In this case we can look at MSR_HWP_CAPABILITIES bits [8:0] to decide.
+ */
+ if (cppc_perf.highest_perf == CPPC_MAX_PERF)
+ cppc_perf.highest_perf = HWP_HIGHEST_PERF(READ_ONCE(all_cpu_data[cpu]->hwp_cap_cached));
+
/*
* The priorities can be set regardless of whether or not
* sched_set_itmt_support(true) has been called and it is valid to

View File

@ -0,0 +1,57 @@
From a6d4fb4f5e7fe795d9e3b28b261a0f86f1026d03 Mon Sep 17 00:00:00 2001
From: Kiran K <kiran.k@intel.com>
Date: Wed, 13 Oct 2021 13:35:11 +0530
Subject: [PATCH] Bluetooth: btintel: Fix bdaddress comparison with garbage
value
Intel Read Verision(TLV) data is parsed into a local structure variable
and it contains a field for bd address. Bd address is returned only in
bootloader mode and hence bd address in TLV structure needs to be validated
only if controller is present in boot loader mode.
Signed-off-by: Kiran K <kiran.k@intel.com>
Reviewed-by: Tedd Ho-Jeong An <tedd.an@intel.com>
---
drivers/bluetooth/btintel.c | 22 ++++++++++++++--------
1 file changed, 14 insertions(+), 8 deletions(-)
diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
index f1705b46fc889..b9055a3e61ed7 100644
--- a/drivers/bluetooth/btintel.c
+++ b/drivers/bluetooth/btintel.c
@@ -2006,14 +2006,16 @@ static int btintel_prepare_fw_download_tlv(struct hci_dev *hdev,
if (ver->img_type == 0x03) {
btintel_clear_flag(hdev, INTEL_BOOTLOADER);
btintel_check_bdaddr(hdev);
- }
-
- /* If the OTP has no valid Bluetooth device address, then there will
- * also be no valid address for the operational firmware.
- */
- if (!bacmp(&ver->otp_bd_addr, BDADDR_ANY)) {
- bt_dev_info(hdev, "No device address configured");
- set_bit(HCI_QUIRK_INVALID_BDADDR, &hdev->quirks);
+ } else {
+ /*
+ * Check for valid bd address in boot loader mode. Device
+ * will be marked as unconfigured if empty bd address is
+ * found.
+ */
+ if (!bacmp(&ver->otp_bd_addr, BDADDR_ANY)) {
+ bt_dev_info(hdev, "No device address configured");
+ set_bit(HCI_QUIRK_INVALID_BDADDR, &hdev->quirks);
+ }
}
btintel_get_fw_name_tlv(ver, fwname, sizeof(fwname), "sfi");
@@ -2303,6 +2305,10 @@ static int btintel_setup_combined(struct hci_dev *hdev)
goto exit_error;
}
+ /* memset ver_tlv to start with clean state as few fields are exclusive
+ * to bootloader mode and are not populated in operational mode
+ */
+ memset(&ver_tlv, 0, sizeof(ver_tlv));
/* For TLV type device, parse the tlv data */
err = btintel_parse_version_tlv(hdev, &ver_tlv, skb);
if (err) {

View File

@ -0,0 +1,36 @@
From 72edf8c167268bb68d701f46006ccfdfa5490db8 Mon Sep 17 00:00:00 2001
From: Matan Ziv-Av <matan@svgalib.org>
Date: Tue, 23 Nov 2021 22:14:55 +0200
Subject: [PATCH] lg-laptop: Recognize more models
LG uses 5 instead of 0 in the third digit (second digit after 2019) of the year string to indicate newer models in the same year. Handle this case as well.
Signed-off-by: Matan Ziv-Av <matan@svgalib.org>
For: https://bugs.archlinux.org/task/71772
---
drivers/platform/x86/lg-laptop.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/drivers/platform/x86/lg-laptop.c b/drivers/platform/x86/lg-laptop.c
index 88b551caeaaf4..d6f74d3a7605e 100644
--- a/drivers/platform/x86/lg-laptop.c
+++ b/drivers/platform/x86/lg-laptop.c
@@ -658,6 +658,18 @@ static int acpi_add(struct acpi_device *device)
if (product && strlen(product) > 4)
switch (product[4]) {
case '5':
+ if (strlen(product) > 5)
+ switch (product[5]) {
+ case 'N':
+ year = 2021;
+ break;
+ case '0':
+ year = 2016;
+ break;
+ default:
+ year = 2022;
+ }
+ break;
case '6':
year = 2016;
break;

View File

@ -0,0 +1,238 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
Date: Sat, 6 Aug 2022 22:54:33 +0200
Subject: [PATCH] Fix NFSv4 mount regression
This reverts commit 6f2836341d8a (NFSv4.1 query for fs_location attr on
a new file system, 2022-01-12).
For: https://bugs.archlinux.org/task/73838
For: https://bugs.archlinux.org/task/73860
---
fs/nfs/client.c | 7 ----
fs/nfs/nfs4_fs.h | 9 +++--
fs/nfs/nfs4proc.c | 76 ++++++-----------------------------------
fs/nfs/nfs4state.c | 3 +-
include/linux/nfs_xdr.h | 1 -
5 files changed, 15 insertions(+), 81 deletions(-)
diff --git a/fs/nfs/client.c b/fs/nfs/client.c
index 090b16890e3d..551833862171 100644
--- a/fs/nfs/client.c
+++ b/fs/nfs/client.c
@@ -860,13 +860,6 @@ int nfs_probe_fsinfo(struct nfs_server *server, struct nfs_fh *mntfh, struct nfs
server->namelen = pathinfo.max_namelen;
}
- if (clp->rpc_ops->discover_trunking != NULL &&
- (server->caps & NFS_CAP_FS_LOCATIONS)) {
- error = clp->rpc_ops->discover_trunking(server, mntfh);
- if (error < 0)
- return error;
- }
-
return 0;
}
EXPORT_SYMBOL_GPL(nfs_probe_fsinfo);
diff --git a/fs/nfs/nfs4_fs.h b/fs/nfs/nfs4_fs.h
index f8672a34fd63..36471dd0e82b 100644
--- a/fs/nfs/nfs4_fs.h
+++ b/fs/nfs/nfs4_fs.h
@@ -261,8 +261,8 @@ struct nfs4_state_maintenance_ops {
};
struct nfs4_mig_recovery_ops {
- int (*get_locations)(struct nfs_server *, struct nfs_fh *,
- struct nfs4_fs_locations *, struct page *, const struct cred *);
+ int (*get_locations)(struct inode *, struct nfs4_fs_locations *,
+ struct page *, const struct cred *);
int (*fsid_present)(struct inode *, const struct cred *);
};
@@ -304,9 +304,8 @@ extern int nfs4_do_close(struct nfs4_state *state, gfp_t gfp_mask, int wait);
extern int nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fhandle);
extern int nfs4_proc_fs_locations(struct rpc_clnt *, struct inode *, const struct qstr *,
struct nfs4_fs_locations *, struct page *);
-extern int nfs4_proc_get_locations(struct nfs_server *, struct nfs_fh *,
- struct nfs4_fs_locations *,
- struct page *page, const struct cred *);
+extern int nfs4_proc_get_locations(struct inode *, struct nfs4_fs_locations *,
+ struct page *page, const struct cred *);
extern int nfs4_proc_fsid_present(struct inode *, const struct cred *);
extern struct rpc_clnt *nfs4_proc_lookup_mountpoint(struct inode *,
struct dentry *,
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index a808763c52c1..7c05dbe595ac 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -3962,60 +3962,6 @@ int nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fhandle)
return err;
}
-static int _nfs4_discover_trunking(struct nfs_server *server,
- struct nfs_fh *fhandle)
-{
- struct nfs4_fs_locations *locations = NULL;
- struct page *page;
- const struct cred *cred;
- struct nfs_client *clp = server->nfs_client;
- const struct nfs4_state_maintenance_ops *ops =
- clp->cl_mvops->state_renewal_ops;
- int status = -ENOMEM;
-
- cred = ops->get_state_renewal_cred(clp);
- if (cred == NULL) {
- cred = nfs4_get_clid_cred(clp);
- if (cred == NULL)
- return -ENOKEY;
- }
-
- page = alloc_page(GFP_KERNEL);
- locations = kmalloc(sizeof(struct nfs4_fs_locations), GFP_KERNEL);
- if (page == NULL || locations == NULL)
- goto out;
-
- status = nfs4_proc_get_locations(server, fhandle, locations, page,
- cred);
- if (status)
- goto out;
-out:
- if (page)
- __free_page(page);
- kfree(locations);
- return status;
-}
-
-static int nfs4_discover_trunking(struct nfs_server *server,
- struct nfs_fh *fhandle)
-{
- struct nfs4_exception exception = {
- .interruptible = true,
- };
- struct nfs_client *clp = server->nfs_client;
- int err = 0;
-
- if (!nfs4_has_session(clp))
- goto out;
- do {
- err = nfs4_handle_exception(server,
- _nfs4_discover_trunking(server, fhandle),
- &exception);
- } while (exception.retry);
-out:
- return err;
-}
-
static int _nfs4_lookup_root(struct nfs_server *server, struct nfs_fh *fhandle,
struct nfs_fsinfo *info)
{
@@ -7951,18 +7897,18 @@ int nfs4_proc_fs_locations(struct rpc_clnt *client, struct inode *dir,
* appended to this compound to identify the client ID which is
* performing recovery.
*/
-static int _nfs40_proc_get_locations(struct nfs_server *server,
- struct nfs_fh *fhandle,
+static int _nfs40_proc_get_locations(struct inode *inode,
struct nfs4_fs_locations *locations,
struct page *page, const struct cred *cred)
{
+ struct nfs_server *server = NFS_SERVER(inode);
struct rpc_clnt *clnt = server->client;
u32 bitmask[2] = {
[0] = FATTR4_WORD0_FSID | FATTR4_WORD0_FS_LOCATIONS,
};
struct nfs4_fs_locations_arg args = {
.clientid = server->nfs_client->cl_clientid,
- .fh = fhandle,
+ .fh = NFS_FH(inode),
.page = page,
.bitmask = bitmask,
.migration = 1, /* skip LOOKUP */
@@ -8008,17 +7954,17 @@ static int _nfs40_proc_get_locations(struct nfs_server *server,
* When the client supports GETATTR(fs_locations_info), it can
* be plumbed in here.
*/
-static int _nfs41_proc_get_locations(struct nfs_server *server,
- struct nfs_fh *fhandle,
+static int _nfs41_proc_get_locations(struct inode *inode,
struct nfs4_fs_locations *locations,
struct page *page, const struct cred *cred)
{
+ struct nfs_server *server = NFS_SERVER(inode);
struct rpc_clnt *clnt = server->client;
u32 bitmask[2] = {
[0] = FATTR4_WORD0_FSID | FATTR4_WORD0_FS_LOCATIONS,
};
struct nfs4_fs_locations_arg args = {
- .fh = fhandle,
+ .fh = NFS_FH(inode),
.page = page,
.bitmask = bitmask,
.migration = 1, /* skip LOOKUP */
@@ -8067,28 +8013,27 @@ static int _nfs41_proc_get_locations(struct nfs_server *server,
* -NFS4ERR_LEASE_MOVED is returned if the server still has leases
* from this client that require migration recovery.
*/
-int nfs4_proc_get_locations(struct nfs_server *server,
- struct nfs_fh *fhandle,
+int nfs4_proc_get_locations(struct inode *inode,
struct nfs4_fs_locations *locations,
struct page *page, const struct cred *cred)
{
+ struct nfs_server *server = NFS_SERVER(inode);
struct nfs_client *clp = server->nfs_client;
const struct nfs4_mig_recovery_ops *ops =
clp->cl_mvops->mig_recovery_ops;
struct nfs4_exception exception = {
.interruptible = true,
};
int status;
dprintk("%s: FSID %llx:%llx on \"%s\"\n", __func__,
(unsigned long long)server->fsid.major,
(unsigned long long)server->fsid.minor,
clp->cl_hostname);
- nfs_display_fhandle(fhandle, __func__);
+ nfs_display_fhandle(NFS_FH(inode), __func__);
do {
- status = ops->get_locations(server, fhandle, locations, page,
- cred);
+ status = ops->get_locations(inode, locations, page, cred);
if (status != -NFS4ERR_DELAY)
break;
nfs4_handle_exception(server, status, &exception);
@@ -10588,7 +10533,6 @@ const struct nfs_rpc_ops nfs_v4_clientops = {
.free_client = nfs4_free_client,
.create_server = nfs4_create_server,
.clone_server = nfs_clone_server,
- .discover_trunking = nfs4_discover_trunking,
};
static const struct xattr_handler nfs4_xattr_nfs4_acl_handler = {
diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c
index 83c88b54d712..42707e12d35c 100644
--- a/fs/nfs/nfs4state.c
+++ b/fs/nfs/nfs4state.c
@@ -2098,8 +2098,7 @@ static int nfs4_try_migration(struct nfs_server *server, const struct cred *cred
}
inode = d_inode(server->super->s_root);
- result = nfs4_proc_get_locations(server, NFS_FH(inode), locations,
- page, cred);
+ result = nfs4_proc_get_locations(inode, locations, page, cred);
if (result) {
dprintk("<-- %s: failed to retrieve fs_locations: %d\n",
__func__, result);
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h
index ecd74cc34797..e9698b6278a5 100644
--- a/include/linux/nfs_xdr.h
+++ b/include/linux/nfs_xdr.h
@@ -1805,7 +1805,6 @@ struct nfs_rpc_ops {
struct nfs_server *(*create_server)(struct fs_context *);
struct nfs_server *(*clone_server)(struct nfs_server *, struct nfs_fh *,
struct nfs_fattr *, rpc_authflavor_t);
- int (*discover_trunking)(struct nfs_server *, struct nfs_fh *);
};
/*

View File

@ -0,0 +1,36 @@
From 72edf8c167268bb68d701f46006ccfdfa5490db8 Mon Sep 17 00:00:00 2001
From: Matan Ziv-Av <matan@svgalib.org>
Date: Tue, 23 Nov 2021 22:14:55 +0200
Subject: [PATCH] lg-laptop: Recognize more models
LG uses 5 instead of 0 in the third digit (second digit after 2019) of the year string to indicate newer models in the same year. Handle this case as well.
Signed-off-by: Matan Ziv-Av <matan@svgalib.org>
For: https://bugs.archlinux.org/task/71772
---
drivers/platform/x86/lg-laptop.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/drivers/platform/x86/lg-laptop.c b/drivers/platform/x86/lg-laptop.c
index 88b551caeaaf4..d6f74d3a7605e 100644
--- a/drivers/platform/x86/lg-laptop.c
+++ b/drivers/platform/x86/lg-laptop.c
@@ -658,6 +658,18 @@ static int acpi_add(struct acpi_device *device)
if (product && strlen(product) > 4)
switch (product[4]) {
case '5':
+ if (strlen(product) > 5)
+ switch (product[5]) {
+ case 'N':
+ year = 2021;
+ break;
+ case '0':
+ year = 2016;
+ break;
+ default:
+ year = 2022;
+ }
+ break;
case '6':
year = 2016;
break;

View File

@ -0,0 +1,243 @@
From 6f2836341d8a39e1e000572b10959347d7e61fd9 Mon Sep 17 00:00:00 2001
From: Olga Kornievskaia <kolga@netapp.com>
Date: Wed, 12 Jan 2022 10:27:38 -0500
Subject: NFSv4.1 query for fs_location attr on a new file system
[ Upstream commit 1976b2b31462151403c9fc110204fcc2a77bdfd1 ]
Query the server for other possible trunkable locations for a given
file system on a 4.1+ mount.
v2:
-- added missing static to nfs4_discover_trunking,
reported by the kernel test robot
Signed-off-by: Olga Kornievskaia <kolga@netapp.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
fs/nfs/client.c | 7 +++++
fs/nfs/nfs4_fs.h | 9 +++---
fs/nfs/nfs4proc.c | 76 ++++++++++++++++++++++++++++++++++++++++++-------
fs/nfs/nfs4state.c | 3 +-
include/linux/nfs_xdr.h | 1 +
5 files changed, 81 insertions(+), 15 deletions(-)
diff --git a/fs/nfs/client.c b/fs/nfs/client.c
index 551833862171f..090b16890e3d6 100644
--- a/fs/nfs/client.c
+++ b/fs/nfs/client.c
@@ -860,6 +860,13 @@ int nfs_probe_fsinfo(struct nfs_server *server, struct nfs_fh *mntfh, struct nfs
server->namelen = pathinfo.max_namelen;
}
+ if (clp->rpc_ops->discover_trunking != NULL &&
+ (server->caps & NFS_CAP_FS_LOCATIONS)) {
+ error = clp->rpc_ops->discover_trunking(server, mntfh);
+ if (error < 0)
+ return error;
+ }
+
return 0;
}
EXPORT_SYMBOL_GPL(nfs_probe_fsinfo);
diff --git a/fs/nfs/nfs4_fs.h b/fs/nfs/nfs4_fs.h
index ba78df4b13d94..1a048ee653a11 100644
--- a/fs/nfs/nfs4_fs.h
+++ b/fs/nfs/nfs4_fs.h
@@ -261,8 +261,8 @@ struct nfs4_state_maintenance_ops {
};
struct nfs4_mig_recovery_ops {
- int (*get_locations)(struct inode *, struct nfs4_fs_locations *,
- struct page *, const struct cred *);
+ int (*get_locations)(struct nfs_server *, struct nfs_fh *,
+ struct nfs4_fs_locations *, struct page *, const struct cred *);
int (*fsid_present)(struct inode *, const struct cred *);
};
@@ -303,8 +303,9 @@ extern int nfs4_do_close(struct nfs4_state *state, gfp_t gfp_mask, int wait);
extern int nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fhandle);
extern int nfs4_proc_fs_locations(struct rpc_clnt *, struct inode *, const struct qstr *,
struct nfs4_fs_locations *, struct page *);
-extern int nfs4_proc_get_locations(struct inode *, struct nfs4_fs_locations *,
- struct page *page, const struct cred *);
+extern int nfs4_proc_get_locations(struct nfs_server *, struct nfs_fh *,
+ struct nfs4_fs_locations *,
+ struct page *page, const struct cred *);
extern int nfs4_proc_fsid_present(struct inode *, const struct cred *);
extern struct rpc_clnt *nfs4_proc_lookup_mountpoint(struct inode *,
struct dentry *,
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index 367a1b99b7550..389fa72d4ca98 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -3952,6 +3952,60 @@ int nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fhandle)
return err;
}
+static int _nfs4_discover_trunking(struct nfs_server *server,
+ struct nfs_fh *fhandle)
+{
+ struct nfs4_fs_locations *locations = NULL;
+ struct page *page;
+ const struct cred *cred;
+ struct nfs_client *clp = server->nfs_client;
+ const struct nfs4_state_maintenance_ops *ops =
+ clp->cl_mvops->state_renewal_ops;
+ int status = -ENOMEM;
+
+ cred = ops->get_state_renewal_cred(clp);
+ if (cred == NULL) {
+ cred = nfs4_get_clid_cred(clp);
+ if (cred == NULL)
+ return -ENOKEY;
+ }
+
+ page = alloc_page(GFP_KERNEL);
+ locations = kmalloc(sizeof(struct nfs4_fs_locations), GFP_KERNEL);
+ if (page == NULL || locations == NULL)
+ goto out;
+
+ status = nfs4_proc_get_locations(server, fhandle, locations, page,
+ cred);
+ if (status)
+ goto out;
+out:
+ if (page)
+ __free_page(page);
+ kfree(locations);
+ return status;
+}
+
+static int nfs4_discover_trunking(struct nfs_server *server,
+ struct nfs_fh *fhandle)
+{
+ struct nfs4_exception exception = {
+ .interruptible = true,
+ };
+ struct nfs_client *clp = server->nfs_client;
+ int err = 0;
+
+ if (!nfs4_has_session(clp))
+ goto out;
+ do {
+ err = nfs4_handle_exception(server,
+ _nfs4_discover_trunking(server, fhandle),
+ &exception);
+ } while (exception.retry);
+out:
+ return err;
+}
+
static int _nfs4_lookup_root(struct nfs_server *server, struct nfs_fh *fhandle,
struct nfs_fsinfo *info)
{
@@ -7886,18 +7940,18 @@ int nfs4_proc_fs_locations(struct rpc_clnt *client, struct inode *dir,
* appended to this compound to identify the client ID which is
* performing recovery.
*/
-static int _nfs40_proc_get_locations(struct inode *inode,
+static int _nfs40_proc_get_locations(struct nfs_server *server,
+ struct nfs_fh *fhandle,
struct nfs4_fs_locations *locations,
struct page *page, const struct cred *cred)
{
- struct nfs_server *server = NFS_SERVER(inode);
struct rpc_clnt *clnt = server->client;
u32 bitmask[2] = {
[0] = FATTR4_WORD0_FSID | FATTR4_WORD0_FS_LOCATIONS,
};
struct nfs4_fs_locations_arg args = {
.clientid = server->nfs_client->cl_clientid,
- .fh = NFS_FH(inode),
+ .fh = fhandle,
.page = page,
.bitmask = bitmask,
.migration = 1, /* skip LOOKUP */
@@ -7943,17 +7997,17 @@ static int _nfs40_proc_get_locations(struct inode *inode,
* When the client supports GETATTR(fs_locations_info), it can
* be plumbed in here.
*/
-static int _nfs41_proc_get_locations(struct inode *inode,
+static int _nfs41_proc_get_locations(struct nfs_server *server,
+ struct nfs_fh *fhandle,
struct nfs4_fs_locations *locations,
struct page *page, const struct cred *cred)
{
- struct nfs_server *server = NFS_SERVER(inode);
struct rpc_clnt *clnt = server->client;
u32 bitmask[2] = {
[0] = FATTR4_WORD0_FSID | FATTR4_WORD0_FS_LOCATIONS,
};
struct nfs4_fs_locations_arg args = {
- .fh = NFS_FH(inode),
+ .fh = fhandle,
.page = page,
.bitmask = bitmask,
.migration = 1, /* skip LOOKUP */
@@ -8002,11 +8056,11 @@ static int _nfs41_proc_get_locations(struct inode *inode,
* -NFS4ERR_LEASE_MOVED is returned if the server still has leases
* from this client that require migration recovery.
*/
-int nfs4_proc_get_locations(struct inode *inode,
+int nfs4_proc_get_locations(struct nfs_server *server,
+ struct nfs_fh *fhandle,
struct nfs4_fs_locations *locations,
struct page *page, const struct cred *cred)
{
- struct nfs_server *server = NFS_SERVER(inode);
struct nfs_client *clp = server->nfs_client;
const struct nfs4_mig_recovery_ops *ops =
clp->cl_mvops->mig_recovery_ops;
@@ -8019,10 +8073,11 @@ int nfs4_proc_get_locations(struct inode *inode,
(unsigned long long)server->fsid.major,
(unsigned long long)server->fsid.minor,
clp->cl_hostname);
- nfs_display_fhandle(NFS_FH(inode), __func__);
+ nfs_display_fhandle(fhandle, __func__);
do {
- status = ops->get_locations(inode, locations, page, cred);
+ status = ops->get_locations(server, fhandle, locations, page,
+ cred);
if (status != -NFS4ERR_DELAY)
break;
nfs4_handle_exception(server, status, &exception);
@@ -10516,6 +10571,7 @@ const struct nfs_rpc_ops nfs_v4_clientops = {
.free_client = nfs4_free_client,
.create_server = nfs4_create_server,
.clone_server = nfs_clone_server,
+ .discover_trunking = nfs4_discover_trunking,
};
static const struct xattr_handler nfs4_xattr_nfs4_acl_handler = {
diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c
index acc1cd3e63a48..51f5cb41e87a4 100644
--- a/fs/nfs/nfs4state.c
+++ b/fs/nfs/nfs4state.c
@@ -2097,7 +2097,8 @@ static int nfs4_try_migration(struct nfs_server *server, const struct cred *cred
}
inode = d_inode(server->super->s_root);
- result = nfs4_proc_get_locations(inode, locations, page, cred);
+ result = nfs4_proc_get_locations(server, NFS_FH(inode), locations,
+ page, cred);
if (result) {
dprintk("<-- %s: failed to retrieve fs_locations: %d\n",
__func__, result);
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h
index e9698b6278a52..ecd74cc347974 100644
--- a/include/linux/nfs_xdr.h
+++ b/include/linux/nfs_xdr.h
@@ -1805,6 +1805,7 @@ struct nfs_rpc_ops {
struct nfs_server *(*create_server)(struct fs_context *);
struct nfs_server *(*clone_server)(struct nfs_server *, struct nfs_fh *,
struct nfs_fattr *, rpc_authflavor_t);
+ int (*discover_trunking)(struct nfs_server *, struct nfs_fh *);
};
/*
--
cgit

View File

@ -0,0 +1,243 @@
From 6f2836341d8a39e1e000572b10959347d7e61fd9 Mon Sep 17 00:00:00 2001
From: Olga Kornievskaia <kolga@netapp.com>
Date: Wed, 12 Jan 2022 10:27:38 -0500
Subject: NFSv4.1 query for fs_location attr on a new file system
[ Upstream commit 1976b2b31462151403c9fc110204fcc2a77bdfd1 ]
Query the server for other possible trunkable locations for a given
file system on a 4.1+ mount.
v2:
-- added missing static to nfs4_discover_trunking,
reported by the kernel test robot
Signed-off-by: Olga Kornievskaia <kolga@netapp.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
fs/nfs/client.c | 7 +++++
fs/nfs/nfs4_fs.h | 9 +++---
fs/nfs/nfs4proc.c | 76 ++++++++++++++++++++++++++++++++++++++++++-------
fs/nfs/nfs4state.c | 3 +-
include/linux/nfs_xdr.h | 1 +
5 files changed, 81 insertions(+), 15 deletions(-)
diff --git a/fs/nfs/client.c b/fs/nfs/client.c
index 551833862171f..090b16890e3d6 100644
--- a/fs/nfs/client.c
+++ b/fs/nfs/client.c
@@ -860,6 +860,13 @@ int nfs_probe_fsinfo(struct nfs_server *server, struct nfs_fh *mntfh, struct nfs
server->namelen = pathinfo.max_namelen;
}
+ if (clp->rpc_ops->discover_trunking != NULL &&
+ (server->caps & NFS_CAP_FS_LOCATIONS)) {
+ error = clp->rpc_ops->discover_trunking(server, mntfh);
+ if (error < 0)
+ return error;
+ }
+
return 0;
}
EXPORT_SYMBOL_GPL(nfs_probe_fsinfo);
diff --git a/fs/nfs/nfs4_fs.h b/fs/nfs/nfs4_fs.h
index ba78df4b13d94..1a048ee653a11 100644
--- a/fs/nfs/nfs4_fs.h
+++ b/fs/nfs/nfs4_fs.h
@@ -261,8 +261,8 @@ struct nfs4_state_maintenance_ops {
};
struct nfs4_mig_recovery_ops {
- int (*get_locations)(struct inode *, struct nfs4_fs_locations *,
- struct page *, const struct cred *);
+ int (*get_locations)(struct nfs_server *, struct nfs_fh *,
+ struct nfs4_fs_locations *, struct page *, const struct cred *);
int (*fsid_present)(struct inode *, const struct cred *);
};
@@ -303,8 +303,9 @@ extern int nfs4_do_close(struct nfs4_state *state, gfp_t gfp_mask, int wait);
extern int nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fhandle);
extern int nfs4_proc_fs_locations(struct rpc_clnt *, struct inode *, const struct qstr *,
struct nfs4_fs_locations *, struct page *);
-extern int nfs4_proc_get_locations(struct inode *, struct nfs4_fs_locations *,
- struct page *page, const struct cred *);
+extern int nfs4_proc_get_locations(struct nfs_server *, struct nfs_fh *,
+ struct nfs4_fs_locations *,
+ struct page *page, const struct cred *);
extern int nfs4_proc_fsid_present(struct inode *, const struct cred *);
extern struct rpc_clnt *nfs4_proc_lookup_mountpoint(struct inode *,
struct dentry *,
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index 367a1b99b7550..389fa72d4ca98 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -3952,6 +3952,60 @@ int nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fhandle)
return err;
}
+static int _nfs4_discover_trunking(struct nfs_server *server,
+ struct nfs_fh *fhandle)
+{
+ struct nfs4_fs_locations *locations = NULL;
+ struct page *page;
+ const struct cred *cred;
+ struct nfs_client *clp = server->nfs_client;
+ const struct nfs4_state_maintenance_ops *ops =
+ clp->cl_mvops->state_renewal_ops;
+ int status = -ENOMEM;
+
+ cred = ops->get_state_renewal_cred(clp);
+ if (cred == NULL) {
+ cred = nfs4_get_clid_cred(clp);
+ if (cred == NULL)
+ return -ENOKEY;
+ }
+
+ page = alloc_page(GFP_KERNEL);
+ locations = kmalloc(sizeof(struct nfs4_fs_locations), GFP_KERNEL);
+ if (page == NULL || locations == NULL)
+ goto out;
+
+ status = nfs4_proc_get_locations(server, fhandle, locations, page,
+ cred);
+ if (status)
+ goto out;
+out:
+ if (page)
+ __free_page(page);
+ kfree(locations);
+ return status;
+}
+
+static int nfs4_discover_trunking(struct nfs_server *server,
+ struct nfs_fh *fhandle)
+{
+ struct nfs4_exception exception = {
+ .interruptible = true,
+ };
+ struct nfs_client *clp = server->nfs_client;
+ int err = 0;
+
+ if (!nfs4_has_session(clp))
+ goto out;
+ do {
+ err = nfs4_handle_exception(server,
+ _nfs4_discover_trunking(server, fhandle),
+ &exception);
+ } while (exception.retry);
+out:
+ return err;
+}
+
static int _nfs4_lookup_root(struct nfs_server *server, struct nfs_fh *fhandle,
struct nfs_fsinfo *info)
{
@@ -7886,18 +7940,18 @@ int nfs4_proc_fs_locations(struct rpc_clnt *client, struct inode *dir,
* appended to this compound to identify the client ID which is
* performing recovery.
*/
-static int _nfs40_proc_get_locations(struct inode *inode,
+static int _nfs40_proc_get_locations(struct nfs_server *server,
+ struct nfs_fh *fhandle,
struct nfs4_fs_locations *locations,
struct page *page, const struct cred *cred)
{
- struct nfs_server *server = NFS_SERVER(inode);
struct rpc_clnt *clnt = server->client;
u32 bitmask[2] = {
[0] = FATTR4_WORD0_FSID | FATTR4_WORD0_FS_LOCATIONS,
};
struct nfs4_fs_locations_arg args = {
.clientid = server->nfs_client->cl_clientid,
- .fh = NFS_FH(inode),
+ .fh = fhandle,
.page = page,
.bitmask = bitmask,
.migration = 1, /* skip LOOKUP */
@@ -7943,17 +7997,17 @@ static int _nfs40_proc_get_locations(struct inode *inode,
* When the client supports GETATTR(fs_locations_info), it can
* be plumbed in here.
*/
-static int _nfs41_proc_get_locations(struct inode *inode,
+static int _nfs41_proc_get_locations(struct nfs_server *server,
+ struct nfs_fh *fhandle,
struct nfs4_fs_locations *locations,
struct page *page, const struct cred *cred)
{
- struct nfs_server *server = NFS_SERVER(inode);
struct rpc_clnt *clnt = server->client;
u32 bitmask[2] = {
[0] = FATTR4_WORD0_FSID | FATTR4_WORD0_FS_LOCATIONS,
};
struct nfs4_fs_locations_arg args = {
- .fh = NFS_FH(inode),
+ .fh = fhandle,
.page = page,
.bitmask = bitmask,
.migration = 1, /* skip LOOKUP */
@@ -8002,11 +8056,11 @@ static int _nfs41_proc_get_locations(struct inode *inode,
* -NFS4ERR_LEASE_MOVED is returned if the server still has leases
* from this client that require migration recovery.
*/
-int nfs4_proc_get_locations(struct inode *inode,
+int nfs4_proc_get_locations(struct nfs_server *server,
+ struct nfs_fh *fhandle,
struct nfs4_fs_locations *locations,
struct page *page, const struct cred *cred)
{
- struct nfs_server *server = NFS_SERVER(inode);
struct nfs_client *clp = server->nfs_client;
const struct nfs4_mig_recovery_ops *ops =
clp->cl_mvops->mig_recovery_ops;
@@ -8019,10 +8073,11 @@ int nfs4_proc_get_locations(struct inode *inode,
(unsigned long long)server->fsid.major,
(unsigned long long)server->fsid.minor,
clp->cl_hostname);
- nfs_display_fhandle(NFS_FH(inode), __func__);
+ nfs_display_fhandle(fhandle, __func__);
do {
- status = ops->get_locations(inode, locations, page, cred);
+ status = ops->get_locations(server, fhandle, locations, page,
+ cred);
if (status != -NFS4ERR_DELAY)
break;
nfs4_handle_exception(server, status, &exception);
@@ -10516,6 +10571,7 @@ const struct nfs_rpc_ops nfs_v4_clientops = {
.free_client = nfs4_free_client,
.create_server = nfs4_create_server,
.clone_server = nfs_clone_server,
+ .discover_trunking = nfs4_discover_trunking,
};
static const struct xattr_handler nfs4_xattr_nfs4_acl_handler = {
diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c
index acc1cd3e63a48..51f5cb41e87a4 100644
--- a/fs/nfs/nfs4state.c
+++ b/fs/nfs/nfs4state.c
@@ -2097,7 +2097,8 @@ static int nfs4_try_migration(struct nfs_server *server, const struct cred *cred
}
inode = d_inode(server->super->s_root);
- result = nfs4_proc_get_locations(inode, locations, page, cred);
+ result = nfs4_proc_get_locations(server, NFS_FH(inode), locations,
+ page, cred);
if (result) {
dprintk("<-- %s: failed to retrieve fs_locations: %d\n",
__func__, result);
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h
index e9698b6278a52..ecd74cc347974 100644
--- a/include/linux/nfs_xdr.h
+++ b/include/linux/nfs_xdr.h
@@ -1805,6 +1805,7 @@ struct nfs_rpc_ops {
struct nfs_server *(*create_server)(struct fs_context *);
struct nfs_server *(*clone_server)(struct nfs_server *, struct nfs_fh *,
struct nfs_fattr *, rpc_authflavor_t);
+ int (*discover_trunking)(struct nfs_server *, struct nfs_fh *);
};
/*
--
cgit

View File

@ -0,0 +1,44 @@
From 7e6bc1f6cabcd30aba0b11219d8e01b952eacbb6 Mon Sep 17 00:00:00 2001
From: Pablo Neira Ayuso <pablo@netfilter.org>
Date: Sat, 2 Jul 2022 04:16:30 +0200
Subject: netfilter: nf_tables: stricter validation of element data
From: Pablo Neira Ayuso <pablo@netfilter.org>
commit 7e6bc1f6cabcd30aba0b11219d8e01b952eacbb6 upstream.
Make sure element data type and length do not mismatch the one specified
by the set declaration.
Fixes: 7d7402642eaf ("netfilter: nf_tables: variable sized set element keys / data")
Reported-by: Hugues ANGUELKOV <hanguelkov@randorisec.fr>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
net/netfilter/nf_tables_api.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
--- a/net/netfilter/nf_tables_api.c
+++ b/net/netfilter/nf_tables_api.c
@@ -5118,13 +5118,20 @@ static int nft_setelem_parse_data(struct
struct nft_data *data,
struct nlattr *attr)
{
+ u32 dtype;
int err;
err = nft_data_init(ctx, data, NFT_DATA_VALUE_MAXLEN, desc, attr);
if (err < 0)
return err;
- if (desc->type != NFT_DATA_VERDICT && desc->len != set->dlen) {
+ if (set->dtype == NFT_DATA_VERDICT)
+ dtype = NFT_DATA_VERDICT;
+ else
+ dtype = NFT_DATA_VALUE;
+
+ if (dtype != desc->type ||
+ set->dlen != desc->len) {
nft_data_release(data, desc->type);
return -EINVAL;
}

View File

@ -0,0 +1,213 @@
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
pkgbase=linux-lts
pkgver=5.15.74
pkgrel=1
pkgdesc='LTS Linux'
url="https://www.kernel.org/"
arch=(x86_64)
license=(GPL2)
makedepends=(
bc libelf pahole cpio perl tar xz
xmlto python-sphinx python-sphinx_rtd_theme graphviz imagemagick texlive-latexextra
)
options=('!strip')
_srcname=linux-$pkgver
source=(
https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/${_srcname}.tar.{xz,sign}
config # the main kernel config file
0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
0002-PCI-Add-more-NVIDIA-controllers-to-the-MSI-masking-q.patch
0003-iommu-intel-do-deep-dma-unmapping-to-avoid-kernel-fl.patch
0004-Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch
0005-lg-laptop-Recognize-more-models.patch
0006-Fix-NFSv4-mount-regression.patch
)
validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
)
# https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc
sha256sums=('2c1539a2f85b835c36c4a07c8270b52b0bec38fdda7339477d07f0c3af8c4265'
'SKIP'
'8924e710cf047279574bd3dd5a8a9869f7baeb0cd291bbaf3b9530c70600a643'
'3b5cfc9ca9cf778ea2c4b619b933cda26519969df2d764b5a687f63cf59974cd'
'c175fbb141c3cec013c799f694d88310375ac5456042f6a4a1adc7667836d786'
'8357f000b2b622e73dcfd41c2bad42b5e99fffe8f7ee64f774aa771f86cef43c'
'5c1ee81fdd5818442af6081de987f9c1a9ce3c8d183566b3dfc19a8433aa3dde'
'067e8995fcd6f6ed25e0253e9374c0e179a000c154da3e59ce62634945ac5be9'
'10801c245064777873b580bea1fc17a4288ec519e0ce9500aa1b7c6e19fe777b')
export KBUILD_BUILD_HOST=archlinux
export KBUILD_BUILD_USER=$pkgbase
export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})"
prepare() {
cd $_srcname
echo "Setting version..."
scripts/setlocalversion --save-scmversion
echo "-$pkgrel" > localversion.10-pkgrel
echo "${pkgbase#linux}" > localversion.20-pkgname
local src
for src in "${source[@]}"; do
src="${src%%::*}"
src="${src##*/}"
[[ $src = *.patch ]] || continue
echo "Applying patch $src..."
patch -Np1 < "../$src"
done
echo "Setting config..."
cp ../config .config
make olddefconfig
diff -u ../config .config || :
make -s kernelrelease > version
echo "Prepared $pkgbase version $(<version)"
}
build() {
cd $_srcname
make htmldocs all
}
_package() {
pkgdesc="The $pkgdesc kernel and modules"
depends=(coreutils kmod initramfs)
optdepends=('wireless-regdb: to set the correct wireless channels of your country'
'linux-firmware: firmware images needed for some devices')
provides=(VIRTUALBOX-GUEST-MODULES WIREGUARD-MODULE KSMBD-MODULE)
replaces=(wireguard-lts)
cd $_srcname
local kernver="$(<version)"
local modulesdir="$pkgdir/usr/lib/modules/$kernver"
echo "Installing boot image..."
# systemd expects to find the kernel here to allow hibernation
# https://github.com/systemd/systemd/commit/edda44605f06a41fb86b7ab8128dcf99161d2344
install -Dm644 "$(make -s image_name)" "$modulesdir/vmlinuz"
# Used by mkinitcpio to name the kernel
echo "$pkgbase" | install -Dm644 /dev/stdin "$modulesdir/pkgbase"
echo "Installing modules..."
make INSTALL_MOD_PATH="$pkgdir/usr" INSTALL_MOD_STRIP=1 \
DEPMOD=/doesnt/exist modules_install # Suppress depmod
# remove build and source links
rm "$modulesdir"/{source,build}
}
_package-headers() {
pkgdesc="Headers and scripts for building modules for the $pkgdesc kernel"
depends=(pahole)
cd $_srcname
local builddir="$pkgdir/usr/lib/modules/$(<version)/build"
echo "Installing build files..."
install -Dt "$builddir" -m644 .config Makefile Module.symvers System.map \
localversion.* version vmlinux
install -Dt "$builddir/kernel" -m644 kernel/Makefile
install -Dt "$builddir/arch/x86" -m644 arch/x86/Makefile
cp -t "$builddir" -a scripts
# required when STACK_VALIDATION is enabled
install -Dt "$builddir/tools/objtool" tools/objtool/objtool
# required when DEBUG_INFO_BTF_MODULES is enabled
install -Dt "$builddir/tools/bpf/resolve_btfids" tools/bpf/resolve_btfids/resolve_btfids
echo "Installing headers..."
cp -t "$builddir" -a include
cp -t "$builddir/arch/x86" -a arch/x86/include
install -Dt "$builddir/arch/x86/kernel" -m644 arch/x86/kernel/asm-offsets.s
install -Dt "$builddir/drivers/md" -m644 drivers/md/*.h
install -Dt "$builddir/net/mac80211" -m644 net/mac80211/*.h
# https://bugs.archlinux.org/task/13146
install -Dt "$builddir/drivers/media/i2c" -m644 drivers/media/i2c/msp3400-driver.h
# https://bugs.archlinux.org/task/20402
install -Dt "$builddir/drivers/media/usb/dvb-usb" -m644 drivers/media/usb/dvb-usb/*.h
install -Dt "$builddir/drivers/media/dvb-frontends" -m644 drivers/media/dvb-frontends/*.h
install -Dt "$builddir/drivers/media/tuners" -m644 drivers/media/tuners/*.h
# https://bugs.archlinux.org/task/71392
install -Dt "$builddir/drivers/iio/common/hid-sensors" -m644 drivers/iio/common/hid-sensors/*.h
echo "Installing KConfig files..."
find . -name 'Kconfig*' -exec install -Dm644 {} "$builddir/{}" \;
echo "Removing unneeded architectures..."
local arch
for arch in "$builddir"/arch/*/; do
[[ $arch = */x86/ ]] && continue
echo "Removing $(basename "$arch")"
rm -r "$arch"
done
echo "Removing documentation..."
rm -r "$builddir/Documentation"
echo "Removing broken symlinks..."
find -L "$builddir" -type l -printf 'Removing %P\n' -delete
echo "Removing loose objects..."
find "$builddir" -type f -name '*.o' -printf 'Removing %P\n' -delete
echo "Stripping build tools..."
local file
while read -rd '' file; do
case "$(file -bi "$file")" in
application/x-sharedlib\;*) # Libraries (.so)
strip -v $STRIP_SHARED "$file" ;;
application/x-archive\;*) # Libraries (.a)
strip -v $STRIP_STATIC "$file" ;;
application/x-executable\;*) # Binaries
strip -v $STRIP_BINARIES "$file" ;;
application/x-pie-executable\;*) # Relocatable binaries
strip -v $STRIP_SHARED "$file" ;;
esac
done < <(find "$builddir" -type f -perm -u+x ! -name vmlinux -print0)
echo "Stripping vmlinux..."
strip -v $STRIP_STATIC "$builddir/vmlinux"
echo "Adding symlink..."
mkdir -p "$pkgdir/usr/src"
ln -sr "$builddir" "$pkgdir/usr/src/$pkgbase"
}
_package-docs() {
pkgdesc="Documentation for the $pkgdesc kernel"
cd $_srcname
local builddir="$pkgdir/usr/lib/modules/$(<version)/build"
echo "Installing documentation..."
local src dst
while read -rd '' src; do
dst="${src#Documentation/}"
dst="$builddir/Documentation/${dst#output/}"
install -Dm644 "$src" "$dst"
done < <(find Documentation -name '.*' -prune -o ! -type d -print0)
echo "Adding symlink..."
mkdir -p "$pkgdir/usr/share/doc"
ln -sr "$builddir/Documentation" "$pkgdir/usr/share/doc/$pkgbase"
}
pkgname=("$pkgbase" "$pkgbase-headers" "$pkgbase-docs")
for _p in "${pkgname[@]}"; do
eval "package_$_p() {
$(declare -f "_package${_p#$pkgbase}")
_package${_p#$pkgbase}
}"
done
# vim:set ts=8 sts=2 sw=2 et:

View File

@ -0,0 +1,43 @@
--- config 2023-01-01 10:41:12.058642060 +0200
+++ ../../config 2022-12-06 11:36:06.775273538 +0200
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 5.15.86 Kernel Configuration
+# Linux/x86 5.15.81 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="gcc (GCC) 12.2.0"
CONFIG_CC_IS_GCC=y
@@ -7335,9 +7335,9 @@
CONFIG_USB_C67X00_HCD=m
CONFIG_USB_XHCI_HCD=y
# CONFIG_USB_XHCI_DBGCAP is not set
-CONFIG_USB_XHCI_PCI=y
-CONFIG_USB_XHCI_PCI_RENESAS=y
-CONFIG_USB_XHCI_PLATFORM=y
+CONFIG_USB_XHCI_PCI=m
+CONFIG_USB_XHCI_PCI_RENESAS=m
+CONFIG_USB_XHCI_PLATFORM=m
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
@@ -7710,8 +7710,8 @@
CONFIG_TYPEC_NVIDIA_ALTMODE=m
# end of USB Type-C Alternate Mode drivers
-CONFIG_USB_ROLE_SWITCH=y
-CONFIG_USB_ROLES_INTEL_XHCI=y
+CONFIG_USB_ROLE_SWITCH=m
+CONFIG_USB_ROLES_INTEL_XHCI=m
CONFIG_MMC=m
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
@@ -9469,7 +9469,7 @@
CONFIG_JFS_SECURITY=y
# CONFIG_JFS_DEBUG is not set
CONFIG_JFS_STATISTICS=y
-CONFIG_XFS_FS=y
+CONFIG_XFS_FS=m
CONFIG_XFS_SUPPORT_V4=y
CONFIG_XFS_QUOTA=y
CONFIG_XFS_POSIX_ACL=y

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,62 @@
.config:13:warning: override: reassigning to symbol CLANG_VERSION
.config:42:warning: symbol value 'm' invalid for HAVE_KERNEL_ZSTD
.config:47:warning: override: reassigning to symbol KERNEL_XZ
.config:50:warning: override: reassigning to symbol KERNEL_LZ4
.config:50:warning: override: KERNEL_LZ4 changes choice state
.config:51:warning: symbol value 'm' invalid for KERNEL_ZSTD
.config:144:warning: override: VIRT_CPU_ACCOUNTING_GEN changes choice state
.config:246:warning: symbol value 'm' invalid for RD_ZSTD
.config:526:warning: override: reassigning to symbol CC_HAS_SLS
.config:530:warning: override: reassigning to symbol RETPOLINE
.config:535:warning: override: reassigning to symbol SLS
.config:706:warning: override: reassigning to symbol SYSVIPC_COMPAT
.config:885:warning: override: reassigning to symbol MODULE_SIG_SHA256
.config:893:warning: symbol value 'm' invalid for MODULE_COMPRESS_ZSTD
.config:1191:warning: symbol value 'm' invalid for IPV6_ROUTER_PREF
.config:1192:warning: symbol value 'm' invalid for IPV6_ROUTE_INFO
.config:1193:warning: symbol value 'm' invalid for IPV6_OPTIMISTIC_DAD
.config:1197:warning: symbol value 'm' invalid for INET6_ESPINTCP
.config:1205:warning: symbol value 'm' invalid for IPV6_SIT_6RD
.config:1206:warning: symbol value 'm' invalid for IPV6_NDISC_NODETYPE
.config:1211:warning: symbol value 'm' invalid for IPV6_MULTIPLE_TABLES
.config:1212:warning: symbol value 'm' invalid for IPV6_SUBTREES
.config:1213:warning: symbol value 'm' invalid for IPV6_MROUTE
.config:1214:warning: symbol value 'm' invalid for IPV6_MROUTE_MULTIPLE_TABLES
.config:1215:warning: symbol value 'm' invalid for IPV6_PIMSM_V2
.config:1216:warning: symbol value 'm' invalid for IPV6_SEG6_LWTUNNEL
.config:1217:warning: symbol value 'm' invalid for IPV6_SEG6_HMAC
.config:1218:warning: symbol value 'm' invalid for IPV6_SEG6_BPF
.config:1219:warning: symbol value 'm' invalid for IPV6_RPL_LWTUNNEL
.config:1220:warning: symbol value 'm' invalid for IPV6_IOAM6_LWTUNNEL
.config:1224:warning: symbol value 'm' invalid for MPTCP_IPV6
.config:1429:warning: symbol value 'm' invalid for IP_VS_IPV6
.config:1525:warning: symbol value 'm' invalid for NF_TABLES_IPV6
.config:1987:warning: symbol value 'm' invalid for AF_RXRPC_IPV6
.config:2293:warning: symbol value 'm' invalid for GOOGLE_FIRMWARE
.config:2439:warning: override: reassigning to symbol MTD_NAND_RICOH
.config:3235:warning: symbol value 'm' invalid for NET_VENDOR_MICROSOFT
.config:3239:warning: symbol value 'm' invalid for NET_VENDOR_MARVELL
.config:3299:warning: override: reassigning to symbol MICROSOFT_MANA
.config:3322:warning: symbol value 'm' invalid for NET_VENDOR_NVIDIA
.config:4085:warning: symbol value 'm' invalid for TOUCHSCREEN_ATMEL_MXT_T37
.config:4165:warning: symbol value 'm' invalid for TOUCHSCREEN_TSC2007_IIO
.config:4740:warning: symbol value 'm' invalid for GPIO_TPS68470
.config:5613:warning: symbol value 'm' invalid for DVB_DYNAMIC_MINORS
.config:7251:warning: symbol value 'm' invalid for PLAYSTATION_FF
.config:8355:warning: symbol value 'm' invalid for DVB_AV7110_IR
.config:8357:warning: symbol value 'm' invalid for DVB_AV7110_OSD
.config:8500:warning: override: reassigning to symbol INTEL_TELEMETRY
.config:8676:warning: override: reassigning to symbol XILINX_VCU
.config:8873:warning: override: reassigning to symbol AD7150
.config:9527:warning: symbol value 'm' invalid for F2FS_FS_ZSTD
.config:9662:warning: symbol value 'm' invalid for UBIFS_FS_ZSTD
.config:9681:warning: symbol value 'm' invalid for SQUASHFS_ZSTD
.config:9703:warning: symbol value 'm' invalid for PSTORE_ZSTD_COMPRESS
.config:9708:warning: override: reassigning to symbol PSTORE_LZ4_COMPRESS_DEFAULT
.config:9710:warning: symbol value 'm' invalid for PSTORE_ZSTD_COMPRESS_DEFAULT
.config:9881:warning: override: reassigning to symbol PAGE_TABLE_ISOLATION
.config:9959:warning: override: INIT_STACK_ALL_ZERO changes choice state
.config:10072:warning: symbol value 'm' invalid for CRYPTO_BLAKE2S_X86
.config:10241:warning: symbol value 'm' invalid for CRYPTO_ARCH_HAVE_LIB_BLAKE2S
.config:10242:warning: symbol value 'm' invalid for CRYPTO_LIB_BLAKE2S_GENERIC
.config:10660:warning: override: reassigning to symbol TRACE_IRQFLAGS_NMI_SUPPORT

View File

@ -0,0 +1,236 @@
--- config 2023-03-13 12:50:57.082585195 +0200
+++ /media/srcb/src/pkg/jobcore/linux/config 2023-03-12 22:42:41.945717764 +0200
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 5.15.102 Kernel Configuration
+# Linux/x86 5.15.100 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="gcc (GCC) 12.2.1 20230201"
CONFIG_CC_IS_GCC=y
@@ -10,7 +10,7 @@
CONFIG_AS_VERSION=24000
CONFIG_LD_IS_BFD=y
CONFIG_LD_VERSION=24000
-CLANG_VERSION=0
+CONFIG_CLANG_VERSION=0
CONFIG_LLD_VERSION=0
CONFIG_CC_CAN_LINK=y
CONFIG_CC_CAN_LINK_STATIC=y
@@ -44,10 +44,10 @@
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
-KERNEL_XZ=y
+CONFIG_KERNEL_XZ=y
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set
-KERNEL_LZ4=y
+CONFIG_KERNEL_LZ4=y
CONFIG_KERNEL_ZSTD=m
CONFIG_DEFAULT_INIT=""
CONFIG_DEFAULT_HOSTNAME="joborun"
@@ -141,7 +141,7 @@
#
CONFIG_TICK_CPU_ACCOUNTING=y
CONFIG_VIRT_CPU_ACCOUNTING=y
-#CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
+# CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_SCHED_AVG_IRQ=y
CONFIG_BSD_PROCESS_ACCT=y
@@ -523,16 +523,16 @@
# CONFIG_LIVEPATCH is not set
# end of Processor type and features
-CC_HAS_SLS=y
+CONFIG_CC_HAS_SLS=y
CONFIG_CC_HAS_RETURN_THUNK=y
CONFIG_SPECULATION_MITIGATIONS=y
CONFIG_PAGE_TABLE_ISOLATION=y
-RETPOLINE=y
+CONFIG_RETPOLINE=y
CONFIG_RETHUNK=y
CONFIG_CPU_UNRET_ENTRY=y
CONFIG_CPU_IBPB_ENTRY=y
CONFIG_CPU_IBRS_ENTRY=y
-SLS=y
+CONFIG_SLS=y
CONFIG_ARCH_HAS_ADD_PAGES=y
CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
CONFIG_USE_PERCPU_NUMA_NODE_ID=y
@@ -703,7 +703,7 @@
CONFIG_COMPAT_32=y
CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
-SYSVIPC_COMPAT=y
+CONFIG_SYSVIPC_COMPAT=y
# end of Binary Emulations
CONFIG_HAVE_KVM=y
@@ -882,7 +882,7 @@
# CONFIG_MODULE_SIG_SHA1 is not set
# CONFIG_MODULE_SIG_SHA224 is not set
# CONFIG_MODULE_SIG_SHA256 is not set
-MODULE_SIG_SHA256=y
+CONFIG_MODULE_SIG_SHA256=y
CONFIG_MODULE_SIG_HASH="sha256"
# CONFIG_MODULE_SIG_SHA384 is not set
#CONFIG_MODULE_SIG_SHA512=y
@@ -2436,7 +2436,7 @@
#
CONFIG_MTD_NAND_NANDSIM=m
# CONFIG_MTD_NAND_RICOH is not set
-MTD_NAND_RICOH=m
+CONFIG_MTD_NAND_RICOH=y
# CONFIG_MTD_NAND_DISKONCHIP is not set
# CONFIG_MTD_SPI_NAND is not set
@@ -3296,7 +3296,7 @@
CONFIG_NET_VENDOR_MICROSEMI=y
CONFIG_MSCC_OCELOT_SWITCH_LIB=m
CONFIG_NET_VENDOR_MICROSOFT=y
-MICROSOFT_MANA=m
+CONFIG_MICROSOFT_MANA=m
CONFIG_NET_VENDOR_MYRI=y
CONFIG_MYRI10GE=m
CONFIG_MYRI10GE_DCA=y
@@ -3529,7 +3529,7 @@
CONFIG_SLHC=m
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP_SMART=y
-CONFIG_SLIP_MODE_SLIP6=m
+CONFIG_SLIP_MODE_SLIP6=y
CONFIG_USB_NET_DRIVERS=m
CONFIG_USB_CATC=m
CONFIG_USB_KAWETH=m
@@ -5607,8 +5607,8 @@
#
# Digital TV options
#
-CONFIG_DVB_MMAP=m
-CONFIG_DVB_NET=m
+CONFIG_DVB_MMAP=n
+CONFIG_DVB_NET=n
CONFIG_DVB_MAX_ADAPTERS=16
CONFIG_DVB_DYNAMIC_MINORS=m
# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
@@ -8445,7 +8445,7 @@
CONFIG_INTEL_SKL_INT3472=m
CONFIG_INTEL_PMC_CORE=y
CONFIG_INTEL_PMT_CLASS=m
-CONFIG_INTEL_PMT_TELEMETRY=n
+CONFIG_INTEL_PMT_TELEMETRY=m
CONFIG_INTEL_PMT_CRASHLOG=m
#
@@ -8454,7 +8454,7 @@
CONFIG_INTEL_SPEED_SELECT_INTERFACE=m
# end of Intel Speed Select Technology interface support
-CONFIG_INTEL_TELEMETRY=n
+CONFIG_INTEL_TELEMETRY=m
CONFIG_INTEL_WMI=y
CONFIG_INTEL_WMI_SBL_FW_UPDATE=m
CONFIG_INTEL_WMI_THUNDERBOLT=m
@@ -8497,7 +8497,7 @@
CONFIG_INTEL_SCU_PCI=y
CONFIG_INTEL_SCU_PLATFORM=m
CONFIG_INTEL_SCU_IPC_UTIL=m
-INTEL_TELEMETRY=n
+CONFIG_INTEL_TELEMETRY=m
CONFIG_PMC_ATOM=y
CONFIG_CHROME_PLATFORMS=y
CONFIG_CHROMEOS_LAPTOP=m
@@ -8521,7 +8521,7 @@
CONFIG_WILCO_EC=m
CONFIG_WILCO_EC_DEBUGFS=m
CONFIG_WILCO_EC_EVENTS=m
-CONFIG_WILCO_EC_TELEMETRY=n
+CONFIG_WILCO_EC_TELEMETRY=m
CONFIG_MELLANOX_PLATFORM=y
CONFIG_MLXREG_HOTPLUG=m
CONFIG_MLXREG_IO=m
@@ -8673,7 +8673,7 @@
#
# Xilinx SoC drivers
#
-XILINX_VCU=m
+CONFIG_XILINX_VCU=m
# end of Xilinx SoC drivers
# end of SOC (System On Chip) specific Drivers
@@ -8870,7 +8870,7 @@
#
# Capacitance to digital converters
#
-AD7150=m
+CONFIG_AD7150=m
# end of Capacitance to digital converters
#
@@ -9705,7 +9705,7 @@
# CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT is not set
# CONFIG_PSTORE_LZO_COMPRESS_DEFAULT is not set
# CONFIG_PSTORE_LZ4_COMPRESS_DEFAULT is not set
-PSTORE_LZ4_COMPRESS_DEFAULT=y
+CONFIG_PSTORE_LZ4_COMPRESS_DEFAULT=y
# CONFIG_PSTORE_LZ4HC_COMPRESS_DEFAULT is not set
CONFIG_PSTORE_ZSTD_COMPRESS_DEFAULT=m
CONFIG_PSTORE_COMPRESS_DEFAULT="lz4"
@@ -9878,7 +9878,7 @@
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_NETWORK=y
-PAGE_TABLE_ISOLATION=y
+CONFIG_PAGE_TABLE_ISOLATION=y
CONFIG_SECURITY_INFINIBAND=y
CONFIG_SECURITY_NETWORK_XFRM=y
CONFIG_SECURITY_PATH=y
@@ -9905,7 +9905,7 @@
CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048
CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024
# CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER is not set
-CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/usr/bin/tomoyo-init"
+# CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/usr/bin/tomoyo-init"
# CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/usr/lib/systemd/systemd"
# CONFIG_SECURITY_TOMOYO_INSECURE_BUILTIN_SETTING is not set
CONFIG_SECURITY_APPARMOR=y
@@ -9956,7 +9956,7 @@
# CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF is not set
CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL=y
# CONFIG_INIT_STACK_ALL_PATTERN is not set
-# CONFIG_INIT_STACK_ALL_ZERO=y
+CONFIG_INIT_STACK_ALL_ZERO=y
# CONFIG_GCC_PLUGIN_STRUCTLEAK_VERBOSE is not set
# CONFIG_GCC_PLUGIN_STACKLEAK is not set
CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y
@@ -10069,7 +10069,7 @@
CONFIG_CRYPTO_XXHASH=m
CONFIG_CRYPTO_BLAKE2B=m
CONFIG_CRYPTO_BLAKE2S=m
-# CONFIG_CRYPTO_BLAKE2S_X86=m
+CONFIG_CRYPTO_BLAKE2S_X86=m
CONFIG_CRYPTO_CRCT10DIF=y
CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m
CONFIG_CRYPTO_GHASH=m
@@ -10238,8 +10238,8 @@
#
CONFIG_CRYPTO_LIB_AES=y
CONFIG_CRYPTO_LIB_ARC4=m
-# CONFIG_CRYPTO_ARCH_HAVE_LIB_BLAKE2S=m
-# CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=m
+CONFIG_CRYPTO_ARCH_HAVE_LIB_BLAKE2S=m
+CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=m
CONFIG_CRYPTO_LIB_BLAKE2S=m
CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=m
CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m
@@ -10657,7 +10657,7 @@
#
# x86 Debugging
#
-TRACE_IRQFLAGS_NMI_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y
CONFIG_EARLY_PRINTK_USB=y
# CONFIG_X86_VERBOSE_BOOTUP is not set
CONFIG_EARLY_PRINTK=y

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,31 @@
.config:12:warning: unexpected data: CLANG_VERSION=0
.config:46:warning: unexpected data: KERNEL_XZ=y
.config:49:warning: unexpected data: KERNEL_LZ4=y
.config:527:warning: unexpected data: CC_HAS_SLS=y
.config:531:warning: unexpected data: RETPOLINE=y
.config:536:warning: unexpected data: SLS=y
.config:707:warning: unexpected data: SYSVIPC_COMPAT=y
.config:886:warning: unexpected data: MODULE_SIG_SHA256=y
.config:890:warning: override: reassigning to symbol MODULE_SIG_HASH
.config:2296:warning: symbol value 'm' invalid for GOOGLE_FIRMWARE
.config:2442:warning: unexpected data: MTD_NAND_RICOH=y
.config:2655:warning: override: reassigning to symbol BLK_DEV_BSG
.config:3238:warning: symbol value 'm' invalid for NET_VENDOR_MICROSOFT
.config:3242:warning: symbol value 'm' invalid for NET_VENDOR_MARVELL
.config:3302:warning: unexpected data: MICROSOFT_MANA=m
.config:3325:warning: symbol value 'm' invalid for NET_VENDOR_NVIDIA
.config:4090:warning: symbol value 'm' invalid for TOUCHSCREEN_ATMEL_MXT_T37
.config:4170:warning: symbol value 'm' invalid for TOUCHSCREEN_TSC2007_IIO
.config:4745:warning: symbol value 'm' invalid for GPIO_TPS68470
.config:5156:warning: override: reassigning to symbol X86_THERMAL_VECTOR
.config:5618:warning: symbol value 'm' invalid for DVB_DYNAMIC_MINORS
.config:7256:warning: symbol value 'm' invalid for PLAYSTATION_FF
.config:8360:warning: symbol value 'm' invalid for DVB_AV7110_IR
.config:8362:warning: symbol value 'm' invalid for DVB_AV7110_OSD
.config:8505:warning: unexpected data: INTEL_TELEMETRY=n
.config:8681:warning: unexpected data: XILINX_VCU=m
.config:8878:warning: unexpected data: AD7150=m
.config:9713:warning: unexpected data: PSTORE_LZ4_COMPRESS_DEFAULT=y
.config:9886:warning: unexpected data: PAGE_TABLE_ISOLATION=y
.config:9964:warning: override: INIT_STACK_ALL_ZERO changes choice state
.config:10666:warning: unexpected data: TRACE_IRQFLAGS_NMI_SUPPORT=y

View File

@ -325,6 +325,8 @@ badde077be7d83073865d786265125a836ea2008632763be4135a1c42e2b7bdb ChangeLog-5.4.
66445c6946d04639eb49a921582872add9f6ca89f7029a881e4c83d6738baf90 ChangeLog-5.4.236
7d8c8d75159bfb599e3f90e40e51c479471a9888f383a91fd5fc8b7af8d7974f ChangeLog-5.4.237
b5ca236bbafdce502c27c6ea03ed142f34cef44ae1f6833a74df96b905ace3f4 ChangeLog-5.4.238
d645367e61249b8fc23118e612d4a9bfd97a4a72632fddfb3b5605a727008a80 ChangeLog-5.4.239
2fd156bce13552325d6dc559a2a0b2f668d5b367baad23cc3a795f56bcc5073f ChangeLog-5.4.240
b06ab2b602fc03f3a5ee3e5bbb93b4d1a6ed33f09440ba57fc2f90f7f5339576 ChangeLog-5.5
70703385d5a64eb604eb7db844319fd9b6908aea346d2488b5860a7982d6e591 ChangeLog-5.5.1
e77d916573c237b1422b89845f520f416c4a58df7f869eec401a68c6135b9842 ChangeLog-5.5.2
@ -598,6 +600,7 @@ ffc63bd238124130a92ba03c7ba88f2a0fe08cfe204dc20b0a5ba8237b5803c9 ChangeLog-5.10
34353be197a8d30fa019b4029a07f7b3ab161749b28e8332f2064541119fdd57 ChangeLog-5.10.174
5ed60dff3d44c71a1853c77afc90b6aa2eff689bc4c55b629170fc2a03a2f09b ChangeLog-5.10.175
c4d86abbdd25d8ddfb7e71af8dc46df3038099eda0f3c7691dbbc8c7fcd47f2e ChangeLog-5.10.176
35963f43cb4bda7144261127fb1ec4733d2a3a3e6ceb9c7e58f19d37648c3d0e ChangeLog-5.10.177
1b67a4eb91d8009cf5b47521caae0ff1c904e4fb0ec95e4c2562b61a772f3e16 ChangeLog-5.11
61e4714a1413779d4c9bf707de34ca7146714eb787a9078bcd51c8c18489dc7e ChangeLog-5.11.1
548b64c633da18f18021e72b4c9ba3212d699df6c56e9496277285283df300f5 ChangeLog-5.11.2
@ -788,6 +791,8 @@ ffb048308f007fa856f198950d035e60f639702cf1e20dcbc389a6f15ee39a5f ChangeLog-5.15
6513b16834d5894996944455def65f0d9a1dba1d3a8d97ecee1bbdeca40ac3c9 ChangeLog-5.15.102
39adb6b3639092ee334628bf75543e7a0eb3c4565b2dacc8ae052f4542299391 ChangeLog-5.15.103
aa62bd08beb8a84ecfff9ca7d3da9ba645093b5c7705aab74e9ccde14f7529dc ChangeLog-5.15.104
82ac213cbe38727e79dc9495f482a2a98f32478ab65ea827366cd7e2b9cb7f36 ChangeLog-5.15.105
99fd6638222fb5f87bd1159f6715827dd65c18e3aa315b020340be5d2eade449 ChangeLog-5.15.106
8973679b5da41c4f9f3a12edf2598bcea3ee4a4988a179f36c4c8d4ec9c96e6f ChangeLog-5.16
694254b586ab67c329bc79a3b0a60f74771b97aebe314aff66c944ec454acb98 ChangeLog-5.16.1
5f029a42102d90a5ca51c2d7d64095dbd846fbf6391582ac9e2f7a791e33b3dd ChangeLog-5.16.2
@ -1512,6 +1517,10 @@ f8c44243c1f49086bd42fbb4ecac723173dbd06833b8dbaa7888f23fcda1e0f4 linux-5.4.237.
b708fee0ff0533cc64a5202287ba5581482e2653925a5d46800edfa525c25527 linux-5.4.237.tar.xz
7c709a99c934328ee7c7a17a90a3fafc7313868ee2f8dd59c70a526f151b186a linux-5.4.238.tar.gz
70a2b2da85598eba6a73cdc0749e441cbdf3011d9babcb7028a46aa8d98aa91f linux-5.4.238.tar.xz
d4bbeb63f8d02665ea21a1e640bf766e7ec91b07f2f38b018c0b0956ce5a989a linux-5.4.239.tar.gz
a90264af0f091962cd11fa9776620c154af3000ec112abbc9e90a93d3115805b linux-5.4.239.tar.xz
71a473cffb4e7ac31c1884fccdf5369d2f669efcac4c31ea22c2cccec9b0e1f0 linux-5.4.240.tar.gz
dc88f041ce97520f19ea4ff8687d0f8b692d4c4a62be38e6d8aa9d0e71060e46 linux-5.4.240.tar.xz
b7feea0a1d505f26098d596e6ad6a2e8b476c8f63c52eabf435deab2bb9a5559 linux-5.5.tar.gz
a6fbd4ee903c128367892c2393ee0d9657b6ed3ea90016d4dc6f1f6da20b2330 linux-5.5.tar.xz
8ad23faa72b6a22e3701b90485c0a60c75bd4226c0a438d9cc15e6eb0da2a665 linux-5.5.1.tar.gz
@ -2058,6 +2067,8 @@ e6b03abfb23cef768082bb1af1a5920db1ff0370cf7924e0533c308b330fb5f1 linux-5.10.174
e277562e28f234e36665ae12b7585f9557a83a86bc4a8de8840a305af6307bce linux-5.10.175.tar.xz
ff88acd6a4d725ff0fb7e089166750248fd8cfc65ed2012038aa3538d27dfebf linux-5.10.176.tar.gz
ce072c60ba04173e05b2a1de3fefdeba5ac8b28b1958d92d21bdbf9b736ef793 linux-5.10.176.tar.xz
79053635cc05a0fad2fbd8e85480508e48c79b358a420db2444efe08a3797ebb linux-5.10.177.tar.gz
9f2261fea804112dcec8fa2dcc26e9c1388aa9cb7f86e5913beb00b9b5a15571 linux-5.10.177.tar.xz
8e7f07e91e9aa0611b749fd1a908dc9d28c7d612f831e9d273427d4442b55f25 linux-5.11.tar.gz
04f07b54f0d40adfab02ee6cbd2a942c96728d87c1ef9e120d0cb9ba3fe067b4 linux-5.11.tar.xz
13c77074922003f9c456dec532020067358849a54877d8bca68157b1a5feb5f7 linux-5.11.1.tar.gz
@ -2438,6 +2449,10 @@ a269966139d93e0b42756695e63e4380fa122716ed22927d2d8a1bd2df272d9c linux-5.15.103
0876ba81631cca532f72a8d633f7031c3068669a0ecdd77d23b74e8dfc8dd705 linux-5.15.103.tar.xz
21912a20ec563f6a2f373df145990caa69030bea0b04634197b2f634d9d37db4 linux-5.15.104.tar.gz
71c532ce09992e470f3259ffeb38d2b5bba990c243a559e4726a57412bd36b54 linux-5.15.104.tar.xz
8ea249e656879023173cb4c31bea6cdd55b02674dce75c3f6800d2931dbee135 linux-5.15.105.tar.gz
01b537650332d2852722a626169cf7e5e798d11f9b578171b477868555f5e44f linux-5.15.105.tar.xz
0529ca59457f8bee343e1d7e5fc94abf487b69fe7105eaa94dc29c92399f5680 linux-5.15.106.tar.gz
84e6934f828033570966e2a56fe8b72dc6e1409be296c66f4bf3c8ca6e3c8fe4 linux-5.15.106.tar.xz
d4791f2eddeb25c4e6ae0b2f9b3f5fb3fd394d7f9a57fa3e33de6dd9761480f6 linux-5.16.tar.gz
027d7e8988bb69ac12ee92406c3be1fe13f990b1ca2249e226225cd1573308bb linux-5.16.tar.xz
5c91875fd84393b6a8a6352f5f7a2fedbed3708e06dc8cc465a9f5a86d1324f5 linux-5.16.1.tar.gz
@ -2914,6 +2929,8 @@ c94cb966e54a757f0789ffac11eb4fd21704ef158438fdb1880098c31eef4fff patch-5.4.234.
4b59a1d5ada45aa527c59b529289fea64c370a7e79176f1d4ae64a8b96ba0088 patch-5.4.236.xz
29ee77ac070d80c33bc1de5bf4316f90af5a1522ac72813b95660fd279953a5e patch-5.4.237.xz
39b9cc1611c423effcb99682ebc604f575d068a8740d8c4954dc6af2a87fd265 patch-5.4.238.xz
6118acb0b371209c009072733d25e17f037fbdd06df9738fcfe3ed32e0bd6e21 patch-5.4.239.xz
b6d885396e0024405cb4d52b571e17e6ec022e60e16b113828d70457b19adfbd patch-5.4.240.xz
e082f16aa710285ada2c1376b5509bb3bd49548b60ffca84605ac632caa990db patch-5.5.xz
db575e6dfabeb2ab409e2c56f826a6d52d56b8a3b0c004ae261cabd5af220688 patch-5.5.1.xz
07cbd21a049b0bf5a96d7e0b8272db8e53e9947f0eff06fa2a765bb3b34bc8fa patch-5.5.2.xz
@ -3187,6 +3204,7 @@ c6a54323b16da68251703881b98f9f5708de44ace118f0dcf263d49a087b16fa patch-5.10.173
6af1ec1e1ec7690cd2d4df21e431523e6144cb1ee15b2e4376abaa082e0d0808 patch-5.10.174.xz
f153b7f97a8588297b8a3c699fcb41575e88ef4f0d047542e3dc31c5f101159c patch-5.10.175.xz
4795a5278d741a084888a52670cf8c44c3274bf81be696336808bf8e2384910d patch-5.10.176.xz
6e66bad4e27e1de77a9b88653876d1cf90b279b404f9442b21919bf8a044209f patch-5.10.177.xz
5b2710f30dd7b0c6f886a2042a76a4e640d3a690a57817d6ac3da49d5e1d96e9 patch-5.11.xz
8808ee2c7e904f2fb3c830b41c8bbc2b2ad37638ee95fdfde68167f0be35dd3f patch-5.11.1.xz
7a6d20308aed903a81a67e76e7c6cd294fb7cbb87f887e2168097da865def8ba patch-5.11.2.xz
@ -3377,6 +3395,8 @@ bd739cb1eab8681b272ff8b28b940c2faa128019f3a505ffeb66d3c8abf5e253 patch-5.15.95.
a1c89f1022d272818e6daea30a0b80626402829112ee2066ec1459f52cb216f6 patch-5.15.102.xz
c7f8848a24616117c6ec1bf0ec6a687d6a169002e8aeec452ef6db40aa734b5b patch-5.15.103.xz
271aa630efce0f2550c831ae7c5cf87f073b25ff3a7556a4edadc836d67017e0 patch-5.15.104.xz
2dd9956bcbfacd4786f2f91061f334791780c34f45a79be0c0023cb1b8667238 patch-5.15.105.xz
1927c12946a3f94c1fd3ca3fe696a20791890c7a6511bda1f28d69f1b16821be patch-5.15.106.xz
cdc44e99ee873ef2fe27f1ca62120ad225e8d59a99506db3ebfd31e0c7f6796b patch-5.16.xz
9ff97f3a01ec8744863ff611315c44c1f5d1ff551769f7d8359c85561dee1b1d patch-5.16.1.xz
3a09c2f1ad410c09cf03921abeed1a6ca7c38138fb508171ee673d429d179171 patch-5.16.2.xz
@ -3456,17 +3476,17 @@ fdabf20292982e808a26b87f2f29493ba9f20a87d958dc592018ba1a381669df patch-5.19.15.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
iQIcBAEBCAAGBQJkGvjrAAoJEGMtOgZYnaaxbW4QAKpRVhE9gK0IK1SWP+tja+4Q
ePvQi9KO4W3A9QapFM5kPYvdUccnD/ZCq9YtQUGw87EbddTAOYeSX+FzHvUHfyou
DdhDwyBGyRe22Voo71KQdP/cY26lrEGmg5FUgmZ68U9bnoqdZZ7xjX8jn9XJIu83
1M34D0ItQbWoCtyfQev08YIl5nO+dJLfHyUB0hVImxqZU6H8jQEaOj+k7gzUIKdn
Ty16kX+PfT1TSuQCFyvM+OrA2mM+CCykPkSvGVyKm9Vp8r7OI370b5OkizeMyF9w
aLkTcoKD6gquoi0Ty2P1dWsseHxlchTawPeQ/jIBN3gXuzjeXvD8e3AFK+3fN9sc
cESByumCUWFgInnA1vRSiVMQU9uFMRUxKL/aHsjg1hh8NTFK6tAwSStxpBiyFjG+
y1T3p/w+UTkUcuFPxJmenIGIJeqpoKh4nuhYnyEmEt1EQlelZUb/X6xFC3plaHKS
JIHVMRKHRaBvdDJTFVdCrH0A+0TeaKLDUw7Oh6wG61BZEzVx2fDh54xwaJG5bcT4
CERi68yRdFXP5vh4fUsE4UjLxKlSFEr9KHym3Qj86rPzIflUi0ap4B0MBaOGbNQP
moyk4ucgKRazVSx5ibGfHUFDFq379/qCXRQkeSoeVO8EwAsf5NPeX8Nzol6PyuFy
vxtOCG2w2EuryrzAfPCS
=D+o1
iQIcBAEBCAAGBQJkLULkAAoJEGMtOgZYnaaxTYwP/AttMF1fUBxbGb5VMFp/2Fms
nKT0MtKhO4gbRQ87FYXEC1z4HKhugYnzndNwlfdIdbyOONm5nh9/gkNJD92zCX5J
gHyL9q8f7edhr2JyIccq0sWfGVORnYAIVWq42zgkXATwtUosmwobR5d3Ke17jodJ
5ruYHjFQYaEUw5tOZ3Oju3zU5kzSnyhYI778YKOvNzT8oFj8I5CYfUj+yc3rWnMN
ibtfy/hgu6HqBQfE5m3cnI4qCmKfnXlch4Jy4WR1nKXkLmuNaX0X8oKcoqgDz1kP
cuTsXWWAzfmRQ2phKpm0mwEPdC2wjHc5jJe6o88n45HWBtPjNxtSsOYnXKoqDqBu
Az4rPfVqhyfLL0mXzHNR9UGfOyB6fiag7vth1Hnxn86LLRr7gpm5zhM8AczYYHgo
/n+VSEXO2M7dfrtrOFo5AbuHwY6J4fbkNomxDeTz0wOj4edr2qAlVM5f1l7GK80U
yt07vmsJ3H1C8+TaI4Xtkth00qhcsswy8oC/A9GsoTRNR6fwSuFnQ5BO58cYTztn
hMyoBNS6DQPUXaNG5r9PmPDY2dYAKV0pn7iNCsDSYzFcKwuhbWl5j7Z5uzHb8Dqm
XvCE9ZAe1RrewE2Yeb5elRQBSZYvrCtdBfuO3vjr7ol+/PKcVE8XEPUqURKuo841
E7zQyJhbjvUxjBzp3QsS
=m0IV
-----END PGP SIGNATURE-----

View File

@ -1 +1 @@
sha256sum {li*63.tar.*,config,0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch,0002-PCI-Add-more-NVIDIA-controllers-to-the-MSI-masking-q.patch,0003-iommu-intel-do-deep-dma-unmapping-to-avoid-kernel-fl.patch,0004-Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch,0005-lg-laptop-Recognize-more-models.patch,0006-Fix-NFSv4-mount-regression.patch,sha256sums} >>PKGBUILD
sha256sum {li*.tar.xz*,config,000*,sha256sums} >>PKGBUILD