[packages/systemd] fix 'Out of memory' error on luks.key parsing
jajcus
jajcus at pld-linux.org
Wed Oct 5 14:18:41 CEST 2016
commit 2131d54ee7fd5e682c95008e0179253404c187f6
Author: Jacek Konieczny <j.konieczny at eggsoft.pl>
Date: Thu Sep 22 07:59:46 2016 +0200
fix 'Out of memory' error on luks.key parsing
Fixes:
> systemd-cryptsetup-generator[134]: Out of memory.
> systemd-cryptsetup-generator[134]: Failed to parse kernel command line, ignoring: Cannot allocate memory
boot error when 'luks.key' or 'rd.luks.key' is used on kernel command
line.
cryptsetup_generator_cmdline_parsing.patch | 22 ++++++++++++++++++++++
systemd.spec | 3 +++
2 files changed, 25 insertions(+)
---
diff --git a/systemd.spec b/systemd.spec
index a106634..c7c52f1 100644
--- a/systemd.spec
+++ b/systemd.spec
@@ -79,6 +79,7 @@ Patch12: uids_gids.patch
Patch13: sysctl.patch
Patch14: journal-gatewayd-fdopen.patch
Patch15: empty_notify_dos.patch
+Patch16: cryptsetup_generator_cmdline_parsing.patch
URL: http://www.freedesktop.org/wiki/Software/systemd
BuildRequires: acl-devel
%{?with_audit:BuildRequires: audit-libs-devel}
@@ -676,6 +677,8 @@ Uzupełnianie parametrów w zsh dla poleceń udev.
%patch13 -p1
%patch14 -p1
%patch15 -p1
+%patch16 -p1
+
cp -p %{SOURCE2} src/systemd_booted.c
%build
diff --git a/cryptsetup_generator_cmdline_parsing.patch b/cryptsetup_generator_cmdline_parsing.patch
new file mode 100644
index 0000000..816c4ad
--- /dev/null
+++ b/cryptsetup_generator_cmdline_parsing.patch
@@ -0,0 +1,22 @@
+From c802a7306bdc3e82378a87acd9402bbabe9f6b28 Mon Sep 17 00:00:00 2001
+From: Jan Janssen <medhefgo at web.de>
+Date: Thu, 10 Sep 2015 10:23:49 +0200
+Subject: [PATCH] cryptsetup-generator: Properly check return code
+
+---
+ src/cryptsetup/cryptsetup-generator.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c
+index 6fad8ad..ab91afe 100644
+--- a/src/cryptsetup/cryptsetup-generator.c
++++ b/src/cryptsetup/cryptsetup-generator.c
+@@ -330,7 +330,7 @@ static int parse_proc_cmdline_item(const char *key, const char *value) {
+ free(d->keyfile);
+ d->keyfile = uuid_value;
+ uuid_value = NULL;
+- } else if (free_and_strdup(&arg_default_keyfile, value))
++ } else if (free_and_strdup(&arg_default_keyfile, value) < 0)
+ return log_oom();
+
+ } else if (STR_IN_SET(key, "luks.name", "rd.luks.name") && value) {
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/systemd.git/commitdiff/060a5a9571e4d39914c088a146833a7c48f3d129
More information about the pld-cvs-commit
mailing list