[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