diff options
3 files changed, 90 insertions, 47 deletions
diff --git a/kernels/linux-libre-xtreme/ACPICA-AML-Parser-ignore-control-method-status-in-module-level-code.patch b/kernels/linux-libre-xtreme/ACPICA-AML-Parser-ignore-control-method-status-in-module-level-code.patch new file mode 100644 index 000000000..c6929908a --- /dev/null +++ b/kernels/linux-libre-xtreme/ACPICA-AML-Parser-ignore-control-method-status-in-module-level-code.patch @@ -0,0 +1,53 @@ +From f51d7e02375963169fb1c1148ac3f96d54e97ec4 Mon Sep 17 00:00:00 2001 +From: Erik Schmauss <erik.schmauss@intel.com> +Date: Sat, 28 Jul 2018 14:49:55 +0200 +Subject: [PATCH] ACPICA: AML Parser: ignore control method status in + module-level code + +Previous change in the AML parser code blindly set all non-successful +dispatcher statuses to AE_OK. This approach is incorrect because +successful control method invocations from module-level return +AE_CTRL_TRANSFER. Overwriting AE_OK to this status causes the AML +parser to think that there was no return value from the control +method invocation. + +fixes: 73c2a01c52b6 (ACPICA: AML Parser: ignore dispatcher error status during table load) + +Reported-by: Linus Torvalds <torvalds@linux-foundation.org> +Signed-off-by: Erik Schmauss <erik.schmauss@intel.com> +--- + drivers/acpi/acpica/psloop.c | 19 ++++++++++++------- + 1 file changed, 12 insertions(+), 7 deletions(-) + +diff --git a/drivers/acpi/acpica/psloop.c b/drivers/acpi/acpica/psloop.c +index ee840be150b5e..44f35ab3347d1 100644 +--- a/drivers/acpi/acpica/psloop.c ++++ b/drivers/acpi/acpica/psloop.c +@@ -709,15 +709,20 @@ acpi_status acpi_ps_parse_loop(struct acpi_walk_state *walk_state) + } else + if ((walk_state-> + parse_flags & ACPI_PARSE_MODULE_LEVEL) ++ && status != AE_CTRL_TRANSFER + && ACPI_FAILURE(status)) { + /* +- * ACPI_PARSE_MODULE_LEVEL means that we are loading a table by +- * executing it as a control method. However, if we encounter +- * an error while loading the table, we need to keep trying to +- * load the table rather than aborting the table load. Set the +- * status to AE_OK to proceed with the table load. If we get a +- * failure at this point, it means that the dispatcher got an +- * error while processing Op (most likely an AML operand error. ++ * ACPI_PARSE_MODULE_LEVEL flag means that we are currently ++ * loading a table by executing it as a control method. ++ * However, if we encounter an error while loading the table, ++ * we need to keep trying to load the table rather than ++ * aborting the table load (setting the status to AE_OK ++ * continues the table load). If we get a failure at this ++ * point, it means that the dispatcher got an error while ++ * processing Op (most likely an AML operand error) or a ++ * control method was called from module level and the ++ * dispatcher returned AE_CTRL_TRANSFER. In the latter case, ++ * leave the status alone, there's nothing wrong with it. + */ + status = AE_OK; + } diff --git a/kernels/linux-libre-xtreme/PKGBUILD b/kernels/linux-libre-xtreme/PKGBUILD index 6eea2e930..2c8785b88 100644 --- a/kernels/linux-libre-xtreme/PKGBUILD +++ b/kernels/linux-libre-xtreme/PKGBUILD @@ -11,7 +11,8 @@ pkgbase=linux-libre-xtreme _pkgbasever=4.17-gnu -_pkgver=4.17.10-gnu +_pkgver=4.17.11-gnu +_archpatchver=arch1 _hardenedver=a _replacesarchkernel=('linux%') # '%' gets replaced with _kernelname @@ -22,7 +23,7 @@ _srcname=linux-${_pkgbasever%-*} _archpkgver=${_pkgver%-*} pkgver=${_pkgver//-/_} pkgrel=1 -rcnrel=armv7-x10 +rcnrel=armv7-x11 arch=('i686' 'x86_64' 'armv7h') url="https://wiki.parabola.nu/Xtreme" license=('GPL2') @@ -31,6 +32,7 @@ options=('!strip') source=( "https://linux-libre.fsfla.org/pub/linux-libre/releases/${_pkgbasever}/linux-libre-${_pkgbasever}.tar.xz"{,.sign} "https://linux-libre.fsfla.org/pub/linux-libre/releases/${_pkgver}/patch-${_pkgbasever}-${_pkgver}.xz"{,.sign} + "https://repo.parabola.nu/other/arch/patches/${_pkgver%-*}/patch-${_pkgver%-*}-${_archpatchver}.patch"{,.sig} "https://github.com/anthraxx/linux-hardened/releases/download/${_pkgver%-*}.${_hardenedver}/linux-hardened-${_pkgver%-*}.${_hardenedver}.patch"{,.sig} "https://repo.parabola.nu/other/linux-libre/logos/logo_linux_clut224.ppm"{,.sig} "https://repo.parabola.nu/other/linux-libre/logos/logo_linux_mono.pbm"{,.sig} @@ -63,6 +65,7 @@ source=( 'ACPI-watchdog-Prefer-iTCO_wdt-always-when-WDAT-table.patch' 'Revert-drm-i915-edp-Allow-alternate-fixed-mode-for-e.patch' 'mac80211-disable-BHs-preemption-in-ieee80211_tx_cont.patch' + 'ACPICA-AML-Parser-ignore-control-method-status-in-module-level-code.patch' ) validpgpkeys=( '474402C8C582DAFBE389C427BCB7CF877E7D47A7' # Alexandre Oliva @@ -72,9 +75,11 @@ validpgpkeys=( ) sha512sums=('a09014005d64839e958cabb20dbd50e051907b1afea2f517f41f0a9312fa1bc8447690e64ec0e6488a778be8a7384891c003f39029ff5799f9884482628aadf2' 'SKIP' - '26e44c0cdb1236ebb7e513e0f161f0205262fa79318713b220468a931020574754231d3363523bd5ad03c2397829e6e827a2b1bf0a312379a25c8a0af9d20515' + 'a977ac21aa66b7d01ccc207f74d6213cdeed7ab0dd40c5569f97a97f42244c9db002f79d84ad6b4583d1a3b5f357f55bb12da214078c919ac2b70800b0b6ae69' 'SKIP' - '62ff8f1236afa0131c3f7b82a5ef95e1d43856bba8ce968de6979fd9719fd4713320702ad8fc9ed880983afd80169e3f67bd9bcb1f2b3a1d3ca5473af0a01891' + 'f7a54457093981f74282d862aeba704c3ec49ae550448230294ac9cfcb6cf0ac0b62f6948855b9b505e2af5e748b782facde14c107c6d2b448f818cdc27c6188' + 'SKIP' + '25fcaf8ee67f3864a740b976dd2a5999ff7c9ea1803c58f4338f22cd9171c3bb6830bcddf5b562860b30c1eab7c2f7e18eebe3a427afe1fdef58cdc7d0f2f5a3' 'SKIP' '13cb5bc42542e7b8bb104d5f68253f6609e463b6799800418af33eb0272cc269aaa36163c3e6f0aacbdaaa1d05e2827a4a7c4a08a029238439ed08b89c564bb3' 'SKIP' @@ -82,13 +87,13 @@ sha512sums=('a09014005d64839e958cabb20dbd50e051907b1afea2f517f41f0a9312fa1bc8447 'SKIP' '7a3716bfe3b9f546da309c7492f3e08f8f506813afeb1c737a474c83313d5c313cf4582b65215c2cfce3b74d9d1021c96e8badafe8f6e5b01fe28d2b5c61ae78' 'SKIP' - '00f0d984b40e0928d9aa3d5b71beb8e6f9825ba658fffd86ce82ee3c32e7362fb96827c813bde5fdaf283e0573a22a45bebbbe2da29540586203ad5568c09c99' + '497e74b7ea4fa6abf3274f8330a019cadb07ab881530f14bcc4f4a9ae9c91c4846171308bf838728672f320fc65b7da9d02977e5fd5d0bf3038380b15c211440' 'db27d494be852b020f71da44c88bfd93b514871b761f4220c1dd683f48ca9dd485f20bd2c37b993e27e9de185303bdbfbaa95d0881a4cacdb34b3541c57fc07b' - '05cd4eb578374850367b75fec2599b5bed210b175a7cc23933aa6528a8cd750ef0c470ea73d9c770e8c624bf6d229b287dbc7d913e5dc1a48c976803f23fe10e' + 'fdf991dc49f88e5dc6be356f0c78875797015c556e75096ec46716f6527a2512a1a97f5ddca541ccee673a40c19f4445823ef8b3bcb95396c1591856d6a5bc24' '7ad5be75ee422dda3b80edd2eb614d8a9181e2c8228cd68b3881e2fb95953bf2dea6cbe7900ce1013c9de89b2802574b7b24869fc5d7a95d3cc3112c4d27063a' '4a8b324aee4cccf3a512ad04ce1a272d14e5b05c8de90feb82075f55ea3845948d817e1b0c6f298f5816834ddd3e5ce0a0e2619866289f3c1ab8fd2f35f04f44' '2dc6b0ba8f7dbf19d2446c5c5f1823587de89f4e28e9595937dd51a87755099656f2acec50e3e2546ea633ad1bfd1c722e0c2b91eef1d609103d8abdc0a7cbaf' - '93909dee8e89a5e243489c3c47b6b1023b4064bea7688e6d395912383e1d2e69b64c2dea161ef85ce9a52ff24b0de8fe975297cd1b17eaebc1f72a9d6a5cafbe' + '600a373e26f7755f5a4c7cbc84d713cd8670cacf8891ec00e728818622a312cef3d2073a656dcda50e05ae8b2fdfe103b4ae5b6a2fe8387c3fc2674402c426dc' 'SKIP' 'c6e758931e599199db07276a51b204a4030e0da80f08df60783278cf3d4d3ee6c0c280cc1788ca024cdf2043a39dd527e2205dd678368097b68240a7e80b931c' '3e0852e188549e60fa35b70e82740d5124936688d5f5ff0314c4e555ad9cc4c7688c56b5949baa8fd67ede22a579019919b09091b59eafac60409fdf18105af5' @@ -108,7 +113,8 @@ sha512sums=('a09014005d64839e958cabb20dbd50e051907b1afea2f517f41f0a9312fa1bc8447 'b8fe56e14006ab866970ddbd501c054ae37186ddc065bb869cf7d18db8c0d455118d5bda3255fb66a0dde38b544655cfe9040ffe46e41d19830b47959b2fb168' '994d328326ca1e65fc4b1ea26d858e040367112881af4d2f33b953fd138fa44009f898211f84e29e1158ca61bd7080e871933dba4d7e8f084640a02110cfc920' 'cc8852b089aa24f588ad1af726503ecd1012ad7e1cbc47ea77f03a5f7aecd25306d40f2e16b8a1afeafe7e2e97b6b6840c9f462ed7be358090117e2e024df1bd' - '662e8cc92c2034de247530a981ed24d3d85109e5d0742a9c53c6def9528c151c3177c95992b8d9d1173b64817960ac7c6cb029817fa39cce48d8199823b8271a') + '662e8cc92c2034de247530a981ed24d3d85109e5d0742a9c53c6def9528c151c3177c95992b8d9d1173b64817960ac7c6cb029817fa39cce48d8199823b8271a' + '0baf3c296acac5bd48e5221f360c59f440844066e7a39ee34eab318938ec2e93ad81d274862784a80e1c0fefc60cbb073bd6a4dbcb6884d9f602ade5c854cefc') _kernelname=${pkgbase#linux-libre} _replacesarchkernel=("${_replacesarchkernel[@]/\%/${_kernelname}}") @@ -127,6 +133,11 @@ prepare() { if [ "${_pkgbasever}" != "${_pkgver}" ]; then patch -p1 -i ../patch-${_pkgbasever}-${_pkgver} fi + + # add Arch Linux kernel patch + if [ -e ../patch-${_pkgver%-*}-${_archpatchver}.patch ] && [ "${CARCH}" != "x86_64" ]; then + patch -p1 -i ../patch-${_pkgver%-*}-${_archpatchver}.patch + fi if [ "${CARCH}" = "armv7h" ]; then # RCN patch (CM3 firmware deblobbed and AUFS/WireGuard removed) @@ -156,17 +167,20 @@ prepare() { install -m644 -t drivers/video/logo \ ../logo_linux_{clut224.ppm,vga16.ppm,mono.pbm} - # add latest fixes from stable queue, if needed - # http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git + if [ "${CARCH}" = "x86_64" ]; then + # add linux-hardened patch + patch -p1 -i ../linux-hardened-${_pkgver%-*}.${_hardenedver}.patch - # https://bugs.archlinux.org/task/56780 - patch -Np1 -i ../ACPI-watchdog-Prefer-iTCO_wdt-always-when-WDAT-table.patch + # https://bugs.archlinux.org/task/56780 + patch -p1 -i ../ACPI-watchdog-Prefer-iTCO_wdt-always-when-WDAT-table.patch - # https://bugs.archlinux.org/task/56711 - patch -Np1 -i ../Revert-drm-i915-edp-Allow-alternate-fixed-mode-for-e.patch + # https://bugs.archlinux.org/task/56711 + patch -p1 -i ../Revert-drm-i915-edp-Allow-alternate-fixed-mode-for-e.patch - # Fix iwd provoking a BUG - patch -Np1 -i ../mac80211-disable-BHs-preemption-in-ieee80211_tx_cont.patch + # Fix iwd provoking a BUG + patch -p1 -i ../mac80211-disable-BHs-preemption-in-ieee80211_tx_cont.patch + patch -p1 -i ../ACPICA-AML-Parser-ignore-control-method-status-in-module-level-code.patch + fi # maintain the TTY over USB disconnects # http://www.coreboot.org/EHCI_Gadget_Debug @@ -177,37 +191,13 @@ prepare() { # http://www.fsfla.org/pipermail/linux-libre/2015-November/003202.html patch -p1 -i ../0002-fix-Atmel-maXTouch-touchscreen-support.patch - if [ "${CARCH}" = "x86_64" ]; then - # linux-hardened patch - patch -p1 -i ../linux-hardened-${_pkgver%-*}.${_hardenedver}.patch - fi - - cat ../config.${CARCH} - >.config <<END -CONFIG_LOCALVERSION="${_kernelname}" -CONFIG_LOCALVERSION_AUTO=n -END - # append pkgrel to extraversion and empty localversion sed -e "/^EXTRAVERSION = -gnu/s/-gnu.*/-gnu-${pkgrel}/" \ -e "/^EXTRAVERSION =/aLOCALVERSION =" \ -i Makefile - # don't run depmod on 'make install'. We'll do this ourselves in packaging - sed -i '2iexit 0' scripts/depmod.sh - - # get kernel version - make prepare - - # load configuration - # Configure the kernel. Replace the line below with one of your choice. - #make menuconfig # CLI menu for configuration - #make nconfig # new CLI menu for configuration - #make xconfig # X-based configuration - #make oldconfig # using old config from previous kernel version - # ... or manually edit .config - - # rewrite configuration - yes "" | make config >/dev/null + cp ../config.${CARCH} .config + make olddefconfig } build() { @@ -243,7 +233,7 @@ _package() { _basekernel=${_basekernel%.*} mkdir -p "${pkgdir}"/{boot,usr/lib/modules} - make INSTALL_MOD_PATH="${pkgdir}/usr" modules_install + make INSTALL_MOD_PATH="${pkgdir}/usr" DEPMOD=/doesnt/exist modules_install if [ "${CARCH}" = "armv7h" ]; then make LOCALVERSION= INSTALL_DTBS_PATH="${pkgdir}/boot/dtbs/${pkgbase}" dtbs_install cp arch/$KARCH/boot/zImage "${pkgdir}/boot/vmlinuz-${pkgbase}" diff --git a/kernels/linux-libre-xtreme/config.armv7h b/kernels/linux-libre-xtreme/config.armv7h index 1b01579d4..3c4329b14 100644 --- a/kernels/linux-libre-xtreme/config.armv7h +++ b/kernels/linux-libre-xtreme/config.armv7h @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm 4.17.6-gnu-1-xtreme Kernel Configuration +# Linux/arm 4.17.11-gnu-1-xtreme Kernel Configuration # CONFIG_ARM=y CONFIG_ARM_HAS_SG_CHAIN=y @@ -7879,8 +7879,8 @@ CONFIG_FPGA_MGR_SOCFPGA=m CONFIG_FPGA_MGR_SOCFPGA_A10=m CONFIG_ALTERA_PR_IP_CORE=m CONFIG_ALTERA_PR_IP_CORE_PLAT=m -# CONFIG_FPGA_MGR_ALTERA_PS_SPI is not set -# CONFIG_FPGA_MGR_ALTERA_CVP is not set +CONFIG_FPGA_MGR_ALTERA_PS_SPI=m +CONFIG_FPGA_MGR_ALTERA_CVP=m CONFIG_FPGA_MGR_ZYNQ_FPGA=m CONFIG_FPGA_MGR_XILINX_SPI=m CONFIG_FPGA_MGR_ICE40_SPI=m @@ -8185,7 +8185,7 @@ CONFIG_CIFS_FSCACHE=y # CONFIG_9P_FS is not set CONFIG_NLS=y CONFIG_NLS_DEFAULT="utf8" -CONFIG_NLS_CODEPAGE_437=m +CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_CODEPAGE_737=m CONFIG_NLS_CODEPAGE_775=m CONFIG_NLS_CODEPAGE_850=m |