aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorxiota2023-10-14 17:43:30 -0700
committerxiota2023-10-14 17:50:48 -0700
commit596fb4cdd68e72708f015b167ad2ef8ee8a11514 (patch)
tree7d751a0f6b637031b71365825622e420c9633d40
parent0b195433c27d752ef668ce418f9b4787231037fc (diff)
downloadaur-596fb4cdd68e72708f015b167ad2ef8ee8a11514.tar.gz
add pgp keys, update patches
-rw-r--r--.SRCINFO8
-rw-r--r--0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch36
-rw-r--r--0004-Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch57
-rw-r--r--0005-lg-laptop-Recognize-more-models.patch36
-rw-r--r--PKGBUILD16
-rw-r--r--keys/pgp/647F28654894E3BD457199BE38DBBDC86092693E.asc81
-rw-r--r--keys/pgp/ABAF11C65A2970B130ABE3C479BE3E4300411886.asc37
7 files changed, 142 insertions, 129 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 6ec71b4cef0f..71062a96b424 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -23,20 +23,14 @@ pkgbase = linux-vfio-lts
source = https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.1.57.tar.sign
source = config
source = 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
- source = 0002-PCI-Add-more-NVIDIA-controllers-to-the-MSI-masking-q.patch
- source = 0003-iommu-intel-do-deep-dma-unmapping-to-avoid-kernel-fl.patch
source = add-acs-overrides.patch
source = i915-vga-arbiter.patch
validpgpkeys = ABAF11C65A2970B130ABE3C479BE3E4300411886
validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E
- validpgpkeys = A2FF3A36AAA56654109064AB19802F8B0D70FC30
- validpgpkeys = C7E7849466FE2358343588377258734B41C31549
sha256sums = f9ebfe3ddc5152d87b37e33be30e31875d137433be10a57ce29d2eae7b6e91b1
sha256sums = SKIP
sha256sums = fcf0b005d3cde29b54a61b25bef3efb42a12ac38c039200ac8f4756618270820
- sha256sums = 7bd64ff894475b3415d792ba8466ba7e8f872af56dbf1aeed0d261fe4008b8b5
- sha256sums = 39649dc1dfcb06b411ad124e123769e955a78961b4ea17538c0919a930925549
- sha256sums = 56c12551e859cc67520909e64feecbf1b190cee8addef150c5b9d1bb1d40981e
+ sha256sums = f9ebfe3ddc5152d87b37e33be30e31875d137433be10a57ce29d2eae7b6e91b1
sha256sums = b90be7b79652be61f7d50691000f6a8c75a240dc2eee2667b68d984f67583f77
sha256sums = 856230cfbdc2bb53a4920dfbcb6fb2d58427b7b184e5f94e21f08011d0a2fcc6
diff --git a/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch b/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
index 63b676786294..8c6bfa8cb473 100644
--- a/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
+++ b/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
@@ -14,10 +14,10 @@ Our default behavior continues to match the vanilla kernel.
5 files changed, 53 insertions(+)
diff --git a/include/linux/user_namespace.h b/include/linux/user_namespace.h
-index 33a4240e6a6f..82213f9c4c17 100644
+index 45f09bec02c4..87b20e2ee274 100644
--- a/include/linux/user_namespace.h
+++ b/include/linux/user_namespace.h
-@@ -139,6 +139,8 @@ static inline void set_rlimit_ucount_max(struct user_namespace *ns,
+@@ -148,6 +148,8 @@ static inline void set_userns_rlimit_max(struct user_namespace *ns,
#ifdef CONFIG_USER_NS
@@ -26,7 +26,7 @@ index 33a4240e6a6f..82213f9c4c17 100644
static inline struct user_namespace *get_user_ns(struct user_namespace *ns)
{
if (ns)
-@@ -172,6 +174,8 @@ extern bool current_in_userns(const struct user_namespace *target_ns);
+@@ -181,6 +183,8 @@ extern bool current_in_userns(const struct user_namespace *target_ns);
struct ns_common *ns_get_owner(struct ns_common *ns);
#else
@@ -36,10 +36,10 @@ index 33a4240e6a6f..82213f9c4c17 100644
{
return &init_user_ns;
diff --git a/init/Kconfig b/init/Kconfig
-index d19ed66aba3b..a67689ca1929 100644
+index de255842f5d0..4e028c5c976b 100644
--- a/init/Kconfig
+++ b/init/Kconfig
-@@ -1231,6 +1231,22 @@ config USER_NS
+@@ -1248,6 +1248,22 @@ config USER_NS
If unsure, say N.
@@ -63,7 +63,7 @@ index d19ed66aba3b..a67689ca1929 100644
bool "PID Namespaces"
default y
diff --git a/kernel/fork.c b/kernel/fork.c
-index 89475c994ca9..a00b3f26f241 100644
+index 41950ff90aa3..af4961b85f91 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -98,6 +98,10 @@
@@ -77,7 +77,7 @@ index 89475c994ca9..a00b3f26f241 100644
#include <asm/pgalloc.h>
#include <linux/uaccess.h>
#include <asm/mmu_context.h>
-@@ -1950,6 +1954,10 @@ static __latent_entropy struct task_struct *copy_process(
+@@ -2014,6 +2018,10 @@ static __latent_entropy struct task_struct *copy_process(
if ((clone_flags & (CLONE_NEWUSER|CLONE_FS)) == (CLONE_NEWUSER|CLONE_FS))
return ERR_PTR(-EINVAL);
@@ -88,7 +88,7 @@ index 89475c994ca9..a00b3f26f241 100644
/*
* Thread groups must share signals as well, and detached threads
* can only be started up within the thread group.
-@@ -3066,6 +3074,12 @@ int ksys_unshare(unsigned long unshare_flags)
+@@ -3173,6 +3181,12 @@ int ksys_unshare(unsigned long unshare_flags)
if (unshare_flags & CLONE_NEWNS)
unshare_flags |= CLONE_FS;
@@ -102,23 +102,23 @@ index 89475c994ca9..a00b3f26f241 100644
if (err)
goto bad_unshare_out;
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
-index 23c08bf3db58..63ab60778e5d 100644
+index c6d9dec11b74..9a4514ad481b 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
-@@ -105,6 +105,9 @@
- #ifdef CONFIG_LOCKUP_DETECTOR
- #include <linux/nmi.h>
+@@ -81,6 +81,9 @@
+ #ifdef CONFIG_RT_MUTEXES
+ #include <linux/rtmutex.h>
#endif
+#ifdef CONFIG_USER_NS
+#include <linux/user_namespace.h>
+#endif
- #if defined(CONFIG_SYSCTL)
-
-@@ -1953,6 +1956,15 @@ static struct ctl_table kern_table[] = {
+ /* shared constants to be used in various sysctls */
+ const int sysctl_vals[] = { 0, 1, 2, 3, 4, 100, 200, 1000, 3000, INT_MAX, 65535, -1 };
+@@ -1659,6 +1662,15 @@ static struct ctl_table kern_table[] = {
+ .mode = 0644,
.proc_handler = proc_dointvec,
},
- #endif
+#ifdef CONFIG_USER_NS
+ {
+ .procname = "unprivileged_userns_clone",
@@ -132,10 +132,10 @@ index 23c08bf3db58..63ab60778e5d 100644
{
.procname = "tainted",
diff --git a/kernel/user_namespace.c b/kernel/user_namespace.c
-index 5481ba44a8d6..423ab2563ad7 100644
+index 54211dbd516c..16ca0c151629 100644
--- a/kernel/user_namespace.c
+++ b/kernel/user_namespace.c
-@@ -21,6 +21,13 @@
+@@ -22,6 +22,13 @@
#include <linux/bsearch.h>
#include <linux/sort.h>
diff --git a/0004-Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch b/0004-Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch
deleted file mode 100644
index 26ae0efbdfc1..000000000000
--- a/0004-Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 0000000000000000000000000000000000000000 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 d122cc973917..a828fcd05d83 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");
-@@ -2309,6 +2311,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) {
diff --git a/0005-lg-laptop-Recognize-more-models.patch b/0005-lg-laptop-Recognize-more-models.patch
deleted file mode 100644
index 663e4be26472..000000000000
--- a/0005-lg-laptop-Recognize-more-models.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 0000000000000000000000000000000000000000 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 88b551caeaaf..d6f74d3a7605 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;
diff --git a/PKGBUILD b/PKGBUILD
index bfb177fb7494..f5a83012a900 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -35,18 +35,14 @@ source=(
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
+ #0002-PCI-Add-more-NVIDIA-controllers-to-the-MSI-masking-q.patch
+ #0003-iommu-intel-do-deep-dma-unmapping-to-avoid-kernel-fl.patch
add-acs-overrides.patch
i915-vga-arbiter.patch
)
validpgpkeys=(
ABAF11C65A2970B130ABE3C479BE3E4300411886 # Linus Torvalds
647F28654894E3BD457199BE38DBBDC86092693E # Greg Kroah-Hartman
- A2FF3A36AAA56654109064AB19802F8B0D70FC30 # Jan Alexander Steffens (heftig)
- C7E7849466FE2358343588377258734B41C31549 # David Runge <dvzrv@archlinux.org>
)
# https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
sha256sums=(
@@ -54,11 +50,9 @@ sha256sums=(
'SKIP'
'fcf0b005d3cde29b54a61b25bef3efb42a12ac38c039200ac8f4756618270820'
- '7bd64ff894475b3415d792ba8466ba7e8f872af56dbf1aeed0d261fe4008b8b5'
- '39649dc1dfcb06b411ad124e123769e955a78961b4ea17538c0919a930925549'
- '56c12551e859cc67520909e64feecbf1b190cee8addef150c5b9d1bb1d40981e'
- #'5c1ee81fdd5818442af6081de987f9c1a9ce3c8d183566b3dfc19a8433aa3dde'
- #'067e8995fcd6f6ed25e0253e9374c0e179a000c154da3e59ce62634945ac5be9'
+ 'f9ebfe3ddc5152d87b37e33be30e31875d137433be10a57ce29d2eae7b6e91b1'
+ #'39649dc1dfcb06b411ad124e123769e955a78961b4ea17538c0919a930925549'
+ #'56c12551e859cc67520909e64feecbf1b190cee8addef150c5b9d1bb1d40981e'
'b90be7b79652be61f7d50691000f6a8c75a240dc2eee2667b68d984f67583f77'
'856230cfbdc2bb53a4920dfbcb6fb2d58427b7b184e5f94e21f08011d0a2fcc6'
)
diff --git a/keys/pgp/647F28654894E3BD457199BE38DBBDC86092693E.asc b/keys/pgp/647F28654894E3BD457199BE38DBBDC86092693E.asc
new file mode 100644
index 000000000000..8ac6e0814fa3
--- /dev/null
+++ b/keys/pgp/647F28654894E3BD457199BE38DBBDC86092693E.asc
@@ -0,0 +1,81 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+=wERC
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/keys/pgp/ABAF11C65A2970B130ABE3C479BE3E4300411886.asc b/keys/pgp/ABAF11C65A2970B130ABE3C479BE3E4300411886.asc
new file mode 100644
index 000000000000..2086623f2bbc
--- /dev/null
+++ b/keys/pgp/ABAF11C65A2970B130ABE3C479BE3E4300411886.asc
@@ -0,0 +1,37 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+=d8eq
+-----END PGP PUBLIC KEY BLOCK-----