commit: 67bb8e2907a1c503e5bc841c70e253c217812347 Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org> AuthorDate: Mon Aug 24 12:33:26 2020 +0000 Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org> CommitDate: Mon Aug 24 12:36:40 2020 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=67bb8e29
sys-kernel/genkernel: try to detect and warn for problematic /run permissions Closes: https://bugs.gentoo.org/737270 Package-Manager: Portage-3.0.4, Repoman-3.0.1 Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org> sys-kernel/genkernel/genkernel-4.1.0-r2.ebuild | 18 +++++++++++++++++- sys-kernel/genkernel/genkernel-9999.ebuild | 18 +++++++++++++++++- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/sys-kernel/genkernel/genkernel-4.1.0-r2.ebuild b/sys-kernel/genkernel/genkernel-4.1.0-r2.ebuild index 56ac783bac6..c5db490b8eb 100644 --- a/sys-kernel/genkernel/genkernel-4.1.0-r2.ebuild +++ b/sys-kernel/genkernel/genkernel-4.1.0-r2.ebuild @@ -277,10 +277,26 @@ pkg_postinst() { fi local n_root_args=$(grep -o -- '\<root=' /proc/cmdline 2>/dev/null | wc -l) - if [[ ${n_root_args} > 1 ]]; then + if [[ ${n_root_args} > 1 ]] ; then ewarn "WARNING: Multiple root arguments (root=) on kernel command-line detected!" ewarn "If you are appending non-persistent device names to kernel command-line," ewarn "next reboot could fail in case running system and initramfs do not agree" ewarn "on detected root device name!" fi + + if [[ -d /run ]] ; then + local permission_run_expected="drwxr-xr-x" + local permission_run=$(stat -c "%A" /run) + if [[ "${permission_run}" != "${permission_run_expected}" ]] ; then + ewarn "Found the following problematic permissions:" + ewarn "" + ewarn " ${permission_run} /run" + ewarn "" + ewarn "Expected:" + ewarn "" + ewarn " ${permission_run_expected} /run" + ewarn "" + ewarn "This is known to be causing problems for any UDEV-enabled service." + fi + fi } diff --git a/sys-kernel/genkernel/genkernel-9999.ebuild b/sys-kernel/genkernel/genkernel-9999.ebuild index e9d3133ce6f..deecdc19176 100644 --- a/sys-kernel/genkernel/genkernel-9999.ebuild +++ b/sys-kernel/genkernel/genkernel-9999.ebuild @@ -275,10 +275,26 @@ pkg_postinst() { fi local n_root_args=$(grep -o -- '\<root=' /proc/cmdline 2>/dev/null | wc -l) - if [[ ${n_root_args} > 1 ]]; then + if [[ ${n_root_args} > 1 ]] ; then ewarn "WARNING: Multiple root arguments (root=) on kernel command-line detected!" ewarn "If you are appending non-persistent device names to kernel command-line," ewarn "next reboot could fail in case running system and initramfs do not agree" ewarn "on detected root device name!" fi + + if [[ -d /run ]] ; then + local permission_run_expected="drwxr-xr-x" + local permission_run=$(stat -c "%A" /run) + if [[ "${permission_run}" != "${permission_run_expected}" ]] ; then + ewarn "Found the following problematic permissions:" + ewarn "" + ewarn " ${permission_run} /run" + ewarn "" + ewarn "Expected:" + ewarn "" + ewarn " ${permission_run_expected} /run" + ewarn "" + ewarn "This is known to be causing problems for any UDEV-enabled service." + fi + fi }
