Gentoo Archives: gentoo-commits

From: Thomas Deutschmann <whissi@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-kernel/genkernel/
Date: Mon, 24 Aug 2020 12:36:51
Message-Id: 1598272600.67bb8e2907a1c503e5bc841c70e253c217812347.whissi@gentoo
1 commit: 67bb8e2907a1c503e5bc841c70e253c217812347
2 Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
3 AuthorDate: Mon Aug 24 12:33:26 2020 +0000
4 Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
5 CommitDate: Mon Aug 24 12:36:40 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=67bb8e29
7
8 sys-kernel/genkernel: try to detect and warn for problematic /run permissions
9
10 Closes: https://bugs.gentoo.org/737270
11 Package-Manager: Portage-3.0.4, Repoman-3.0.1
12 Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
13
14 sys-kernel/genkernel/genkernel-4.1.0-r2.ebuild | 18 +++++++++++++++++-
15 sys-kernel/genkernel/genkernel-9999.ebuild | 18 +++++++++++++++++-
16 2 files changed, 34 insertions(+), 2 deletions(-)
17
18 diff --git a/sys-kernel/genkernel/genkernel-4.1.0-r2.ebuild b/sys-kernel/genkernel/genkernel-4.1.0-r2.ebuild
19 index 56ac783bac6..c5db490b8eb 100644
20 --- a/sys-kernel/genkernel/genkernel-4.1.0-r2.ebuild
21 +++ b/sys-kernel/genkernel/genkernel-4.1.0-r2.ebuild
22 @@ -277,10 +277,26 @@ pkg_postinst() {
23 fi
24
25 local n_root_args=$(grep -o -- '\<root=' /proc/cmdline 2>/dev/null | wc -l)
26 - if [[ ${n_root_args} > 1 ]]; then
27 + if [[ ${n_root_args} > 1 ]] ; then
28 ewarn "WARNING: Multiple root arguments (root=) on kernel command-line detected!"
29 ewarn "If you are appending non-persistent device names to kernel command-line,"
30 ewarn "next reboot could fail in case running system and initramfs do not agree"
31 ewarn "on detected root device name!"
32 fi
33 +
34 + if [[ -d /run ]] ; then
35 + local permission_run_expected="drwxr-xr-x"
36 + local permission_run=$(stat -c "%A" /run)
37 + if [[ "${permission_run}" != "${permission_run_expected}" ]] ; then
38 + ewarn "Found the following problematic permissions:"
39 + ewarn ""
40 + ewarn " ${permission_run} /run"
41 + ewarn ""
42 + ewarn "Expected:"
43 + ewarn ""
44 + ewarn " ${permission_run_expected} /run"
45 + ewarn ""
46 + ewarn "This is known to be causing problems for any UDEV-enabled service."
47 + fi
48 + fi
49 }
50
51 diff --git a/sys-kernel/genkernel/genkernel-9999.ebuild b/sys-kernel/genkernel/genkernel-9999.ebuild
52 index e9d3133ce6f..deecdc19176 100644
53 --- a/sys-kernel/genkernel/genkernel-9999.ebuild
54 +++ b/sys-kernel/genkernel/genkernel-9999.ebuild
55 @@ -275,10 +275,26 @@ pkg_postinst() {
56 fi
57
58 local n_root_args=$(grep -o -- '\<root=' /proc/cmdline 2>/dev/null | wc -l)
59 - if [[ ${n_root_args} > 1 ]]; then
60 + if [[ ${n_root_args} > 1 ]] ; then
61 ewarn "WARNING: Multiple root arguments (root=) on kernel command-line detected!"
62 ewarn "If you are appending non-persistent device names to kernel command-line,"
63 ewarn "next reboot could fail in case running system and initramfs do not agree"
64 ewarn "on detected root device name!"
65 fi
66 +
67 + if [[ -d /run ]] ; then
68 + local permission_run_expected="drwxr-xr-x"
69 + local permission_run=$(stat -c "%A" /run)
70 + if [[ "${permission_run}" != "${permission_run_expected}" ]] ; then
71 + ewarn "Found the following problematic permissions:"
72 + ewarn ""
73 + ewarn " ${permission_run} /run"
74 + ewarn ""
75 + ewarn "Expected:"
76 + ewarn ""
77 + ewarn " ${permission_run_expected} /run"
78 + ewarn ""
79 + ewarn "This is known to be causing problems for any UDEV-enabled service."
80 + fi
81 + fi
82 }