From 70f5fe37d01624af89868ee3a6645c3e11d553d9 Mon Sep 17 00:00:00 2001 From: Chenxi Mao Date: Wed, 29 Jun 2022 16:55:10 +0800 Subject: [PATCH] Upgrade mokutil to 0.6.0 SBAT revocation update support delivered in mokutil 0.6.0 as well as shim-15.6 invoke "mokutil --set-sbat-policy latest" during the post script installation stage. So upgrade the version to 0.6.0 to make sure shim-15.6 can be upgraded smoothly. On the other hand, there are 4 patches delivered after 0.6.0 release to fix some bugs, apply these patches as well. *e498f64 Fix leak of fd in mok_get_variable() *d978c18 Fix leak of list in delete_data_from_req_var() *04791c2 mokutil bugfix: del unused opt "-s" *82694cb Show usage instead of aborting on bad flags Git-commit: e498f6460ff5aea6a7cd61a33087d03e88a2f52a Git-commit: d978c18f61b877afaab45a82d260b525423b8248 Git-commit: 04791c29e198b18808bca519267e31c8d3786a08 Git-commit: 82694cb1ce3b29c3705c25ae4cea3d07fe57b558 Link: https://github.com/lcp/mokutil/ Signed-off-by: Chenxi Mao (cherry picked from commit 05417e978ecf9a69f208e4c0aa3031620e2d742f) --- 0.5.0.tar.gz | Bin 37181 -> 0 bytes 0.6.0.tar.gz | Bin 0 -> 38047 bytes ...age-instead-of-aborting-on-bad-flags.patch | 33 ++++++++ 0002-mokutil-bugfix-del-unused-opt-s.patch | 28 +++++++ ...-of-list-in-delete_data_from_req_var.patch | 30 ++++++++ 0004-Fix-leak-of-fd-in-mok_get_variable.patch | 72 ++++++++++++++++++ mokutil.spec | 9 ++- 7 files changed, 171 insertions(+), 1 deletion(-) delete mode 100644 0.5.0.tar.gz create mode 100644 0.6.0.tar.gz create mode 100644 0001-Show-usage-instead-of-aborting-on-bad-flags.patch create mode 100644 0002-mokutil-bugfix-del-unused-opt-s.patch create mode 100644 0003-Fix-leak-of-list-in-delete_data_from_req_var.patch create mode 100644 0004-Fix-leak-of-fd-in-mok_get_variable.patch diff --git a/0.5.0.tar.gz b/0.5.0.tar.gz deleted file mode 100644 index c4348c806eaf835c460f2051cfa0cd1a4569b45b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37181 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

vIuGJ=oFd*Z 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 D7G!fP literal 0 HcmV?d00001 diff --git a/0001-Show-usage-instead-of-aborting-on-bad-flags.patch b/0001-Show-usage-instead-of-aborting-on-bad-flags.patch new file mode 100644 index 0000000..3a096cd --- /dev/null +++ b/0001-Show-usage-instead-of-aborting-on-bad-flags.patch @@ -0,0 +1,33 @@ +From 82694cb1ce3b29c3705c25ae4cea3d07fe57b558 Mon Sep 17 00:00:00 2001 +From: Robbie Harwood +Date: Tue, 17 May 2022 11:23:28 -0400 +Subject: [PATCH 1/5] Show usage instead of aborting on bad flags + +Aborting here just confuses users and is sufficiently unexpected to +cause the filing of bugs. + +Related: https://bugzilla.redhat.com/show_bug.cgi?id=2087066 +Signed-off-by: Robbie Harwood +--- + src/mokutil.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/src/mokutil.c b/src/mokutil.c +index 5d725c9..e8228af 100644 +--- a/src/mokutil.c ++++ b/src/mokutil.c +@@ -2087,10 +2087,9 @@ main (int argc, char *argv[]) + goto out; + case 'h': + case '?': ++ default: + command |= HELP; + break; +- default: +- abort (); + } + } + +-- +2.33.0 + diff --git a/0002-mokutil-bugfix-del-unused-opt-s.patch b/0002-mokutil-bugfix-del-unused-opt-s.patch new file mode 100644 index 0000000..33ca04e --- /dev/null +++ b/0002-mokutil-bugfix-del-unused-opt-s.patch @@ -0,0 +1,28 @@ +From 04791c29e198b18808bca519267e31c8d3786a08 Mon Sep 17 00:00:00 2001 +From: gaoyusong +Date: Mon, 30 May 2022 17:54:47 +0800 +Subject: [PATCH 2/5] mokutil bugfix: del unused opt "-s" + +The -s option can cause unexcepted result. + +Signed-off-by: gaoyusong +--- + src/mokutil.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/mokutil.c b/src/mokutil.c +index e8228af..6982ade 100644 +--- a/src/mokutil.c ++++ b/src/mokutil.c +@@ -1851,7 +1851,7 @@ main (int argc, char *argv[]) + }; + + int option_index = 0; +- c = getopt_long (argc, argv, "cd:f:g::hi:lmpst:xDNPXv", ++ c = getopt_long (argc, argv, "cd:f:g::hi:lmpt:xDNPXv", + long_options, &option_index); + + if (c == -1) +-- +2.33.0 + diff --git a/0003-Fix-leak-of-list-in-delete_data_from_req_var.patch b/0003-Fix-leak-of-list-in-delete_data_from_req_var.patch new file mode 100644 index 0000000..bc7c758 --- /dev/null +++ b/0003-Fix-leak-of-list-in-delete_data_from_req_var.patch @@ -0,0 +1,30 @@ +From d978c18f61b877afaab45a82d260b525423b8248 Mon Sep 17 00:00:00 2001 +From: Robbie Harwood +Date: Thu, 2 Jun 2022 12:56:31 -0400 +Subject: [PATCH 3/5] Fix leak of list in delete_data_from_req_var() + +Signed-off-by: Robbie Harwood +--- + src/util.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/src/util.c b/src/util.c +index 621869f..6cd0302 100644 +--- a/src/util.c ++++ b/src/util.c +@@ -295,8 +295,10 @@ delete_data_from_req_var (const MokRequest req, const efi_guid_t *type, + } + + /* the key or hash is not in this list */ +- if (start == NULL) +- return 0; ++ if (start == NULL) { ++ ret = 0; ++ goto done; ++ } + + /* all keys are removed */ + if (total == 0) { +-- +2.33.0 + diff --git a/0004-Fix-leak-of-fd-in-mok_get_variable.patch b/0004-Fix-leak-of-fd-in-mok_get_variable.patch new file mode 100644 index 0000000..91d0704 --- /dev/null +++ b/0004-Fix-leak-of-fd-in-mok_get_variable.patch @@ -0,0 +1,72 @@ +From e498f6460ff5aea6a7cd61a33087d03e88a2f52a Mon Sep 17 00:00:00 2001 +From: Robbie Harwood +Date: Thu, 2 Jun 2022 13:00:22 -0400 +Subject: [PATCH 4/5] Fix leak of fd in mok_get_variable() + +On success, it was never closed. Refactor the code to use a single +egress path so its closure is clear. + +Signed-off-by: Robbie Harwood +--- + src/util.c | 24 +++++++++++++----------- + 1 file changed, 13 insertions(+), 11 deletions(-) + +diff --git a/src/util.c b/src/util.c +index 6cd0302..f7fc033 100644 +--- a/src/util.c ++++ b/src/util.c +@@ -57,22 +57,21 @@ mok_get_variable(const char *name, uint8_t **datap, size_t *data_sizep) + return fd; + + rc = fstat(fd, &sb); +- if (rc < 0) { +-err_close: +- close(fd); +- return rc; +- } ++ if (rc < 0) ++ goto done; + + if (sb.st_size == 0) { + errno = ENOENT; + rc = -1; +- goto err_close; ++ goto done; + } + + bufsz = sb.st_size; + buf = calloc(1, bufsz); +- if (!buf) +- goto err_close; ++ if (!buf) { ++ rc = -1; ++ goto done; ++ } + + while (pos < bufsz) { + ssz = read(fd, &buf[pos], bufsz - pos); +@@ -82,15 +81,18 @@ err_close: + errno == EINTR) + continue; + free(buf); +- goto err_close; ++ rc = -1; ++ goto done; + } + + pos += ssz; + } + *datap = buf; + *data_sizep = pos; +- +- return 0; ++ rc = 0; ++done: ++ close(fd); ++ return rc; + } + + MokListNode* +-- +2.33.0 + diff --git a/mokutil.spec b/mokutil.spec index 87c2194..2028429 100644 --- a/mokutil.spec +++ b/mokutil.spec @@ -1,11 +1,15 @@ Name: mokutil -Version: 0.5.0 +Version: 0.6.0 Release: 1 Epoch: 1 Summary: Tools for manipulating machine owner keys License: GPLv3+ URL: https://github.com/lcp/mokutil Source0: https://github.com/lcp/mokutil/archive/%{version}.tar.gz +Patch0001: 0001-Show-usage-instead-of-aborting-on-bad-flags.patch +Patch0002: 0002-mokutil-bugfix-del-unused-opt-s.patch +Patch0003: 0003-Fix-leak-of-list-in-delete_data_from_req_var.patch +Patch0004: 0004-Fix-leak-of-fd-in-mok_get_variable.patch BuildRequires:gcc autoconf automake gnu-efi git openssl-devel openssl efivar-devel >= 31-1 git Conflicts: shim < 0.8-1 @@ -57,6 +61,9 @@ make check %{_mandir}/man1/* %changelog +* Wed Jun 29 2022 Chenxi Mao - 1:0.6.0-1 +- Update to 0.6.0 with latest bug fix + * Mon Dec 27 2021 openEuler Buildteam - 1:0.5.0-1 - Update to 0.5.0 -- Gitee