This commit is contained in:
joborun linux 2023-11-10 00:49:03 +02:00
parent 169df3431e
commit 3c55f7732c
9 changed files with 6 additions and 561 deletions

View file

@ -1,21 +0,0 @@
From 0000000000000000000000000000000000000000 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 a531064233f9..e1893dde40f6 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -5824,3 +5824,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

@ -1,85 +0,0 @@
From 0000000000000000000000000000000000000000 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 71a932017772..d8f9bec2c1f7 100644
--- a/drivers/iommu/intel/iommu.c
+++ b/drivers/iommu/intel/iommu.c
@@ -5123,6 +5123,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

@ -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) {

View file

@ -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;

View file

@ -1,238 +0,0 @@
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

@ -1,81 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=wERC
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -1,37 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBE55CJIBCACkn+aOLmsaq1ejUcXCAOXkO3w7eiLqjR/ziTL2KZ30p7bxP8cT
UXvfM7fwE7EnqCCkji25x2xsoKXB8AlUswIEYUFCOupj2BOsVmJ/rKZW7fCvKTOK
+BguKjebDxNbgmif39bfSnHDWrW832f5HrYmZn7a/VySDQFdul8Gl/R6gs6PHJbg
jjt+K7Px6cQVMVNvY/VBWdvA1zckO/4h6gf3kWWZN+Wlq8wv/pxft8QzNFgweH9o
5bj4tnQ+wMCLCLiDsgEuVawoOAkg3dRMugIUoiKoBKw7b21q9Vjp4jezRvciC6Ys
4kGUSFG1ZjIn3MpY3f3xZ3yuYwrxQ8JcA7KTABEBAAG0JExpbnVzIFRvcnZhbGRz
IDx0b3J2YWxkc0BrZXJuZWwub3JnPokBTgQTAQgAOBYhBKuvEcZaKXCxMKvjxHm+
PkMAQRiGBQJaHxkTAhsDBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEHm+PkMA
QRiGzMcH/ieyxrsHR0ng3pi+qy1/sLiTT4WEBN53+1FsGWdP6/DCD3sprFdWDkkB
Dfh9vPCVzPqX7siZMJxw3+wOfjNnGBRiGj7mTE/1XeXJHDwFRyBEVa/bY8ExLKbv
Bf+xpiWOg2Myj5RYaOUBFbOEtfTPob0FtvfZvK3PXkjODTHhDH7QJT2zNPivHG+E
R5VyF1yJEpl10rDTM91NhEeV0n4wpfZkgL8a3JSzo9H2AJX3y35+Dk9wtNge440Z
SVWAnjwxhBLX2R0LUszRhU925c0vP2l20eFncBmAT0NKpn7v9a670WHv45PluG+S
KKktf6b5/BtfqpC3eV58I6FEtSVpM1u0LkxpbnVzIFRvcnZhbGRzIDx0b3J2YWxk
c0BsaW51eC1mb3VuZGF0aW9uLm9yZz6JATgEEwECACIFAk55CJICGwMGCwkIBwMC
BhUIAgkKCwQWAgMBAh4BAheAAAoJEHm+PkMAQRiGbpwH/2jMNyBq6SjFrltEwt6c
wOJak1lkjpP5IfFMemfKPH03jBv98Yb7nnVE/VofRQi0erPvzU9HPitzmq9Hdaz8
pTVD1nNiejn6MBHREY5T10U8J9Holn9S1G3CUvEUaBg+YEhHwWA8hhxFCIRcfz6N
PRkZH5zi9xdXBnjLrE3CpoZwVguwCT/25DuSqqJnviKiH+BOvJi/BnHSnjV1J71M
OpVabaTZKxQ1Qkwiyo7KRa/MrBV4Cw87MjF1jmja91wWNOuAwv1ST+aSaI038zcl
VqbFrc9gHkTeP3o5p8DG3Q7A1pE/yVLRUW+3jucKtiojylWaqxX7FD0RZtIuhNsU
ig+5AQ0ETnkIkgEIAN+ybgD0IlgKRPJ3eksafd+KORseBWwxUy3GH0yAg/4jZCsf
HZ7jpbRKzxNTKW1kE6ClSqehUsuXT5Vc1eh6079erN3y+JNxl6zZPC9v+5GNyc28
qSfNejt4wmwa/y86T7oQfgo77o8Gu/aO/xzOjw7jSDDR3u9p/hFVtsqzptxZzvs3
hVaiLS+0mar9qYZheaCUqOXOKVo38Vg5gkOhMEwKvZs9x3fINU/t8ckxOHq6KiLa
p5Bq87XP0ZJsCaMBwdLYhOFxAiEVtlzwyo3DvMplIahqqNELb71YDhpMq/Hu+42o
R3pqASCPLfO/0GUSdAGXJVhv7L7ng02ETSBmVOUAEQEAAYkBHwQYAQIACQUCTnkI
kgIbDAAKCRB5vj5DAEEYhuobB/9Fi1GVG5qnPq14S0WKYEW3N891L37LaXmDh977
r/j2dyZOoYIiV4rx6a6urhq9UbcgNw/ke01TNM4y7EhW/lFnxJQXSMjdsXGcb9Hw
UevDk2FMV1h9gkHLlqRUlTpjVdQwTB9wMd4bWhZsxybTnGh6o8dCwBEaGNsHsSBY
O81OXrTE/fcZEgKCeKW2xdKRiazu6Mu5WLU6gBy2nOc6oL2zKJZjACfllQzBx5+6
z2N4Sj0JBOobz4RR2JLElMEckMbdqbIS+c+n02ItMmCORgakf74k+TEbaZx3ZTVH
nhvqQqanZz1i4I5IwHJxkUsYLddgYrylZH+MwNDlB5u3I138
=d8eq
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -6,7 +6,7 @@
#-----------------------------------------| DESCRIPTION |---------------------------------------
pkgname=sudo
_sudover=1.9.15p1
_sudover=1.9.15p2
pkgrel=01
pkgver=${_sudover/p/.p}
pkgdesc="Give certain users the ability to run some commands as root w/o systemd"
@ -91,9 +91,9 @@ license=('custom')
validpgpkeys=('59D1E9CCBA2B376704FDD35BA9F4C021CEA470FB') # "Todd C. Miller <Todd.Miller@sudo.ws>"
sha256sums=(166c37ab93454a18186f922fe64ed5cd67ba6dddbcb0efba2df5898723dc9474 # sudo-1.9.15p1.tar.gz
711c91fb868cb6bd070ae232e7f19845d070c67f75049ecfa9316c539f69be19 # sudo-1.9.15p1.tar.gz.sig
sha256sums=(199c0cdbfa7efcfffa9c88684a8e2fb206a62b70a316507e4a91c89c873bbcc8 # sudo-1.9.15p2.tar.gz
986bd9cf348c47ca600e4d662a9bff0d2f50dd771e264c9edd8a1b91af478905 # sudo-1.9.15p2.tar.gz.sig
d1738818070684a5d2c9b26224906aad69a4fea77aabd960fc2675aee2df1fa2) # sudo.pam
## b5ba846626cd6b0a275ea92344cd5b949ede68fa19f008bf26368afe6c76dfa7 sudo-1.9.15.p1-01-x86_64.pkg.tar.lz
## 092229e0fd2814ac09e6fc5978d52ae4b62afb76df7f36c1dd223d13aee6d009 sudo-1.9.15.p2-01-x86_64.pkg.tar.lz

View file

@ -3,7 +3,7 @@
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
pkgname=sudo
_sudover=1.9.15p1
_sudover=1.9.15p2
pkgrel=1
pkgver=${_sudover/p/.p}
pkgdesc="Give certain users the ability to run some commands as root"
@ -19,7 +19,7 @@ install=$pkgname.install
source=(https://www.sudo.ws/sudo/dist/$pkgname-$_sudover.tar.gz{,.sig}
sudo_logsrvd.service
sudo.pam)
sha256sums=('166c37ab93454a18186f922fe64ed5cd67ba6dddbcb0efba2df5898723dc9474'
sha256sums=('199c0cdbfa7efcfffa9c88684a8e2fb206a62b70a316507e4a91c89c873bbcc8'
'SKIP'
'8b91733b73171827c360a3e01f4692772b78e62ceca0cf0fd4b770aba35081a1'
'd1738818070684a5d2c9b26224906aad69a4fea77aabd960fc2675aee2df1fa2')