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 |
} |