import abrt-2.10.9-24.el8

c8 imports/c8/abrt-2.10.9-24.el8
CentOS Sources 2 years ago committed by MSVSphere Packaging Team
commit 9bbb2ea805

@ -0,0 +1 @@
8447e6b5d2604815a4156e891936a4c76316f3f4 SOURCES/abrt-2.10.9.tar.gz

1
.gitignore vendored

@ -0,0 +1 @@
SOURCES/abrt-2.10.9.tar.gz

@ -0,0 +1,155 @@
From b9005f1a69ad989a50ffa68a41c959551f0cb158 Mon Sep 17 00:00:00 2001
From: Matej Habrnal <mhabrnal@redhat.com>
Date: Wed, 23 May 2018 11:15:38 +0200
Subject: [PATCH 1/1] Remove dependency on deprecated nss-pem
This commit removes dependency on nss-pem which is deprecated and
reimplements TLS client to use libnssckbi.so instead [1].
Resolves #1578427
[1] https://docs-old.fedoraproject.org/en-US/Fedora_Security_Team/1/html/Defensive_Coding/sect-Defensive_Coding-TLS-Client-NSS.html#ex-Defensive_Coding-TLS-NSS-Init
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
---
abrt.spec.in | 2 +-
src/plugins/abrt-retrace-client.c | 5 ++-
src/plugins/https-utils.c | 53 ++++++-------------------------
src/plugins/https-utils.h | 4 +--
4 files changed, 15 insertions(+), 49 deletions(-)
diff --git a/abrt.spec.in b/abrt.spec.in
index f423562c..eb6fdaf9 100644
--- a/abrt.spec.in
+++ b/abrt.spec.in
@@ -255,7 +255,7 @@ Summary: %{name}'s retrace client
Requires: %{name} = %{version}-%{release}
Requires: xz
Requires: tar
-Requires: nss-pem
+Requires: p11-kit-trust
%description retrace-client
This package contains the client application for Retrace server
diff --git a/src/plugins/abrt-retrace-client.c b/src/plugins/abrt-retrace-client.c
index ae5ef83b..d50d45fb 100644
--- a/src/plugins/abrt-retrace-client.c
+++ b/src/plugins/abrt-retrace-client.c
@@ -1281,8 +1281,7 @@ int main(int argc, char **argv)
/* Initialize NSS */
SECMODModule *mod;
- PK11GenericObject *cert;
- nss_init(&mod, &cert);
+ nss_init(&mod);
/* Run the desired operation. */
int result = 0;
@@ -1334,7 +1333,7 @@ int main(int argc, char **argv)
error_msg_and_die(_("Unknown operation: %s."), operation);
/* Shutdown NSS. */
- nss_close(mod, cert);
+ nss_close(mod);
return result;
}
diff --git a/src/plugins/https-utils.c b/src/plugins/https-utils.c
index 7a22729b..7a9479ca 100644
--- a/src/plugins/https-utils.c
+++ b/src/plugins/https-utils.c
@@ -142,37 +142,6 @@ static const char *ssl_get_configdir()
return NULL;
}
-static PK11GenericObject *nss_load_cacert(const char *filename)
-{
- PK11SlotInfo *slot = PK11_FindSlotByName("PEM Token #0");
- if (!slot)
- error_msg_and_die(_("Failed to get slot 'PEM Token #0': %d."), PORT_GetError());
-
- CK_ATTRIBUTE template[4];
- CK_OBJECT_CLASS class = CKO_CERTIFICATE;
-
-#define PK11_SETATTRS(x,id,v,l) \
- do { \
- (x)->type = (id); \
- (x)->pValue=(v); \
- (x)->ulValueLen = (l); \
- } while (0)
-
- PK11_SETATTRS(&template[0], CKA_CLASS, &class, sizeof(class));
- CK_BBOOL cktrue = CK_TRUE;
- PK11_SETATTRS(&template[1], CKA_TOKEN, &cktrue, sizeof(CK_BBOOL));
- PK11_SETATTRS(&template[2], CKA_LABEL, (unsigned char*)filename, strlen(filename)+1);
- PK11_SETATTRS(&template[3], CKA_TRUST, &cktrue, sizeof(CK_BBOOL));
- PK11GenericObject *cert = PK11_CreateGenericObject(slot, template, 4, PR_FALSE);
- PK11_FreeSlot(slot);
- return cert;
-}
-
-static char *ssl_get_password(PK11SlotInfo *slot, PRBool retry, void *arg)
-{
- return NULL;
-}
-
void ssl_connect(struct https_cfg *cfg, PRFileDesc **tcp_sock, PRFileDesc **ssl_sock)
{
PRAddrInfo *addrinfo = PR_GetAddrInfoByName(cfg->url, PR_AF_UNSPEC, PR_AI_ADDRCONFIG);
@@ -411,7 +380,7 @@ char *http_join_chunked(char *body, int bodylen)
return strbuf_free_nobuf(result);
}
-void nss_init(SECMODModule **mod, PK11GenericObject **cert)
+void nss_init(SECMODModule **mod)
{
SECStatus sec_status;
const char *configdir = ssl_get_configdir();
@@ -422,21 +391,19 @@ void nss_init(SECMODModule **mod, PK11GenericObject **cert)
if (SECSuccess != sec_status)
error_msg_and_die(_("Failed to initialize NSS."));
- char *user_module = xstrdup("library=libnsspem.so name=PEM");
- *mod = SECMOD_LoadUserModule(user_module, NULL, PR_FALSE);
- free(user_module);
- if (!*mod || !(*mod)->loaded)
- error_msg_and_die(_("Failed to initialize security module."));
-
- *cert = nss_load_cacert("/etc/pki/tls/certs/ca-bundle.crt");
- PK11_SetPasswordFunc(ssl_get_password);
- NSS_SetDomesticPolicy();
+ // Initialize the trusted certificate store.
+ char module_name[] = "library=libnssckbi.so name=\"Root Certs\"";
+ *mod = SECMOD_LoadUserModule(module_name, NULL, PR_FALSE);
+ if (*mod == NULL || !(*mod)->loaded)
+ {
+ const PRErrorCode err = PR_GetError();
+ error_msg_and_die("error: NSPR error code %d: %s\n", err, PR_ErrorToName(err));
+ }
}
-void nss_close(SECMODModule *mod, PK11GenericObject *cert)
+void nss_close(SECMODModule *mod)
{
SSL_ClearSessionCache();
- PK11_DestroyGenericObject(cert);
SECMOD_UnloadUserModule(mod);
SECMOD_DestroyModule(mod);
SECStatus sec_status = NSS_Shutdown();
diff --git a/src/plugins/https-utils.h b/src/plugins/https-utils.h
index 8ff9aede..f0b167d3 100644
--- a/src/plugins/https-utils.h
+++ b/src/plugins/https-utils.h
@@ -61,7 +61,7 @@ int http_get_response_code(const char *message);
void http_print_headers(FILE *file, const char *message);
char *tcp_read_response(PRFileDesc *tcp_sock);
char *http_join_chunked(char *body, int bodylen);
-void nss_init(SECMODModule **mod, PK11GenericObject **cert);
-void nss_close(SECMODModule *mod, PK11GenericObject *cert);
+void nss_init(SECMODModule **mod);
+void nss_close(SECMODModule *mod);
#endif
--
2.17.0

@ -0,0 +1,133 @@
From a8a22295837aaadf39bfede6c92e9f9047bcaa34 Mon Sep 17 00:00:00 2001
From: Matej Habrnal <mhabrnal@redhat.com>
Date: Wed, 6 Jun 2018 14:04:09 +0200
Subject: [PATCH] ccpp: add %h and %e parameter into abrt-hook-ccpp
Without this commit core_pattern's parameter %h and %e was not
translated at all.
If there is a white space in executable filename, %e replaced only by
the first part of executable name (till the space). Hence we decided
to get executable name from /proc/PID/exe symlink exist.
Example:
If 'core_pattern = core.%h.%p.%t.%e' the result was
core.%h.26284.1469805542.sleep not
core.myshostmane.26284.1469805542.sleep with spaces
Related to #1587891
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
---
src/hooks/abrt-hook-ccpp.c | 36 ++++++++++++++++++++++++------------
src/hooks/abrt-install-ccpp-hook.in | 2 +-
2 files changed, 25 insertions(+), 13 deletions(-)
diff --git a/src/hooks/abrt-hook-ccpp.c b/src/hooks/abrt-hook-ccpp.c
index 1c4e45e..40117fc 100644
--- a/src/hooks/abrt-hook-ccpp.c
+++ b/src/hooks/abrt-hook-ccpp.c
@@ -65,13 +65,13 @@ static struct dump_dir *dd;
* %t - UNIX time of dump
* %P - global pid
* %I - crash thread tid
- * %e - executable filename (can contain white spaces)
+ * %h - hostname
+ * %e - executable filename (can contain white spaces, must be placed at the end)
* %% - output one "%"
*/
/* Hook must be installed with exactly the same sequence of %c specifiers.
- * Last one, %h, may be omitted (we can find it out).
*/
-static const char percent_specifiers[] = "%scpugtePi";
+static const char percent_specifiers[] = "%scpugtPIhe";
static char *core_basename = (char*) "core";
static DIR *open_cwd(pid_t pid)
@@ -146,7 +146,8 @@ static int setfscreatecon_raw(security_context_t context)
}
#endif
-static int open_user_core(uid_t uid, uid_t fsuid, gid_t fsgid, pid_t pid, char **percent_values)
+static int open_user_core(uid_t uid, uid_t fsuid, gid_t fsgid, pid_t pid,
+ char **percent_values, const char *executable_filename)
{
proc_cwd = open_cwd(pid);
if (proc_cwd == NULL)
@@ -196,7 +197,13 @@ static int open_user_core(uid_t uid, uid_t fsuid, gid_t fsgid, pid_t pid, char *
{
const char *val = "%";
if (specifier_num > 0) /* not %% */
+ {
val = percent_values[specifier_num - 1];
+ /* if %e (executable filename), use executable from
+ * /proc/PID/exe symlink if exists */
+ if (percent_specifiers[specifier_num] == 'e' && executable_filename)
+ val = executable_filename;
+ }
//log_warning("c:'%c'", c);
//log_warning("val:'%s'", val);
@@ -917,9 +924,9 @@ int main(int argc, char** argv)
if (argc < 8)
{
- /* percent specifier: %s %c %p %u %g %t %P %T */
- /* argv: [0] [1] [2] [3] [4] [5] [6] [7] [8] */
- error_msg_and_die("Usage: %s SIGNO CORE_SIZE_LIMIT PID UID GID TIME GLOBAL_PID GLOBAL_TID", argv[0]);
+ /* percent specifier: %s %c %p %u %g %t %P %I %h %e */
+ /* argv: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] */
+ error_msg_and_die("Usage: %s SIGNO CORE_SIZE_LIMIT PID UID GID TIME GLOBAL_PID GLOBAL_TID HOSTNAME BINARY_NAME", argv[0]);
}
/* Not needed on 2.6.30.
@@ -1016,13 +1023,21 @@ int main(int argc, char** argv)
snprintf(path, sizeof(path), "%s/last-ccpp", g_settings_dump_location);
+ char *executable = get_executable_at(pid_proc_fd);
+ const char *last_slash = NULL;
+ if (executable)
+ {
+ last_slash = strrchr(executable, '/');
+ /* if the last_slash was found, skip it */
+ if (last_slash) ++last_slash;
+ }
+
/* Open a fd to compat coredump, if requested and is possible */
int user_core_fd = -1;
if (setting_MakeCompatCore && ulimit_c != 0)
/* note: checks "user_pwd == NULL" inside; updates core_basename */
- user_core_fd = open_user_core(uid, fsuid, fsgid, pid, &argv[1]);
+ user_core_fd = open_user_core(uid, fsuid, fsgid, pid, &argv[1], (const char *)last_slash);
- char *executable = get_executable_at(pid_proc_fd);
if (executable == NULL)
{
/* readlink on /proc/$PID/exe failed, don't create abrt dump dir */
@@ -1031,9 +1046,6 @@ int main(int argc, char** argv)
return create_user_core(user_core_fd, pid, ulimit_c);
}
- const char *last_slash = strrchr(executable, '/');
- /* if the last_slash was found, skip it */
- if (last_slash) ++last_slash;
/* ignoring crashes */
if (executable && is_path_ignored(setting_ignored_paths, executable))
diff --git a/src/hooks/abrt-install-ccpp-hook.in b/src/hooks/abrt-install-ccpp-hook.in
index 660c209..f8c0c61 100755
--- a/src/hooks/abrt-install-ccpp-hook.in
+++ b/src/hooks/abrt-install-ccpp-hook.in
@@ -11,7 +11,7 @@ SAVED_PATTERN_DIR="@VAR_RUN@/abrt"
SAVED_PATTERN_FILE="@VAR_RUN@/abrt/saved_core_pattern"
HOOK_BIN="@libexecdir@/abrt-hook-ccpp"
# Must match percent_specifiers[] order in abrt-hook-ccpp.c:
-PATTERN="|$HOOK_BIN %s %c %p %u %g %t %P %I"
+PATTERN="|$HOOK_BIN %s %c %p %u %g %t %P %I %h %e"
# core_pipe_limit specifies how many dump_helpers can run at the same time
# 0 - means unlimited, but it's not guaranteed that /proc/<pid> of crashing
--
1.8.3.1

@ -0,0 +1,41 @@
From 7e9e07dc9ce67777a201beddc8cef32f08293a2b Mon Sep 17 00:00:00 2001
From: Martin Kutlak <mkutlak@redhat.com>
Date: Tue, 24 Jul 2018 10:17:05 +0200
Subject: [PATCH] lib: Correct the syntax for gdb backtrace command
abrt-action-generate-backtrace generates backtraces with error message:
A syntax error in expression, near `full'.
According to the GDB documentation the correct syntax for backtrace
command is:
backtrace [n]
backtrace full [n]
- sourceware.org/gdb/onlinedocs/gdb/Backtrace.html
Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
---
src/lib/hooklib.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/lib/hooklib.c b/src/lib/hooklib.c
index 135c7cde..b66fc119 100644
--- a/src/lib/hooklib.c
+++ b/src/lib/hooklib.c
@@ -353,11 +353,11 @@ char *get_backtrace(const char *dump_dir_name, unsigned timeout_sec, const char
/* Limit bt depth. With no limit, gdb sometimes OOMs the machine */
unsigned bt_depth = 1024;
const char *thread_apply_all = "thread apply all -ascending";
- const char *full = " full";
+ const char *full = "full ";
char *bt = NULL;
while (1)
{
- args[bt_cmd_index] = xasprintf("%s backtrace %u%s", thread_apply_all, bt_depth, full);
+ args[bt_cmd_index] = xasprintf("%s backtrace %s%u", thread_apply_all, full, bt_depth);
bt = exec_vp(args, /*redirect_stderr:*/ 1, timeout_sec, NULL);
free(args[bt_cmd_index]);
if ((bt && strnlen(bt, 256*1024) < 256*1024) || bt_depth <= 32)
--
2.17.2

@ -0,0 +1,60 @@
From d5c53fefd25ef90ece1d3481c9af1552d458eb97 Mon Sep 17 00:00:00 2001
From: Martin Kutlak <mkutlak@redhat.com>
Date: Tue, 25 Sep 2018 13:28:24 +0200
Subject: [PATCH] dbus: Add configuration for Python3
abrt-dbus misses a configuration file for Python3 and it instead includes Python2 configuration.
Related: #1652676
Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
---
doc/dbus-configuration/Makefile.am | 11 ++++++++++-
.../com.redhat.problems.configuration.python3.xml.in | 11 +++++++++++
3 files changed, 26 insertions(+), 1 deletion(-)
create mode 100644 doc/dbus-configuration/com.redhat.problems.configuration.python3.xml.in
diff --git a/doc/dbus-configuration/Makefile.am b/doc/dbus-configuration/Makefile.am
index 889713943..a02706de9 100644
--- a/doc/dbus-configuration/Makefile.am
+++ b/doc/dbus-configuration/Makefile.am
@@ -9,9 +9,18 @@ dist_dbusabrtinterfaces_DATA = \
com.redhat.problems.configuration.abrt.xml \
com.redhat.problems.configuration.ccpp.xml \
com.redhat.problems.configuration.oops.xml \
- com.redhat.problems.configuration.python.xml \
com.redhat.problems.configuration.xorg.xml
+if BUILD_PYTHON2
+dist_dbusabrtinterfaces_DATA += \
+ com.redhat.problems.configuration.python.xml
+endif
+
+if BUILD_PYTHON3
+dist_dbusabrtinterfaces_DATA += \
+ com.redhat.problems.configuration.python3.xml
+endif
+
if BUILD_ADDON_VMCORE
dist_dbusabrtinterfaces_DATA += \
com.redhat.problems.configuration.vmcore.xml
diff --git a/doc/dbus-configuration/com.redhat.problems.configuration.python3.xml.in b/doc/dbus-configuration/com.redhat.problems.configuration.python3.xml.in
new file mode 100644
index 000000000..68b6760b2
--- /dev/null
+++ b/doc/dbus-configuration/com.redhat.problems.configuration.python3.xml.in
@@ -0,0 +1,11 @@
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
+ "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+
+<node name="/com/redhat/problems/configuration/python3">
+ <annotation name="com.redhat.problems.ConfFile" value="/etc/abrt/plugins/python3.conf" />
+ <annotation name="com.redhat.problems.DefaultConfFile" value="/usr/share/abrt/conf.d/plugins/python3.conf" />
+
+ <interface name="com.redhat.problems.configuration.python3">
+ <property name="RequireAbsolutePath" type="b" access="readwrite" />
+ </interface>
+</node>
--
2.17.2

@ -0,0 +1,62 @@
From b2ec373cfec2dd6a39acfd91ea1a67618ee209ac Mon Sep 17 00:00:00 2001
From: Martin Kutlak <mkutlak@redhat.com>
Date: Tue, 20 Nov 2018 19:03:55 +0100
Subject: [PATCH] daemon: Fix double closed fd race condition
When a communication channel is set up between abrtd and abrt-server it uses
abrt_gio_channel_unix_new(). In that function there is a call g_io_channel_set_close_on_unref() [1].
This function sets whether to close a file/socket/whatever associated with the channel when channel
recieves a final unref and is to be destroyed.
Calling a close() on fd associated with the channel before/after g_io_channel_unref()
created a double close() race condition when ABRT was processing a lot of crashes at the same time.
Thank you benzea for the patch.
Related BZ#1650622
1 - https://developer.gnome.org/glib/stable/glib-IO-Channels.html#g-io-channel-get-close-on-unref
Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
---
src/daemon/abrt-server.c | 1 -
src/daemon/abrtd.c | 4 +---
2 files changed, 1 insertion(+), 4 deletions(-)
diff --git a/src/daemon/abrt-server.c b/src/daemon/abrt-server.c
index 692ccee38..90068069d 100644
--- a/src/daemon/abrt-server.c
+++ b/src/daemon/abrt-server.c
@@ -364,7 +364,6 @@ static int run_post_create(const char *dirname, struct response *resp)
g_main_loop_unref(context.main_loop);
g_io_channel_unref(channel_signal);
close(g_signal_pipe[1]);
- close(g_signal_pipe[0]);
log_notice("Waiting finished");
diff --git a/src/daemon/abrtd.c b/src/daemon/abrtd.c
index 32753966b..fefb2e9c9 100644
--- a/src/daemon/abrtd.c
+++ b/src/daemon/abrtd.c
@@ -114,7 +114,6 @@ static void stop_abrt_server(struct abrt_server_proc *proc)
static void dispose_abrt_server(struct abrt_server_proc *proc)
{
- close(proc->fdout);
free(proc->dirname);
if (proc->watch_id > 0)
@@ -231,8 +230,7 @@ static gboolean abrt_server_output_cb(GIOChannel *channel, GIOCondition conditio
GList *item = g_list_find_custom(s_processes, &fdout, (GCompareFunc)abrt_server_compare_fdout);
if (item == NULL)
{
- log_warning("Closing a pipe fd (%d) without a process assigned", fdout);
- close(fdout);
+ log_warning("Removing an input channel fd (%d) without a process assigned", fdout);
return FALSE;
}
--
2.17.2

@ -0,0 +1,116 @@
From 16b6963ef5e37805d2587684f90d2c6d5dd4ffdc Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Thu, 6 Dec 2018 17:57:59 +0100
Subject: [PATCH] cli list: show a hint about creating a case in RHTS
Adds "Run 'abrt-cli report ...' for creating a case in Red Hat Customer Portal" to
abrt-cli list output.
Resolves: #1649753
(cherry-picked from 7966e5737e8d3af43b1ecdd6a823234b8d25931d)
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
configure.ac | 2 ++
src/cli/Makefile.am | 3 ++-
src/cli/list.c | 49 +++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 53 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 76e0f274b..5d70bb9a8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -246,6 +246,7 @@ DEFAULT_PLUGINS_CONF_DIR='${datadir}/${PACKAGE_NAME}/conf.d/plugins'
EVENTS_DIR='${datadir}/libreport/events'
EVENTS_CONF_DIR='${sysconfdir}/libreport/events.d'
JOURNAL_CATALOG_DIR='$(prefix)/lib/systemd/catalog'
+WORKFLOWS_DIR='${datadir}/libreport/workflows'
ENABLE_SOCKET_OR_DBUS='-DENABLE_DBUS=1'
DEFAULT_DUMP_LOCATION_MODE=0751
DEFAULT_DUMP_DIR_MODE=$($PKG_CONFIG --variable=dd_mode libreport)
@@ -389,6 +390,7 @@ AC_SUBST(PLUGINS_CONF_DIR)
AC_SUBST(DEFAULT_PLUGINS_CONF_DIR)
AC_SUBST(EVENTS_CONF_DIR)
AC_SUBST(JOURNAL_CATALOG_DIR)
+AC_SUBST(WORKFLOWS_DIR)
AC_SUBST(EVENTS_DIR)
AC_SUBST(DEFAULT_DUMP_LOCATION)
AC_SUBST(DEFAULT_DUMP_LOCATION_MODE)
diff --git a/src/cli/Makefile.am b/src/cli/Makefile.am
index 92dc20ab4..a7c76efa3 100644
--- a/src/cli/Makefile.am
+++ b/src/cli/Makefile.am
@@ -17,7 +17,8 @@ abrt_cli_CFLAGS = \
-I$(srcdir)/../include \
-I$(srcdir)/../lib \
$(LIBREPORT_CFLAGS) \
- $(POLKIT_AGENT_CFLAGS)
+ $(POLKIT_AGENT_CFLAGS) \
+ -DWORKFLOWS_DIR=\"${WORKFLOWS_DIR}\"
if SUGGEST_AUTOREPORTING
abrt_cli_CFLAGS += -DSUGGEST_AUTOREPORTING=1
diff --git a/src/cli/list.c b/src/cli/list.c
index d069695c6..2c140cb38 100644
--- a/src/cli/list.c
+++ b/src/cli/list.c
@@ -77,6 +77,55 @@ static void print_crash(problem_data_t *problem_data, int detailed, int text_siz
/*names_to_skip:*/ NULL,
/*max_text_size:*/ text_size,
MAKEDESC_SHOW_ONLY_LIST | MAKEDESC_SHOW_URLS);
+
+ /*
+ * If the problem is reportable and has not yet been reported into RHTS
+ * and there is at least one applicable Workflow which contains
+ * 'report_RHTSupport' event, then append a short message informing
+ * user that he can create a new case in Red Hat Customer Portal.
+ */
+ const char *const not_reportable = problem_data_get_content_or_NULL(problem_data, FILENAME_NOT_REPORTABLE);
+ const char *const reported_to = not_reportable ? NULL : problem_data_get_content_or_NULL(problem_data, FILENAME_REPORTED_TO);
+ report_result_t *const report = !reported_to ? NULL : find_in_reported_to_data(reported_to, "RHTSupport");
+
+ if (!not_reportable && !report)
+ {
+ /* The lines below should be replaced by something simpler, I'd
+ * like to see:
+ * GHashTable *possible_worfklows = load_applicable_workflows_for_dump();
+ *
+ * However, this feature (rhbz#1055565) is intended for RHEL only
+ * and I'm not sure whether it's worth to file another bug against
+ * libreport and try to improve libreport public API.
+ */
+ const char *const dump_dir_name = problem_data_get_content_or_NULL(problem_data, CD_DUMPDIR);
+ GList *const wf_names = list_possible_events_glist(dump_dir_name, "workflow");
+ GHashTable *const possible_workflows = load_workflow_config_data_from_list(wf_names, WORKFLOWS_DIR);
+ g_list_free_full(wf_names, free);
+
+ int event_found = 0;
+
+ GHashTableIter iter;
+ gpointer key = NULL;
+ gpointer value = NULL;
+
+ g_hash_table_iter_init(&iter, possible_workflows);
+ while (!event_found && g_hash_table_iter_next(&iter, &key, &value))
+ {
+ GList *const event_names = wf_get_event_names((workflow_t *)value);
+ event_found = !!g_list_find_custom(event_names, "report_RHTSupport", (GCompareFunc)g_strcmp0);
+ g_list_free_full(event_names, free);
+ }
+
+ g_hash_table_destroy(possible_workflows);
+
+ if (event_found)
+ {
+ char *tmp = xasprintf("%sRun 'abrt-cli report %s' for creating a case in Red Hat Customer Portal\n", desc, dump_dir_name);
+ free(desc);
+ desc = tmp;
+ }
+ }
}
fputs(desc, stdout);
free(desc);
--
2.17.2

@ -0,0 +1,28 @@
From c0aa44a93bfdc701839d2c70568224521a6d5c5b Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Thu, 6 Dec 2018 18:00:45 +0100
Subject: [PATCH] cli: mark the suggestion text for translation
(cherry-picked from 187530c4df6971927d1e099584be5b418ab2725b)
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/cli/list.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/cli/list.c b/src/cli/list.c
index 2c140cb38..f16ce8c0d 100644
--- a/src/cli/list.c
+++ b/src/cli/list.c
@@ -121,7 +121,7 @@ static void print_crash(problem_data_t *problem_data, int detailed, int text_siz
if (event_found)
{
- char *tmp = xasprintf("%sRun 'abrt-cli report %s' for creating a case in Red Hat Customer Portal\n", desc, dump_dir_name);
+ char *tmp = xasprintf(_("%sRun 'abrt-cli report %s' for creating a case in Red Hat Customer Portal\n"), desc, dump_dir_name);
free(desc);
desc = tmp;
}
--
2.17.2

@ -0,0 +1,31 @@
From 58dcdd2f2780263e79a82ecebb27b000b0583979 Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Thu, 6 Dec 2018 18:01:13 +0100
Subject: [PATCH] cli: get list of possible workflows for problem_data_t
File system access is not possible, so we have to rely on the data
transfered via D-Bus.
(cherry-picked from f2055f8c6469b590172d94e9ea530243af89f028)
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/cli/list.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/cli/list.c b/src/cli/list.c
index f16ce8c0d..e688d2f49 100644
--- a/src/cli/list.c
+++ b/src/cli/list.c
@@ -99,7 +99,7 @@ static void print_crash(problem_data_t *problem_data, int detailed, int text_siz
* libreport and try to improve libreport public API.
*/
const char *const dump_dir_name = problem_data_get_content_or_NULL(problem_data, CD_DUMPDIR);
- GList *const wf_names = list_possible_events_glist(dump_dir_name, "workflow");
+ GList *const wf_names = list_possible_events_problem_data_glist(problem_data, dump_dir_name, "workflow");
GHashTable *const possible_workflows = load_workflow_config_data_from_list(wf_names, WORKFLOWS_DIR);
g_list_free_full(wf_names, free);
--
2.17.2

@ -0,0 +1,57 @@
From f6e07167e8769219471b10a3c20fa64ada8ce61f Mon Sep 17 00:00:00 2001
From: Martin Kutlak <mkutlak@redhat.com>
Date: Fri, 12 Jul 2019 17:46:48 +0200
Subject: [PATCH] a-a-list-dsos: Fix decoding of strings from rpm
rpm used to return bytes but that was changed to return strings in recent release.
Related: rhbz#1693751
Resolves: rhbz#1694970
Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
---
abrt.spec.in | 1 +
src/plugins/abrt-action-list-dsos | 13 ++++++-------
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/abrt.spec.in b/abrt.spec.in
index 03f1a67d..b9c9d5f1 100644
--- a/abrt.spec.in
+++ b/abrt.spec.in
@@ -233,6 +233,7 @@ Requires: python2-libreport
%if %{with python3}
Requires: python3-libreport
%endif # with python3
+Requires: rpm >= 4.14.2-11
%description addon-ccpp
This package contains %{name}'s C/C++ analyzer plugin.
diff --git a/src/plugins/abrt-action-list-dsos b/src/plugins/abrt-action-list-dsos
index adb228a4..8bf5415e 100644
--- a/src/plugins/abrt-action-list-dsos
+++ b/src/plugins/abrt-action-list-dsos
@@ -84,15 +84,14 @@ if __name__ == "__main__":
outname = None
vendor = h[rpm.RPMTAG_VENDOR]
- if vendor != None:
- vendor = vendor.decode('utf-8')
+ rpmtag_nevra = h[rpm.RPMTAG_NEVRA]
outfile.write("%s %s (%s) %s\n" %
- (path,
- h[rpm.RPMTAG_NEVRA].decode('utf-8'),
- vendor,
- h[rpm.RPMTAG_INSTALLTIME])
- )
+ (path,
+ rpmtag_nevra,
+ vendor,
+ h[rpm.RPMTAG_INSTALLTIME])
+ )
except Exception as ex:
error_msg_and_die("Can't get the DSO list: %s" % ex)
--
2.21.0

@ -0,0 +1,118 @@
From caf03304c98dc84086b2f4f60be4b41fc76f31e6 Mon Sep 17 00:00:00 2001
From: Martin Kutlak <mkutlak@redhat.com>
Date: Wed, 4 Mar 2020 16:41:28 +0100
Subject: [PATCH] a-a-save-package-data: Use regexps to match interpreters
Instead of adding more and more interpreters to the list which
gets outdated after a while, we can utilize regular expressions.
User will still have an option to set Interpreters in config file to
match any other interpreters.
The regexes should cover interpreters:
Python:
* python
* python2
* python2.7
* python3
* python3.8
* platform-python
* platform-python3
* platform-python3.8
Perl:
* perl
* perl5.30.1
PHP:
* php
* php-cgi
R
retrace.fedoraproject.org/faf/reports/2832480
tcl
retrace.fedoraproject.org/faf/reports/2555398
The regexes should cover interpreters:
R:
* R
tcl:
* tclsh
* tclsh8.6
Tests require will-crash and perl-interpreter installed.
Resolves: rhbz#1798494
Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
---
src/daemon/abrt-action-save-package-data.c | 39 ++++++++-
1 files change, 38 insertions(+), 1 deletions(-)
diff --git a/src/daemon/abrt-action-save-package-data.c b/src/daemon/abrt-action-save-package-data.c
index 21b4c97d..6ced7971 100644
--- a/src/daemon/abrt-action-save-package-data.c
+++ b/src/daemon/abrt-action-save-package-data.c
@@ -17,11 +17,47 @@
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include <fnmatch.h>
+#include <glib.h>
#include "libabrt.h"
#include "rpm.h"
#define GPG_CONF "gpg_keys.conf"
+/**
+ "python3.4, python3.5, python3.6, python3.7, perl, perl5.16.2"
+ * The regexes should cover interpreters with basename:
+ * Python:
+ * python
+ * python2
+ * python3
+ * python2.7
+ * python3.8
+ * platform-python
+ * platform-python3
+ * platform-python3.8
+ *
+ * Perl:
+ * perl
+ * perl5.30.1
+ *
+ * PHP:
+ * php
+ * php-cgi
+ *
+ * R:
+ * R
+ *
+ * tcl:
+ * tclsh
+ * tclsh8.6
+ **/
+#define DEFAULT_INTERPRETERS_REGEX \
+ "^(perl ([[:digit:]][.][[:digit:]]+[.][[:digit:]])? |" \
+ "php (-cgi)? |" \
+ "(platform-)? python ([[:digit:]]([.][[:digit:]])?)? |" \
+ "R |" \
+ "tclsh ([[:digit:]][.][[:digit:]])?)$"
+
static bool settings_bOpenGPGCheck = false;
static GList *settings_setOpenGPGPublicKeys = NULL;
static GList *settings_setBlackListedPkgs = NULL;
@@ -304,7 +340,8 @@ static int SavePackageDescriptionToDebugDump(const char *dump_dir_name, const ch
/* if basename is known interpreter, we want to blame the running script
* not the interpreter
*/
- if (g_list_find_custom(settings_Interpreters, basename, (GCompareFunc)g_strcmp0))
+ if (g_regex_match_simple(DEFAULT_INTERPRETERS_REGEX, basename, G_REGEX_EXTENDED, /*MatchFlags*/0) ||
+ g_list_find_custom(settings_Interpreters, basename, (GCompareFunc)g_strcmp0))
{
struct pkg_envra *script_pkg = get_script_name(cmdline, &executable, chroot);
/* executable may have changed, check it again */
--
2.25.1

@ -0,0 +1,42 @@
From 11869ec9290a32c028d9d2741a7466206b635f59 Mon Sep 17 00:00:00 2001
From: Jake Daryll Obina <jake.obina@gmail.com>
Date: Mon, 25 Jun 2018 11:52:11 +0800
Subject: [PATCH] harvest_vmcore: Fix missing argument error during
delete_and_close()
delete_and_close() requires a directory name argument and it is being called
without one. This argument is really not necessary though since the directory
name is already saved in the directory object (can be queried via the directory
object's name attribute), and it is the saved directory that is always deleted
regardless of the argument passed in.
Signed-off-by: Jake Daryll Obina <jake.obina@gmail.com>
---
src/hooks/abrt_harvest_vmcore.py.in | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/hooks/abrt_harvest_vmcore.py.in b/src/hooks/abrt_harvest_vmcore.py.in
index 7d4bba52..66c3ad37 100644
--- a/src/hooks/abrt_harvest_vmcore.py.in
+++ b/src/hooks/abrt_harvest_vmcore.py.in
@@ -128,13 +128,15 @@ def create_abrtd_info(dest, uuid):
return dd
-def delete_and_close(dd, dd_dirname):
+def delete_and_close(dd):
"""
Deletes the given dump directory and closes it.
dd - dump directory object
- dd_dirname - full path to dump directory
"""
+ # Save the directory name as the directory object could be destroyed during
+ # delete().
+ dd_dirname = dd.name
if not dd.delete() == 0:
sys.stderr.write("Unable to delete '%s'\n" % (dd_dirname))
return
--
2.25.1

@ -0,0 +1,26 @@
From 445e68861693be83023e93de072cf04caf833e57 Mon Sep 17 00:00:00 2001
From: Martin Kutlak <mkutlak@redhat.com>
Date: Wed, 12 Dec 2018 16:07:33 +0100
Subject: [PATCH] cli: Add a shebang
Fixes a ShellCheck warning SC2148.
error: Tips depend on target shell and yours is unknown. Add a shebang.
Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
---
src/cli/abrt-console-notification.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/cli/abrt-console-notification.sh b/src/cli/abrt-console-notification.sh
index f1a79ffb..cd69eb38 100755
--- a/src/cli/abrt-console-notification.sh
+++ b/src/cli/abrt-console-notification.sh
@@ -1,3 +1,4 @@
+#!/bin/sh
# If shell is not connect to a terminal, return immediately, because this script
# should print out ABRT's status and it is senseless to continue without
# terminal.
--
2.26.2

@ -0,0 +1,47 @@
From 9edffdf1a4be9a2983cb69f1ebff81c805cde72f Mon Sep 17 00:00:00 2001
From: Martin Kutlak <mkutlak@redhat.com>
Date: Wed, 12 Dec 2018 16:09:59 +0100
Subject: [PATCH] shellcheck: Use $(...) instead of legacy backticked
Fixes ShellCheck warning SC2006.
Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
---
src/cli/abrt-console-notification.sh | 4 ++--
src/plugins/abrt-action-analyze-ccpp-local.in | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/cli/abrt-console-notification.sh b/src/cli/abrt-console-notification.sh
index cd69eb38..c245677b 100755
--- a/src/cli/abrt-console-notification.sh
+++ b/src/cli/abrt-console-notification.sh
@@ -26,11 +26,11 @@ if [ ! -f "$LPATHDIR" ]; then
mkdir -p "$LPATHDIR" >"$ABRT_DEBUG_LOG" 2>&1 || return 0
fi
-TMPPATH=`mktemp --tmpdir="$LPATHDIR" lastnotification.XXXXXXXX 2> "$ABRT_DEBUG_LOG"`
+TMPPATH=$(mktemp --tmpdir="$LPATHDIR" lastnotification.XXXXXXXX 2> "$ABRT_DEBUG_LOG")
SINCE=0
if [ -f "$SINCEFILE" ]; then
- SINCE=`cat $SINCEFILE 2>"$ABRT_DEBUG_LOG"`
+ SINCE=$(cat "$SINCEFILE" 2>"$ABRT_DEBUG_LOG")
fi
# always update the lastnotification
diff --git a/src/plugins/abrt-action-analyze-ccpp-local.in b/src/plugins/abrt-action-analyze-ccpp-local.in
index 6691c59b..92593437 100644
--- a/src/plugins/abrt-action-analyze-ccpp-local.in
+++ b/src/plugins/abrt-action-analyze-ccpp-local.in
@@ -15,7 +15,7 @@ if $INSTALL_DI; then
# debuginfo install fail even for root.
# Therefore, if we are root, we don't use the wrapper.
EXECUTABLE=@LIBEXEC_DIR@/abrt-action-install-debuginfo-to-abrt-cache
- if [ x"`id -u`" = x"0" ]; then
+ if [ x"$(id -u)" = x"0" ]; then
EXECUTABLE=abrt-action-install-debuginfo
fi
--
2.26.2

@ -0,0 +1,35 @@
From dad230792b046c711f4e491cfdbabda58862ee78 Mon Sep 17 00:00:00 2001
From: Martin Kutlak <mkutlak@redhat.com>
Date: Wed, 12 Dec 2018 16:12:23 +0100
Subject: [PATCH] shellcheck: Suppress shellcheck warning SC1090
ShellCheck is not able to include sourced files from paths that are determined at runtime.
The file will not be read, potentially resulting in warnings about unassigned variables and similar.
If you don't care that ShellCheck is unable to account for the file, specify
"# shellcheck source=/dev/null".
Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
---
src/plugins/abrt-action-analyze-ccpp-local.in | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/plugins/abrt-action-analyze-ccpp-local.in b/src/plugins/abrt-action-analyze-ccpp-local.in
index 92593437..9144c0e6 100644
--- a/src/plugins/abrt-action-analyze-ccpp-local.in
+++ b/src/plugins/abrt-action-analyze-ccpp-local.in
@@ -26,8 +26,9 @@ if $INSTALL_DI; then
EXTRA_ARGS=
for osrel in "${DUMP_DIR:-.}/os_info_in_rootdir" "${DUMP_DIR:-.}/os_info"
do
- if [ -e $osrel ]; then
- . $osrel
+ if [ -e "$osrel" ]; then
+ # shellcheck source=/dev/null
+ . "$osrel"
if [ -n "$VERSION_ID" ]; then
EXTRA_ARGS="--releasever=$VERSION_ID"
break
--
2.26.2

@ -0,0 +1,34 @@
From 58d1e4fa0a0f6fc2fc3ee773665de70a073ae759 Mon Sep 17 00:00:00 2001
From: Martin Kutlak <mkutlak@redhat.com>
Date: Wed, 12 Dec 2018 16:16:55 +0100
Subject: [PATCH] shellcheck: Check exit code directly with if mycmd
Running a command and then checking its exit status $? against 0 is redundant.
Fixes ShellCheck warning SC2181.
Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
---
src/plugins/abrt-action-analyze-ccpp-local.in | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/src/plugins/abrt-action-analyze-ccpp-local.in b/src/plugins/abrt-action-analyze-ccpp-local.in
index 9144c0e6..d2453c19 100644
--- a/src/plugins/abrt-action-analyze-ccpp-local.in
+++ b/src/plugins/abrt-action-analyze-ccpp-local.in
@@ -36,9 +36,7 @@ if $INSTALL_DI; then
fi
done
- ${EXECUTABLE} ${EXTRA_ARGS} --size_mb=4096
-fi
-
-if [ $? = 0 ]; then
- abrt-action-generate-backtrace && abrt-action-analyze-backtrace
+ if ${EXECUTABLE} "${EXTRA_ARGS}" --size_mb=4096; then
+ abrt-action-generate-backtrace && abrt-action-analyze-backtrace
+ fi
fi
--
2.26.2

@ -0,0 +1,33 @@
From cbc15ea4a2be99a980a0f762c45b09055ab78527 Mon Sep 17 00:00:00 2001
From: Martin Kutlak <mkutlak@redhat.com>
Date: Wed, 12 Dec 2018 16:20:09 +0100
Subject: [PATCH] shellcheck: Use command instead of type
type undefined in POSIX sh.
Replacing 'command -v' is similar to the builtin 'type' and is defined in POSIX.
Fixes ShellCheck warning SC2039.
Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
---
src/plugins/abrt-action-analyze-vulnerability.in | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/plugins/abrt-action-analyze-vulnerability.in b/src/plugins/abrt-action-analyze-vulnerability.in
index 7532b72c..4cae52e6 100755
--- a/src/plugins/abrt-action-analyze-vulnerability.in
+++ b/src/plugins/abrt-action-analyze-vulnerability.in
@@ -2,8 +2,8 @@
# Do we have the tools we need?
# If no, exit silently.
-type @GDB@ >/dev/null 2>&1 || exit 0
-type eu-readelf >/dev/null 2>&1 || exit 0
+command -v @GDB@ >/dev/null 2>&1 || exit 0
+command -v eu-readelf >/dev/null 2>&1 || exit 0
# Do we have coredump?
test -r coredump || {
--
2.26.2

@ -0,0 +1,39 @@
From 8394acb416a48cdac9a8000aa8a63736814ac71b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miroslav=20Such=C3=BD?= <msuchy@redhat.com>
Date: Fri, 17 Aug 2018 16:18:21 +0200
Subject: [PATCH] plugin "general" from sos has been split into two new plugins
This resolves BZ 1608444
---
abrt.spec.in | 1 +
src/plugins/sosreport_event.conf | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/abrt.spec.in b/abrt.spec.in
index de54f121..65d55510 100644
--- a/abrt.spec.in
+++ b/abrt.spec.in
@@ -96,6 +96,7 @@ BuildRequires: python3-humanize
Requires: libreport >= %{libreport_ver}
Requires: satyr >= %{satyr_ver}
+Requires: sos >= 3.6
# these only exist on suse
%if 0%{?suse_version}
BuildRequires: dbus-1-glib-devel
diff --git a/src/plugins/sosreport_event.conf b/src/plugins/sosreport_event.conf
index 88ca26fe..5e366ec6 100644
--- a/src/plugins/sosreport_event.conf
+++ b/src/plugins/sosreport_event.conf
@@ -7,7 +7,7 @@ EVENT=post-create remote!=1
--only=filesys --only=hardware --only=kernel --only=libraries \
--only=memory --only=networking --only=nfsserver --only=pam \
--only=process --only=rpm -k rpm.rpmva=off --only=ssh \
- --only=startup --only=yum --only=general --only=x11 \
+ --only=startup --only=yum --only=date --only=host --only=x11 \
--only=cups --only=logs --only=grub2 --only=cron --only=pci \
--only=auditd --only=selinux --only=lvm2 --only=sar \
--only=processor \
--
2.26.2

@ -0,0 +1,30 @@
From 0a3ea24b2158f19342fce8523aeb2e26204bbcad Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Fri, 16 Oct 2015 11:39:00 +0200
Subject: [PATCH] sos: use 'services' instead of 'startup'
The plugin has been renamed to 'services'.
Resolves: #1272005
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/plugins/sosreport_event.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/plugins/sosreport_event.conf b/src/plugins/sosreport_event.conf
index 5e366ec6..57eb6bcb 100644
--- a/src/plugins/sosreport_event.conf
+++ b/src/plugins/sosreport_event.conf
@@ -7,7 +7,7 @@ EVENT=post-create remote!=1
--only=filesys --only=hardware --only=kernel --only=libraries \
--only=memory --only=networking --only=nfsserver --only=pam \
--only=process --only=rpm -k rpm.rpmva=off --only=ssh \
- --only=startup --only=yum --only=date --only=host --only=x11 \
+ --only=services --only=yum --only=date --only=host --only=x11 \
--only=cups --only=logs --only=grub2 --only=cron --only=pci \
--only=auditd --only=selinux --only=lvm2 --only=sar \
--only=processor \
--
2.26.2

@ -0,0 +1,99 @@
From 0966d7fd6e3d51fc99088de94343212c5f09e74d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miroslav=20Such=C3=BD?= <msuchy@redhat.com>
Date: Tue, 5 May 2020 18:28:50 +0200
Subject: [PATCH] setgid instead of setuid the
abrt-action-install-debuginfo-to-abrt-cache [RHBZ 1796245]
OpenSCAP does not like setuid files, we can be setgid instead.
We need to g+w the directories so other run under a different user can be able to write there too.
Resolves:
https://bugzilla.redhat.com/show_bug.cgi?id=1796245
---
abrt.spec.in | 4 ++--
.../abrt-action-install-debuginfo-to-abrt-cache.c | 15 +++------------
src/plugins/abrt-action-install-debuginfo.in | 6 ++++++
3 files changed, 11 insertions(+), 14 deletions(-)
diff --git a/abrt.spec.in b/abrt.spec.in
index 326294008..4c01fffe6 100644
--- a/abrt.spec.in
+++ b/abrt.spec.in
@@ -1015,8 +1015,8 @@ killall abrt-dbus >/dev/null 2>&1 || :
%dir %{_localstatedir}/lib/abrt
-# attr(6755) ~= SETUID|SETGID
-%attr(6755, abrt, abrt) %{_libexecdir}/abrt-action-install-debuginfo-to-abrt-cache
+# attr(2755) ~= SETGID
+%attr(2755, abrt, abrt) %{_libexecdir}/abrt-action-install-debuginfo-to-abrt-cache
%{_bindir}/abrt-action-analyze-c
%{_bindir}/abrt-action-trim-files
diff --git a/src/plugins/abrt-action-install-debuginfo-to-abrt-cache.c b/src/plugins/abrt-action-install-debuginfo-to-abrt-cache.c
index 71967f77a..0f843512e 100644
--- a/src/plugins/abrt-action-install-debuginfo-to-abrt-cache.c
+++ b/src/plugins/abrt-action-install-debuginfo-to-abrt-cache.c
@@ -78,7 +78,6 @@ int main(int argc, char **argv)
const gid_t egid = getegid();
const gid_t rgid = getgid();
const uid_t euid = geteuid();
- const gid_t ruid = getuid();
/* We need to open the build ids file under the caller's UID/GID to avoid
* information disclosures when reading files with changed UID.
@@ -93,17 +92,11 @@ int main(int argc, char **argv)
if (setregid(egid, rgid) < 0)
perror_msg_and_die("setregid(egid, rgid)");
- if (setreuid(euid, ruid) < 0)
- perror_msg_and_die("setreuid(euid, ruid)");
-
const int build_ids_fd = open(build_ids, O_RDONLY);
if (setregid(rgid, egid) < 0)
perror_msg_and_die("setregid(rgid, egid)");
- if (setreuid(ruid, euid) < 0 )
- perror_msg_and_die("setreuid(ruid, euid)");
-
if (build_ids_fd < 0)
perror_msg_and_die("Failed to open file '%s'", build_ids);
@@ -155,12 +148,10 @@ int main(int argc, char **argv)
*/
/* do setregid only if we have to, to not upset selinux needlessly */
if (egid != rgid)
- IGNORE_RESULT(setregid(egid, egid));
- if (euid != ruid)
{
- IGNORE_RESULT(setreuid(euid, euid));
- /* We are suid'ed! */
- /* Prevent malicious user from messing up with suid'ed process: */
+ IGNORE_RESULT(setregid(egid, egid));
+ /* We are sgid'ed! */
+ /* Prevent malicious user from messing up with sgid'ed process: */
#if 1
// We forgot to sanitize PYTHONPATH. And who knows what else we forgot
// (especially considering *future* new variables of this kind).
diff --git a/src/plugins/abrt-action-install-debuginfo.in b/src/plugins/abrt-action-install-debuginfo.in
index 6269c221e..659a9aa84 100644
--- a/src/plugins/abrt-action-install-debuginfo.in
+++ b/src/plugins/abrt-action-install-debuginfo.in
@@ -248,6 +248,12 @@ if __name__ == "__main__":
repo_pattern=repo_pattern,
releasever=releasever)
result = downloader.download(missing, download_exact_files=exact_fls)
+
+ # make sure that all downloaded directories are writeable by abrt group
+ for root, dirs, files in os.walk(self.cachedirs[0]):
+ for walked_dir in dirs:
+ os.chmod(os.path.join(root, walked_dir), 0o775)
+
except OSError as ex:
if ex.errno == errno.EPIPE:
clean_up(TMPDIR, silent=True)
--
2.21.3

@ -0,0 +1,28 @@
From 755fef17815bf130f6b092b23a99d77bcf3963a1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miroslav=20Such=C3=BD?= <msuchy@redhat.com>
Date: Wed, 13 May 2020 09:33:29 +0200
Subject: [PATCH] remove old transition postscriptlet
I think that after nine years, we can safely assume everyone done this migration.
---
abrt.spec.in | 4 ----
1 file changed, 4 deletions(-)
diff --git a/abrt.spec.in b/abrt.spec.in
index 4c01fffe6..f8cebffe3 100644
--- a/abrt.spec.in
+++ b/abrt.spec.in
@@ -694,10 +694,6 @@ exit 0
%systemd_post abrtd.service
%post addon-ccpp
-# this is required for transition from 1.1.x to 2.x
-# because /cache/abrt-di/* was created under root with root:root
-# so 2.x fails when it tries to extract debuginfo there..
-chown -R abrt:abrt %{_localstatedir}/cache/abrt-di
%systemd_post abrt-ccpp.service
%systemd_post abrt-journal-core.service
%journal_catalog_update
--
2.21.3

@ -0,0 +1,33 @@
From 62b5e536cf965843ffcd7f9db3cc2d8176c901a2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miroslav=20Such=C3=BD?= <msuchy@redhat.com>
Date: Wed, 13 May 2020 09:36:32 +0200
Subject: [PATCH] make sure that former caches are group writable
The files previously can be just 755. We need to be sure they are group writable.
Resolves:
https://bugzilla.redhat.com/show_bug.cgi?id=1796245
---
abrt.spec.in | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/abrt.spec.in b/abrt.spec.in
index f8cebffe3..41b72071a 100644
--- a/abrt.spec.in
+++ b/abrt.spec.in
@@ -695,6 +695,12 @@ exit 0
%post addon-ccpp
%systemd_post abrt-ccpp.service
+# migration from 2.14.1.18
+if [ ! -e "%{_localstatedir}/cache/abrt-di/.migration-group-add" ]; then
+ chmod -R g+w %{_localstatedir}/cache/abrt-di
+ touch "%{_localstatedir}/cache/abrt-di/.migration-group-add"
+fi
+
%systemd_post abrt-journal-core.service
%journal_catalog_update
--
2.21.3

@ -0,0 +1,28 @@
From 39faa81497c9b7e1b443c6aed8ddaa0f2516dc66 Mon Sep 17 00:00:00 2001
From: Ernestas Kulik <ekulik@redhat.com>
Date: Thu, 4 Jun 2020 12:53:13 +0200
Subject: [PATCH] abrt-action-install-debuginfo: Fix variable reference
The code in cc79333dcd3fea7701ebbf97fb0919fbad90f3f0 was initially
intended for libreport, but a thinko was introduced when it was moved
over.
---
src/plugins/abrt-action-install-debuginfo.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/plugins/abrt-action-install-debuginfo.in b/src/plugins/abrt-action-install-debuginfo.in
index 659a9aa84..3a46233b7 100644
--- a/src/plugins/abrt-action-install-debuginfo.in
+++ b/src/plugins/abrt-action-install-debuginfo.in
@@ -250,7 +250,7 @@ if __name__ == "__main__":
result = downloader.download(missing, download_exact_files=exact_fls)
# make sure that all downloaded directories are writeable by abrt group
- for root, dirs, files in os.walk(self.cachedirs[0]):
+ for root, dirs, files in os.walk(config.cachedirs[0]):
for walked_dir in dirs:
os.chmod(os.path.join(root, walked_dir), 0o775)
--
2.21.3

@ -0,0 +1,33 @@
From 077bd3543fc233defb7018ea7d8bcf9aea7fa955 Mon Sep 17 00:00:00 2001
From: Ernestas Kulik <ekulik@redhat.com>
Date: Tue, 30 Jun 2020 14:19:07 +0200
Subject: [PATCH] plugins: sosreport_event: Rename nfsserver plugin
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
See
https://github.com/sosreport/sos/commit/fad72dbacc7e5c3c2721e452823750974ea31550.
The sosreport devs dont give a shit about anything, so here we are,
cleaning up their messes at the last minute.
---
src/plugins/sosreport_event.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/plugins/sosreport_event.conf b/src/plugins/sosreport_event.conf
index 57eb6bcb..4a4a29cd 100644
--- a/src/plugins/sosreport_event.conf
+++ b/src/plugins/sosreport_event.conf
@@ -5,7 +5,7 @@ EVENT=post-create remote!=1
nice sosreport --tmp-dir "$DUMP_DIR" --batch \
--only=anaconda --only=boot --only=devicemapper \
--only=filesys --only=hardware --only=kernel --only=libraries \
- --only=memory --only=networking --only=nfsserver --only=pam \
+ --only=memory --only=networking --only=nfs --only=pam \
--only=process --only=rpm -k rpm.rpmva=off --only=ssh \
--only=services --only=yum --only=date --only=host --only=x11 \
--only=cups --only=logs --only=grub2 --only=cron --only=pci \
--
2.26.2

@ -0,0 +1,31 @@
From aa0d2a4cf3050f82e76fa33f556b17655aebe06b Mon Sep 17 00:00:00 2001
From: Ernestas Kulik <ekulik@redhat.com>
Date: Wed, 1 Jul 2020 18:12:41 +0200
Subject: [PATCH] plugins: abrt-action-install-debuginfo: Fix reference
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
0840adafb280be0bab569e68116e1d3897831f97 fixes the problem in a way that
only works in the upstream code. Here, the code split was not performed
and we dont have a config object.
---
src/plugins/abrt-action-install-debuginfo.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/plugins/abrt-action-install-debuginfo.in b/src/plugins/abrt-action-install-debuginfo.in
index 3a46233b..b049d18c 100644
--- a/src/plugins/abrt-action-install-debuginfo.in
+++ b/src/plugins/abrt-action-install-debuginfo.in
@@ -250,7 +250,7 @@ if __name__ == "__main__":
result = downloader.download(missing, download_exact_files=exact_fls)
# make sure that all downloaded directories are writeable by abrt group
- for root, dirs, files in os.walk(config.cachedirs[0]):
+ for root, dirs, files in os.walk(cachedirs[0]):
for walked_dir in dirs:
os.chmod(os.path.join(root, walked_dir), 0o775)
--
2.28.0

@ -0,0 +1,94 @@
From 3d54b451282246ff8dfdff12e809b64c446b48d2 Mon Sep 17 00:00:00 2001
From: Michal Srb <michal@redhat.com>
Date: Wed, 31 Mar 2021 13:28:57 +0200
Subject: [PATCH] Do not report to journal
We do not ship the journal reporter in RHEL 8.
---
src/plugins/ccpp_event.conf | 8 --------
src/plugins/koops_event.conf | 4 ----
src/plugins/python3_event.conf | 4 ----
src/plugins/python_event.conf | 4 ----
src/plugins/vmcore_event.conf | 4 ----
src/plugins/xorg_event.conf | 4 ----
6 files changed, 28 deletions(-)
diff --git a/src/plugins/ccpp_event.conf b/src/plugins/ccpp_event.conf
index 9883861..f8338d2 100644
--- a/src/plugins/ccpp_event.conf
+++ b/src/plugins/ccpp_event.conf
@@ -111,11 +111,3 @@ EVENT=report-gui type=CCpp
EVENT=report-cli type=CCpp
report-cli -- "$DUMP_DIR"
-
-EVENT=report_systemd-journal type=CCpp analyzer=abrt-ccpp
- reporter-systemd-journal --message-id 5ab0271ecf1941a2b89299716e880661 \
- -F /etc/libreport/plugins/catalog_ccpp_format.conf
-
-EVENT=report_systemd-journal type=CCpp analyzer=abrt-journal-core
- reporter-systemd-journal --message-id 5ab0271ecf1941a2b89299716e880661 \
- -F /etc/libreport/plugins/catalog_journal_ccpp_format.conf
diff --git a/src/plugins/koops_event.conf b/src/plugins/koops_event.conf
index f4a3ba2..5e53723 100644
--- a/src/plugins/koops_event.conf
+++ b/src/plugins/koops_event.conf
@@ -52,7 +52,3 @@ EVENT=report-gui type=Kerneloops mce!=non-fatal
EVENT=report-cli type=Kerneloops
report-cli -- "$DUMP_DIR"
-
-EVENT=report_systemd-journal type=Kerneloops
- reporter-systemd-journal --message-id 8ed36508c5a24d0ab2d633f330899e5f \
- -F /etc/libreport/plugins/catalog_koops_format.conf
diff --git a/src/plugins/python3_event.conf b/src/plugins/python3_event.conf
index 8c5b279..481a1c4 100644
--- a/src/plugins/python3_event.conf
+++ b/src/plugins/python3_event.conf
@@ -34,7 +34,3 @@ EVENT=report-gui type=Python3 component!=anaconda
EVENT=report-cli type=Python3 component!=anaconda
report-cli -- "$DUMP_DIR"
-
-EVENT=report_systemd-journal type=Python3
- reporter-systemd-journal --message-id 4d6f95dd9ff54eb7bd1f32a387f327c3 \
- -F /etc/libreport/plugins/catalog_python3_format.conf
diff --git a/src/plugins/python_event.conf b/src/plugins/python_event.conf
index 4e5d39c..1824364 100644
--- a/src/plugins/python_event.conf
+++ b/src/plugins/python_event.conf
@@ -34,7 +34,3 @@ EVENT=report-gui type=Python component!=anaconda
EVENT=report-cli type=Python component!=anaconda
report-cli -- "$DUMP_DIR"
-
-EVENT=report_systemd-journal type=Python
- reporter-systemd-journal --message-id b25955d7738d4db9a498a734620194ef \
- -F /etc/libreport/plugins/catalog_python_format.conf
diff --git a/src/plugins/vmcore_event.conf b/src/plugins/vmcore_event.conf
index bf97b39..61bc9d1 100644
--- a/src/plugins/vmcore_event.conf
+++ b/src/plugins/vmcore_event.conf
@@ -64,7 +64,3 @@ EVENT=report-gui type=vmcore
EVENT=report-cli type=vmcore
report-cli -- "$DUMP_DIR"
-
-EVENT=report_systemd-journal type=vmcore
- reporter-systemd-journal --message-id ebde29430d524b5fb043138098fd7e89 \
- -F /etc/libreport/plugins/catalog_vmcore_format.conf
diff --git a/src/plugins/xorg_event.conf b/src/plugins/xorg_event.conf
index 5ffe4bf..8d0d585 100644
--- a/src/plugins/xorg_event.conf
+++ b/src/plugins/xorg_event.conf
@@ -26,7 +26,3 @@ EVENT=report-gui type=xorg
EVENT=report-cli type=xorg
report-cli -- "$DUMP_DIR"
-
-EVENT=report_systemd-journal type=xorg
- reporter-systemd-journal --message-id 6a9a2826cc074934bff0dd0a45a10453 \
- -F /etc/libreport/plugins/catalog_xorg_format.conf
--
2.30.2

@ -0,0 +1,29 @@
From 4cdb0a7de54b5aa2646169c33563a2e6545b580d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mat=C4=9Bj=20Grabovsk=C3=BD?= <mgrabovs@redhat.com>
Date: Tue, 31 Jan 2023 10:41:46 +0100
Subject: [PATCH] plugins: Update sosreport event
- Run `sos report` in place of the obsolete `sosreport` command.
- Switch to `dnf` plugin instead of `yum`.
Resolves rhbz#2137499
---
src/plugins/sosreport_event.conf | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/plugins/sosreport_event.conf b/src/plugins/sosreport_event.conf
index 88ca26fe..4799ff0a 100644
--- a/src/plugins/sosreport_event.conf
+++ b/src/plugins/sosreport_event.conf
@@ -7,7 +7,7 @@
--only=filesys --only=hardware --only=kernel --only=libraries \
--only=memory --only=networking --only=nfs --only=pam \
--only=process --only=rpm -k rpm.rpmva=off --only=ssh \
- --only=services --only=yum --only=date --only=host --only=x11 \
+ --only=services --only=dnf --only=date --only=host --only=x11 \
--only=cups --only=logs --only=grub2 --only=cron --only=pci \
--only=auditd --only=selinux --only=lvm2 --only=sar \
--only=processor \
--
2.39.1

@ -0,0 +1,870 @@
From a58e1fb2e8d644b12bd8e28e0ac526f434663daa Mon Sep 17 00:00:00 2001
From: Michal Fabik <mfabik@redhat.com>
Date: Thu, 9 Sep 2021 16:50:52 +0200
Subject: [PATCH] abrt-dump-oops: Fix vmcore call trace parsing
In kernel v4.10, addresses were removed from vmcore call traces. This
commit changes call trace line matching to allow for the newer format
call traces and also fixes matching of register lines within call traces.
Also, add appropriate test.
Resolves:
https://bugzilla.redhat.com/show_bug.cgi?id=1993225
---
src/lib/kernel.c | 31 +-
tests/examples/oops-without-addrs.right | 26 +
tests/examples/oops-without-addrs.test | 722 ++++++++++++++++++++++++
tests/koops-parser.at | 1 +
5 files changed, 775 insertions(+), 6 deletions(-)
create mode 100644 tests/examples/oops-without-addrs.right
create mode 100644 tests/examples/oops-without-addrs.test
diff --git a/src/lib/kernel.c b/src/lib/kernel.c
index 2dbe924a..9552937e 100644
--- a/src/lib/kernel.c
+++ b/src/lib/kernel.c
@@ -399,10 +399,23 @@ void abrt_koops_extract_oopses_from_lines(GList **oops_list, const struct abrt_k
int oopsstart = -1;
int inbacktrace = 0;
regex_t arm_regex;
+ regex_t trace_regex;
+ regex_t trace_regex2;
+ regex_t trace_regex3;
+ regex_t register_regex;
int arm_regex_rc = 0;
+ int trace_regex_rc = 0;
+ int trace_regex2_rc = 0;
+ int trace_regex3_rc = 0;
+ int register_regex_rc = 0;
/* ARM backtrace regex, match a string similar to r7:df912310 */
arm_regex_rc = regcomp(&arm_regex, "r[[:digit:]]{1,}:[a-f[:digit:]]{8}", REG_EXTENDED | REG_NOSUB);
+ trace_regex_rc = regcomp(&trace_regex, "^\\(\\[<[0-9a-f]\\+>\\] \\)\\?.\\++0x[0-9a-f]\\+/0x[0-9a-f]\\+\\( \\[.\\+\\]\\)\\?$", REG_NOSUB);
+ trace_regex2_rc = regcomp(&trace_regex2, "^(\\(\\[<[0-9a-f]\\+>\\] \\)\\?.\\+\\(+0x[0-9a-f]\\+/0x[0-9a-f]\\+\\)\\?\\( \\[.\\+\\]\\)\\?)$", REG_NOSUB);
+ trace_regex3_rc = regcomp(&trace_regex3, "^\\(\\[<[0-9a-f]\\+>\\] \\)\\?\\(? \\)\\?0x[0-9a-f]\\+$", REG_NOSUB);
+ /* Registers usually(?) come listed three per line in a call trace but let's play it safe and list them all */
+ register_regex_rc = regcomp(&register_regex, "^\\(R[ABCD]X\\|R[SD]I\\|RBP\\|R[0-9]\\{2\\}\\): [0-9a-f]\\+ .\\+", REG_NOSUB);
i = 0;
while (i < lines_info_size)
@@ -475,12 +488,10 @@ void abrt_koops_extract_oopses_from_lines(GList **oops_list, const struct abrt_k
{
int oopsend = INT_MAX;
- /* line needs to start with " [" or have "] [" if it is still a call trace */
+ /* line needs to start with "[" or have "] [" if it is still a call trace */
/* example: "[<ffffffffa006c156>] radeon_get_ring_head+0x16/0x41 [radeon]" */
/* example s390: "([<ffffffffa006c156>] 0xdeadbeaf)" */
- if ((curline[0] != '[' && (curline[0] != '(' || curline[1] != '['))
- && !strstr(curline, "] [")
- && !strstr(curline, "--- Exception")
+ if (!strstr(curline, "--- Exception")
&& !strstr(curline, "LR =")
&& !strstr(curline, "<#DF>")
&& !strstr(curline, "<IRQ>")
@@ -491,13 +502,17 @@ void abrt_koops_extract_oopses_from_lines(GList **oops_list, const struct abrt_k
&& !strstr(curline, "Hardware name:")
&& !strstr(curline, "Backtrace:")
&& strncmp(curline, "Code: ", 6) != 0
- && strncmp(curline, "RIP ", 4) != 0
- && strncmp(curline, "RSP ", 4) != 0
+ && strncmp(curline, "RIP: ", 5) != 0
+ && strncmp(curline, "RSP: ", 5) != 0
/* s390 Call Trace ends with 'Last Breaking-Event-Address:'
* which is followed by a single frame */
&& strncmp(curline, "Last Breaking-Event-Address:", strlen("Last Breaking-Event-Address:")) != 0
/* ARM dumps registers intertwined with the backtrace */
&& (arm_regex_rc == 0 ? regexec(&arm_regex, curline, 0, NULL, 0) == REG_NOMATCH : 1)
+ && (trace_regex_rc == 0 ? regexec(&trace_regex, curline, 0, NULL, 0) == REG_NOMATCH : 1)
+ && (trace_regex2_rc == 0 ? regexec(&trace_regex2, curline, 0, NULL, 0) == REG_NOMATCH : 1)
+ && (trace_regex3_rc == 0 ? regexec(&trace_regex3, curline, 0, NULL, 0) == REG_NOMATCH : 1)
+ && (register_regex_rc == 0 ? regexec(&register_regex, curline, 0, NULL, 0) == REG_NOMATCH : 1)
) {
oopsend = i-1; /* not a call trace line */
}
@@ -555,6 +570,10 @@ void abrt_koops_extract_oopses_from_lines(GList **oops_list, const struct abrt_k
} /* while (i < lines_info_size) */
regfree(&arm_regex);
+ regfree(&trace_regex);
+ regfree(&trace_regex2);
+ regfree(&trace_regex3);
+ regfree(&register_regex);
/* process last oops if we have one */
if (oopsstart >= 0)
diff --git a/tests/examples/oops-without-addrs.right b/tests/examples/oops-without-addrs.right
new file mode 100644
index 00000000..dd35f609
--- /dev/null
+++ b/tests/examples/oops-without-addrs.right
@@ -0,0 +1,26 @@
+abrt-dump-oops: Found oopses: 1
+
+Version: 5.4.0-0.rc6.git0.1.fc32.x86_64
+Kernel panic - not syncing: sysrq triggered crash
+CPU: 0 PID: 4952 Comm: bash Kdump: loaded Not tainted 5.4.0-0.rc6.git0.1.fc32.x86_64 #1
+Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.12.0-2.fc30 04/01/2014
+Call Trace:
+ dump_stack+0x5c/0x80
+ panic+0x101/0x2e3
+ ? printk+0x58/0x6f
+ sysrq_handle_crash+0x11/0x20
+ __handle_sysrq.cold+0xcc/0x115
+ write_sysrq_trigger+0x27/0x40
+ proc_reg_write+0x3c/0x60
+ vfs_write+0xb6/0x1a0
+ ksys_write+0x5f/0xe0
+ do_syscall_64+0x5b/0x180
+ entry_SYSCALL_64_after_hwframe+0x44/0xa9
+RIP: 0033:0x7f4584447447
+Code: 64 89 02 48 c7 c0 ff ff ff ff eb bb 0f 1f 80 00 00 00 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 51 c3 48 83 ec 28 48 89 54 24 18 48 89 74 24
+RSP: 002b:00007ffe65b82f08 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
+RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007f4584447447
+RDX: 0000000000000002 RSI: 0000561b5be577e0 RDI: 0000000000000001
+RBP: 0000561b5be577e0 R08: 000000000000000a R09: 0000000000000001
+R10: 0000561b5be81340 R11: 0000000000000246 R12: 0000000000000002
+R13: 00007f4584518500 R14: 0000000000000002 R15: 00007f4584518700
diff --git a/tests/examples/oops-without-addrs.test b/tests/examples/oops-without-addrs.test
new file mode 100644
index 00000000..95d51fe5
--- /dev/null
+++ b/tests/examples/oops-without-addrs.test
@@ -0,0 +1,722 @@
+[ 0.000000] Linux version 5.4.0-0.rc6.git0.1.fc32.x86_64 (mockbuild@bkernel03.phx2.fedoraproject.org) (gcc version 9.2.1 20190827 (Red Hat 9.2.1-1) (GCC)) #1 SMP Mon Nov 4 16:37:09 UTC 2019
+[ 0.000000] Command line: BOOT_IMAGE=(hd0,msdos1)/vmlinuz-5.4.0-0.rc6.git0.1.fc32.x86_64 root=/dev/mapper/fedora-root ro resume=/dev/mapper/fedora-swap rd.lvm.lv=fedora/root rd.lvm.lv=fedora/swap crashkernel=128M rhgb quiet
+[ 0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
+[ 0.000000] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
+[ 0.000000] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
+[ 0.000000] x86/fpu: Supporting XSAVE feature 0x008: 'MPX bounds registers'
+[ 0.000000] x86/fpu: Supporting XSAVE feature 0x010: 'MPX CSR'
+[ 0.000000] x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256
+[ 0.000000] x86/fpu: xstate_offset[3]: 832, xstate_sizes[3]: 64
+[ 0.000000] x86/fpu: xstate_offset[4]: 896, xstate_sizes[4]: 64
+[ 0.000000] x86/fpu: Enabled xstate features 0x1f, context size is 960 bytes, using 'compacted' format.
+[ 0.000000] BIOS-provided physical RAM map:
+[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
+[ 0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
+[ 0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
+[ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007ffdcfff] usable
+[ 0.000000] BIOS-e820: [mem 0x000000007ffdd000-0x000000007fffffff] reserved
+[ 0.000000] BIOS-e820: [mem 0x00000000b0000000-0x00000000bfffffff] reserved
+[ 0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved
+[ 0.000000] BIOS-e820: [mem 0x00000000feffc000-0x00000000feffffff] reserved
+[ 0.000000] BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved
+[ 0.000000] NX (Execute Disable) protection: active
+[ 0.000000] SMBIOS 2.8 present.
+[ 0.000000] DMI: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.12.0-2.fc30 04/01/2014
+[ 0.000000] Hypervisor detected: KVM
+[ 0.000000] kvm-clock: Using msrs 4b564d01 and 4b564d00
+[ 0.000000] kvm-clock: cpu 0, msr 47401001, primary cpu clock
+[ 0.000000] kvm-clock: using sched offset of 1178292201692 cycles
+[ 0.000001] clocksource: kvm-clock: mask: 0xffffffffffffffff max_cycles: 0x1cd42e4dffb, max_idle_ns: 881590591483 ns
+[ 0.000003] tsc: Detected 2111.998 MHz processor
+[ 0.001607] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
+[ 0.001608] e820: remove [mem 0x000a0000-0x000fffff] usable
+[ 0.001611] last_pfn = 0x7ffdd max_arch_pfn = 0x400000000
+[ 0.001637] MTRR default type: write-back
+[ 0.001638] MTRR fixed ranges enabled:
+[ 0.001638] 00000-9FFFF write-back
+[ 0.001639] A0000-BFFFF uncachable
+[ 0.001640] C0000-FFFFF write-protect
+[ 0.001640] MTRR variable ranges enabled:
+[ 0.001641] 0 base 00C0000000 mask FFC0000000 uncachable
+[ 0.001641] 1 disabled
+[ 0.001642] 2 disabled
+[ 0.001642] 3 disabled
+[ 0.001642] 4 disabled
+[ 0.001643] 5 disabled
+[ 0.001643] 6 disabled
+[ 0.001643] 7 disabled
+[ 0.001650] x86/PAT: Configuration [0-7]: WB WC UC- UC WB WP UC- WT
+[ 0.005329] found SMP MP-table at [mem 0x000f5c50-0x000f5c5f]
+[ 0.005425] Using GB pages for direct mapping
+[ 0.005427] BRK [0x47601000, 0x47601fff] PGTABLE
+[ 0.005428] BRK [0x47602000, 0x47602fff] PGTABLE
+[ 0.005429] BRK [0x47603000, 0x47603fff] PGTABLE
+[ 0.005456] BRK [0x47604000, 0x47604fff] PGTABLE
+[ 0.005457] BRK [0x47605000, 0x47605fff] PGTABLE
+[ 0.005545] BRK [0x47606000, 0x47606fff] PGTABLE
+[ 0.005564] RAMDISK: [mem 0x3567e000-0x36b36fff]
+[ 0.005576] ACPI: Early table checksum verification disabled
+[ 0.005578] ACPI: RSDP 0x00000000000F5A90 000014 (v00 BOCHS )
+[ 0.005582] ACPI: RSDT 0x000000007FFE2078 000030 (v01 BOCHS BXPCRSDT 00000001 BXPC 00000001)
+[ 0.005586] ACPI: FACP 0x000000007FFE1ED0 0000F4 (v03 BOCHS BXPCFACP 00000001 BXPC 00000001)
+[ 0.005589] ACPI: DSDT 0x000000007FFE0040 001E90 (v01 BOCHS BXPCDSDT 00000001 BXPC 00000001)
+[ 0.005591] ACPI: FACS 0x000000007FFE0000 000040
+[ 0.005593] ACPI: APIC 0x000000007FFE1FC4 000078 (v01 BOCHS BXPCAPIC 00000001 BXPC 00000001)
+[ 0.005594] ACPI: MCFG 0x000000007FFE203C 00003C (v01 BOCHS BXPCMCFG 00000001 BXPC 00000001)
+[ 0.005599] ACPI: Local APIC address 0xfee00000
+[ 0.005829] No NUMA configuration found
+[ 0.005830] Faking a node at [mem 0x0000000000000000-0x000000007ffdcfff]
+[ 0.005837] NODE_DATA(0) allocated [mem 0x7ffb2000-0x7ffdcfff]
+[ 0.006008] Reserving 128MB of memory at 1904MB for crashkernel (System RAM: 2047MB)
+[ 0.008570] Zone ranges:
+[ 0.008571] DMA [mem 0x0000000000001000-0x0000000000ffffff]
+[ 0.008572] DMA32 [mem 0x0000000001000000-0x000000007ffdcfff]
+[ 0.008572] Normal empty
+[ 0.008573] Device empty
+[ 0.008573] Movable zone start for each node
+[ 0.008575] Early memory node ranges
+[ 0.008576] node 0: [mem 0x0000000000001000-0x000000000009efff]
+[ 0.008577] node 0: [mem 0x0000000000100000-0x000000007ffdcfff]
+[ 0.008578] Zeroed struct page in unavailable ranges: 98 pages
+[ 0.008579] Initmem setup node 0 [mem 0x0000000000001000-0x000000007ffdcfff]
+[ 0.008580] On node 0 totalpages: 524155
+[ 0.008581] DMA zone: 64 pages used for memmap
+[ 0.008581] DMA zone: 21 pages reserved
+[ 0.008582] DMA zone: 3998 pages, LIFO batch:0
+[ 0.008609] DMA32 zone: 8128 pages used for memmap
+[ 0.008610] DMA32 zone: 520157 pages, LIFO batch:63
+[ 0.012528] ACPI: PM-Timer IO Port: 0x608
+[ 0.012529] ACPI: Local APIC address 0xfee00000
+[ 0.012535] ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])
+[ 0.012563] IOAPIC[0]: apic_id 0, version 17, address 0xfec00000, GSI 0-23
+[ 0.012565] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
+[ 0.012566] ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 high level)
+[ 0.012566] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
+[ 0.012567] ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 high level)
+[ 0.012567] ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 high level)
+[ 0.012568] ACPI: IRQ0 used by override.
+[ 0.012569] ACPI: IRQ5 used by override.
+[ 0.012569] ACPI: IRQ9 used by override.
+[ 0.012569] ACPI: IRQ10 used by override.
+[ 0.012570] ACPI: IRQ11 used by override.
+[ 0.012571] Using ACPI (MADT) for SMP configuration information
+[ 0.012575] smpboot: Allowing 1 CPUs, 0 hotplug CPUs
+[ 0.012586] PM: Registered nosave memory: [mem 0x00000000-0x00000fff]
+[ 0.012587] PM: Registered nosave memory: [mem 0x0009f000-0x0009ffff]
+[ 0.012587] PM: Registered nosave memory: [mem 0x000a0000-0x000effff]
+[ 0.012588] PM: Registered nosave memory: [mem 0x000f0000-0x000fffff]
+[ 0.012589] [mem 0xc0000000-0xfed1bfff] available for PCI devices
+[ 0.012589] Booting paravirtualized kernel on KVM
+[ 0.012590] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1910969940391419 ns
+[ 0.086490] setup_percpu: NR_CPUS:8192 nr_cpumask_bits:1 nr_cpu_ids:1 nr_node_ids:1
+[ 0.086576] percpu: Embedded 52 pages/cpu s176128 r8192 d28672 u2097152
+[ 0.086579] pcpu-alloc: s176128 r8192 d28672 u2097152 alloc=1*2097152
+[ 0.086579] pcpu-alloc: [0] 0
+[ 0.086595] KVM setup async PF for cpu 0
+[ 0.086599] kvm-stealtime: cpu 0, msr 7fc2a040
+[ 0.086602] Built 1 zonelists, mobility grouping on. Total pages: 515942
+[ 0.086603] Policy zone: DMA32
+[ 0.086604] Kernel command line: BOOT_IMAGE=(hd0,msdos1)/vmlinuz-5.4.0-0.rc6.git0.1.fc32.x86_64 root=/dev/mapper/fedora-root ro resume=/dev/mapper/fedora-swap rd.lvm.lv=fedora/root rd.lvm.lv=fedora/swap crashkernel=128M rhgb quiet
+[ 0.086778] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
+[ 0.086801] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
+[ 0.086824] mem auto-init: stack:off, heap alloc:off, heap free:off
+[ 0.090030] Memory: 1869008K/2096620K available (14339K kernel code, 2249K rwdata, 4704K rodata, 2452K init, 5556K bss, 227612K reserved, 0K cma-reserved)
+[ 0.090106] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
+[ 0.090112] Kernel/User page tables isolation: enabled
+[ 0.090121] ftrace: allocating 40599 entries in 159 pages
+[ 0.100344] rcu: Hierarchical RCU implementation.
+[ 0.100345] rcu: RCU restricting CPUs from NR_CPUS=8192 to nr_cpu_ids=1.
+[ 0.100346] Tasks RCU enabled.
+[ 0.100346] rcu: RCU calculated value of scheduler-enlistment delay is 100 jiffies.
+[ 0.100347] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
+[ 0.102059] NR_IRQS: 524544, nr_irqs: 256, preallocated irqs: 16
+[ 0.102193] random: crng done (trusting CPU's manufacturer)
+[ 0.117261] Console: colour VGA+ 80x25
+[ 0.117263] printk: console [tty0] enabled
+[ 0.117276] ACPI: Core revision 20190816
+[ 0.117303] APIC: Switch to symmetric I/O mode setup
+[ 0.117506] x2apic enabled
+[ 0.117722] Switched APIC routing to physical x2apic.
+[ 0.118930] clocksource: tsc-early: mask: 0xffffffffffffffff max_cycles: 0x1e71768ef8b, max_idle_ns: 440795218977 ns
+[ 0.118934] Calibrating delay loop (skipped) preset value.. 4223.99 BogoMIPS (lpj=2111998)
+[ 0.118935] pid_max: default: 32768 minimum: 301
+[ 0.118954] LSM: Security Framework initializing
+[ 0.118961] Yama: becoming mindful.
+[ 0.118965] SELinux: Initializing.
+[ 0.118975] *** VALIDATE SELinux ***
+[ 0.118985] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
+[ 0.118988] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
+[ 0.118997] *** VALIDATE tmpfs ***
+[ 0.119125] *** VALIDATE proc ***
+[ 0.119153] *** VALIDATE cgroup1 ***
+[ 0.119154] *** VALIDATE cgroup2 ***
+[ 0.119222] x86/cpu: User Mode Instruction Prevention (UMIP) activated
+[ 0.119263] Last level iTLB entries: 4KB 0, 2MB 0, 4MB 0
+[ 0.119264] Last level dTLB entries: 4KB 0, 2MB 0, 4MB 0, 1GB 0
+[ 0.119265] Spectre V1 : Mitigation: usercopy/swapgs barriers and __user pointer sanitization
+[ 0.119266] Spectre V2 : Mitigation: Full generic retpoline
+[ 0.119266] Spectre V2 : Spectre v2 / SpectreRSB mitigation: Filling RSB on context switch
+[ 0.119267] Spectre V2 : Enabling Restricted Speculation for firmware calls
+[ 0.119268] Spectre V2 : mitigation: Enabling conditional Indirect Branch Prediction Barrier
+[ 0.119269] Speculative Store Bypass: Mitigation: Speculative Store Bypass disabled via prctl and seccomp
+[ 0.119270] MDS: Mitigation: Clear CPU buffers
+[ 0.119932] Freeing SMP alternatives memory: 36K
+[ 0.119932] TSC deadline timer enabled
+[ 0.119932] smpboot: CPU0: Intel Core Processor (Skylake, IBRS) (family: 0x6, model: 0x5e, stepping: 0x3)
+[ 0.119932] Performance Events: unsupported p6 CPU model 94 no PMU driver, software events only.
+[ 0.119932] rcu: Hierarchical SRCU implementation.
+[ 0.119932] NMI watchdog: Perf NMI watchdog permanently disabled
+[ 0.119932] smp: Bringing up secondary CPUs ...
+[ 0.119932] smp: Brought up 1 node, 1 CPU
+[ 0.119932] smpboot: Max logical packages: 1
+[ 0.119932] smpboot: Total of 1 processors activated (4223.99 BogoMIPS)
+[ 0.119932] devtmpfs: initialized
+[ 0.119932] x86/mm: Memory block size: 128MB
+[ 0.119932] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns
+[ 0.119932] futex hash table entries: 256 (order: 2, 16384 bytes, linear)
+[ 0.119932] pinctrl core: initialized pinctrl subsystem
+[ 0.119932] PM: RTC time: 14:31:21, date: 2019-11-08
+[ 0.119932] NET: Registered protocol family 16
+[ 0.119938] audit: initializing netlink subsys (disabled)
+[ 0.119994] cpuidle: using governor menu
+[ 0.120041] ACPI: bus type PCI registered
+[ 0.120042] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
+[ 0.120104] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xb0000000-0xbfffffff] (base 0xb0000000)
+[ 0.120105] PCI: MMCONFIG at [mem 0xb0000000-0xbfffffff] reserved in E820
+[ 0.120110] PCI: Using configuration type 1 for base access
+[ 0.121057] audit: type=2000 audit(1573223481.791:1): state=initialized audit_enabled=0 res=1
+[ 0.121095] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
+[ 0.121095] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
+[ 0.210799] cryptd: max_cpu_qlen set to 1000
+[ 0.211575] alg: No test for 842 (842-generic)
+[ 0.211608] alg: No test for 842 (842-scomp)
+[ 0.213268] ACPI: Added _OSI(Module Device)
+[ 0.213269] ACPI: Added _OSI(Processor Device)
+[ 0.213269] ACPI: Added _OSI(3.0 _SCP Extensions)
+[ 0.213270] ACPI: Added _OSI(Processor Aggregator Device)
+[ 0.213270] ACPI: Added _OSI(Linux-Dell-Video)
+[ 0.213271] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
+[ 0.213271] ACPI: Added _OSI(Linux-HPI-Hybrid-Graphics)
+[ 0.213837] ACPI: 1 ACPI AML tables successfully acquired and loaded
+[ 0.214227] ACPI: Interpreter enabled
+[ 0.214232] ACPI: (supports S0 S5)
+[ 0.214233] ACPI: Using IOAPIC for interrupt routing
+[ 0.214243] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
+[ 0.214291] ACPI: Enabled 1 GPEs in block 00 to 3F
+[ 0.215271] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
+[ 0.215274] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI HPX-Type3]
+[ 0.215314] acpi PNP0A08:00: _OSC: platform does not support [LTR]
+[ 0.215344] acpi PNP0A08:00: _OSC: OS now controls [PCIeHotplug SHPCHotplug PME AER PCIeCapability]
+[ 0.215406] PCI host bridge to bus 0000:00
+[ 0.215407] pci_bus 0000:00: root bus resource [io 0x0000-0x0cf7 window]
+[ 0.215408] pci_bus 0000:00: root bus resource [io 0x0d00-0xffff window]
+[ 0.215408] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window]
+[ 0.215409] pci_bus 0000:00: root bus resource [mem 0xc0000000-0xfebfffff window]
+[ 0.215409] pci_bus 0000:00: root bus resource [mem 0x100000000-0x8ffffffff window]
+[ 0.215410] pci_bus 0000:00: root bus resource [bus 00-ff]
+[ 0.215436] pci 0000:00:00.0: [8086:29c0] type 00 class 0x060000
+[ 0.215739] pci 0000:00:01.0: [1b36:0100] type 00 class 0x030000
+[ 0.216940] pci 0000:00:01.0: reg 0x10: [mem 0xf4000000-0xf7ffffff]
+[ 0.218940] pci 0000:00:01.0: reg 0x14: [mem 0xf8000000-0xfbffffff]
+[ 0.220941] pci 0000:00:01.0: reg 0x18: [mem 0xfce14000-0xfce15fff]
+[ 0.223940] pci 0000:00:01.0: reg 0x1c: [io 0xc040-0xc05f]
+[ 0.228941] pci 0000:00:01.0: reg 0x30: [mem 0xfce00000-0xfce0ffff pref]
+[ 0.229114] pci 0000:00:02.0: [1b36:000c] type 01 class 0x060400
+[ 0.230936] pci 0000:00:02.0: reg 0x10: [mem 0xfce16000-0xfce16fff]
+[ 0.234290] pci 0000:00:02.1: [1b36:000c] type 01 class 0x060400
+[ 0.235345] pci 0000:00:02.1: reg 0x10: [mem 0xfce17000-0xfce17fff]
+[ 0.238046] pci 0000:00:02.2: [1b36:000c] type 01 class 0x060400
+[ 0.239436] pci 0000:00:02.2: reg 0x10: [mem 0xfce18000-0xfce18fff]
+[ 0.242001] pci 0000:00:02.3: [1b36:000c] type 01 class 0x060400
+[ 0.243616] pci 0000:00:02.3: reg 0x10: [mem 0xfce19000-0xfce19fff]
+[ 0.247270] pci 0000:00:02.4: [1b36:000c] type 01 class 0x060400
+[ 0.248373] pci 0000:00:02.4: reg 0x10: [mem 0xfce1a000-0xfce1afff]
+[ 0.250877] pci 0000:00:02.5: [1b36:000c] type 01 class 0x060400
+[ 0.251936] pci 0000:00:02.5: reg 0x10: [mem 0xfce1b000-0xfce1bfff]
+[ 0.254286] pci 0000:00:02.6: [1b36:000c] type 01 class 0x060400
+[ 0.255510] pci 0000:00:02.6: reg 0x10: [mem 0xfce1c000-0xfce1cfff]
+[ 0.259390] pci 0000:00:1b.0: [8086:293e] type 00 class 0x040300
+[ 0.259936] pci 0000:00:1b.0: reg 0x10: [mem 0xfce10000-0xfce13fff]
+[ 0.262592] pci 0000:00:1f.0: [8086:2918] type 00 class 0x060100
+[ 0.262850] pci 0000:00:1f.0: quirk: [io 0x0600-0x067f] claimed by ICH6 ACPI/GPIO/TCO
+[ 0.262971] pci 0000:00:1f.2: [8086:2922] type 00 class 0x010601
+[ 0.266338] pci 0000:00:1f.2: reg 0x20: [io 0xc060-0xc07f]
+[ 0.266936] pci 0000:00:1f.2: reg 0x24: [mem 0xfce1d000-0xfce1dfff]
+[ 0.268947] pci 0000:00:1f.3: [8086:2930] type 00 class 0x0c0500
+[ 0.270936] pci 0000:00:1f.3: reg 0x20: [io 0x0700-0x073f]
+[ 0.272090] pci 0000:01:00.0: [1af4:1041] type 00 class 0x020000
+[ 0.273678] pci 0000:01:00.0: reg 0x14: [mem 0xfcc40000-0xfcc40fff]
+[ 0.275747] pci 0000:01:00.0: reg 0x20: [mem 0xfea00000-0xfea03fff 64bit pref]
+[ 0.276342] pci 0000:01:00.0: reg 0x30: [mem 0xfcc00000-0xfcc3ffff pref]
+[ 0.276936] pci 0000:00:02.0: PCI bridge to [bus 01]
+[ 0.276954] pci 0000:00:02.0: bridge window [mem 0xfcc00000-0xfcdfffff]
+[ 0.276971] pci 0000:00:02.0: bridge window [mem 0xfea00000-0xfebfffff 64bit pref]
+[ 0.277621] pci 0000:02:00.0: [1b36:000d] type 00 class 0x0c0330
+[ 0.277936] pci 0000:02:00.0: reg 0x10: [mem 0xfca00000-0xfca03fff 64bit]
+[ 0.281612] pci 0000:00:02.1: PCI bridge to [bus 02]
+[ 0.281661] pci 0000:00:02.1: bridge window [mem 0xfca00000-0xfcbfffff]
+[ 0.281685] pci 0000:00:02.1: bridge window [mem 0xfe800000-0xfe9fffff 64bit pref]
+[ 0.282646] pci 0000:03:00.0: [1af4:1043] type 00 class 0x078000
+[ 0.283936] pci 0000:03:00.0: reg 0x14: [mem 0xfc800000-0xfc800fff]
+[ 0.285939] pci 0000:03:00.0: reg 0x20: [mem 0xfe600000-0xfe603fff 64bit pref]
+[ 0.287489] pci 0000:00:02.2: PCI bridge to [bus 03]
+[ 0.287508] pci 0000:00:02.2: bridge window [mem 0xfc800000-0xfc9fffff]
+[ 0.287526] pci 0000:00:02.2: bridge window [mem 0xfe600000-0xfe7fffff 64bit pref]
+[ 0.288098] pci 0000:04:00.0: [1af4:1042] type 00 class 0x010000
+[ 0.290937] pci 0000:04:00.0: reg 0x14: [mem 0xfc600000-0xfc600fff]
+[ 0.292938] pci 0000:04:00.0: reg 0x20: [mem 0xfe400000-0xfe403fff 64bit pref]
+[ 0.294520] pci 0000:00:02.3: PCI bridge to [bus 04]
+[ 0.294538] pci 0000:00:02.3: bridge window [mem 0xfc600000-0xfc7fffff]
+[ 0.294555] pci 0000:00:02.3: bridge window [mem 0xfe400000-0xfe5fffff 64bit pref]
+[ 0.295087] pci 0000:05:00.0: [1af4:1045] type 00 class 0x00ff00
+[ 0.297156] pci 0000:05:00.0: reg 0x20: [mem 0xfe200000-0xfe203fff 64bit pref]
+[ 0.298113] pci 0000:00:02.4: PCI bridge to [bus 05]
+[ 0.298130] pci 0000:00:02.4: bridge window [mem 0xfc400000-0xfc5fffff]
+[ 0.298148] pci 0000:00:02.4: bridge window [mem 0xfe200000-0xfe3fffff 64bit pref]
+[ 0.299869] pci 0000:06:00.0: [1af4:1044] type 00 class 0x00ff00
+[ 0.301936] pci 0000:06:00.0: reg 0x20: [mem 0xfe000000-0xfe003fff 64bit pref]
+[ 0.303141] pci 0000:00:02.5: PCI bridge to [bus 06]
+[ 0.303159] pci 0000:00:02.5: bridge window [mem 0xfc200000-0xfc3fffff]
+[ 0.303176] pci 0000:00:02.5: bridge window [mem 0xfe000000-0xfe1fffff 64bit pref]
+[ 0.303751] pci 0000:00:02.6: PCI bridge to [bus 07]
+[ 0.303768] pci 0000:00:02.6: bridge window [mem 0xfc000000-0xfc1fffff]
+[ 0.303786] pci 0000:00:02.6: bridge window [mem 0xfde00000-0xfdffffff 64bit pref]
+[ 0.307150] ACPI: PCI Interrupt Link [LNKA] (IRQs 5 *10 11)
+[ 0.307195] ACPI: PCI Interrupt Link [LNKB] (IRQs 5 *10 11)
+[ 0.307236] ACPI: PCI Interrupt Link [LNKC] (IRQs 5 10 *11)
+[ 0.307277] ACPI: PCI Interrupt Link [LNKD] (IRQs 5 10 *11)
+[ 0.307317] ACPI: PCI Interrupt Link [LNKE] (IRQs 5 *10 11)
+[ 0.307358] ACPI: PCI Interrupt Link [LNKF] (IRQs 5 *10 11)
+[ 0.307398] ACPI: PCI Interrupt Link [LNKG] (IRQs 5 10 *11)
+[ 0.307438] ACPI: PCI Interrupt Link [LNKH] (IRQs 5 10 *11)
+[ 0.307462] ACPI: PCI Interrupt Link [GSIA] (IRQs *16)
+[ 0.307467] ACPI: PCI Interrupt Link [GSIB] (IRQs *17)
+[ 0.307496] ACPI: PCI Interrupt Link [GSIC] (IRQs *18)
+[ 0.307501] ACPI: PCI Interrupt Link [GSID] (IRQs *19)
+[ 0.307505] ACPI: PCI Interrupt Link [GSIE] (IRQs *20)
+[ 0.307510] ACPI: PCI Interrupt Link [GSIF] (IRQs *21)
+[ 0.307532] ACPI: PCI Interrupt Link [GSIG] (IRQs *22)
+[ 0.307536] ACPI: PCI Interrupt Link [GSIH] (IRQs *23)
+[ 0.307658] iommu: Default domain type: Translated
+[ 0.307685] pci 0000:00:01.0: vgaarb: setting as boot VGA device
+[ 0.307687] pci 0000:00:01.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none
+[ 0.307688] pci 0000:00:01.0: vgaarb: bridge control possible
+[ 0.307689] vgaarb: loaded
+[ 0.307738] SCSI subsystem initialized
+[ 0.307756] libata version 3.00 loaded.
+[ 0.307766] ACPI: bus type USB registered
+[ 0.307775] usbcore: registered new interface driver usbfs
+[ 0.307779] usbcore: registered new interface driver hub
+[ 0.307782] usbcore: registered new device driver usb
+[ 0.307797] pps_core: LinuxPPS API ver. 1 registered
+[ 0.307797] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
+[ 0.307798] PTP clock support registered
+[ 0.307814] EDAC MC: Ver: 3.0.0
+[ 0.308062] PCI: Using ACPI for IRQ routing
+[ 0.344837] PCI: pci_cache_line_size set to 64 bytes
+[ 0.345079] e820: reserve RAM buffer [mem 0x0009fc00-0x0009ffff]
+[ 0.345080] e820: reserve RAM buffer [mem 0x7ffdd000-0x7fffffff]
+[ 0.345148] NetLabel: Initializing
+[ 0.345149] NetLabel: domain hash size = 128
+[ 0.345149] NetLabel: protocols = UNLABELED CIPSOv4 CALIPSO
+[ 0.345157] NetLabel: unlabeled traffic allowed by default
+[ 0.345225] clocksource: Switched to clocksource kvm-clock
+[ 0.353506] *** VALIDATE bpf ***
+[ 0.353539] VFS: Disk quotas dquot_6.6.0
+[ 0.353546] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
+[ 0.353558] *** VALIDATE ramfs ***
+[ 0.353559] *** VALIDATE hugetlbfs ***
+[ 0.353573] pnp: PnP ACPI init
+[ 0.353606] pnp 00:00: Plug and Play ACPI device, IDs PNP0b00 (active)
+[ 0.353623] pnp 00:01: Plug and Play ACPI device, IDs PNP0303 (active)
+[ 0.353634] pnp 00:02: Plug and Play ACPI device, IDs PNP0f13 (active)
+[ 0.353678] pnp 00:03: Plug and Play ACPI device, IDs PNP0501 (active)
+[ 0.353813] pnp: PnP ACPI: found 4 devices
+[ 0.354355] thermal_sys: Registered thermal governor 'fair_share'
+[ 0.354356] thermal_sys: Registered thermal governor 'bang_bang'
+[ 0.354356] thermal_sys: Registered thermal governor 'step_wise'
+[ 0.354356] thermal_sys: Registered thermal governor 'user_space'
+[ 0.358973] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns
+[ 0.359006] pci 0000:00:02.0: bridge window [io 0x1000-0x0fff] to [bus 01] add_size 1000
+[ 0.359008] pci 0000:00:02.1: bridge window [io 0x1000-0x0fff] to [bus 02] add_size 1000
+[ 0.359009] pci 0000:00:02.2: bridge window [io 0x1000-0x0fff] to [bus 03] add_size 1000
+[ 0.359015] pci 0000:00:02.3: bridge window [io 0x1000-0x0fff] to [bus 04] add_size 1000
+[ 0.359036] pci 0000:00:02.4: bridge window [io 0x1000-0x0fff] to [bus 05] add_size 1000
+[ 0.359038] pci 0000:00:02.5: bridge window [io 0x1000-0x0fff] to [bus 06] add_size 1000
+[ 0.359038] pci 0000:00:02.6: bridge window [io 0x1000-0x0fff] to [bus 07] add_size 1000
+[ 0.359044] pci 0000:00:02.0: BAR 13: assigned [io 0x1000-0x1fff]
+[ 0.359045] pci 0000:00:02.1: BAR 13: assigned [io 0x2000-0x2fff]
+[ 0.359046] pci 0000:00:02.2: BAR 13: assigned [io 0x3000-0x3fff]
+[ 0.359047] pci 0000:00:02.3: BAR 13: assigned [io 0x4000-0x4fff]
+[ 0.359047] pci 0000:00:02.4: BAR 13: assigned [io 0x5000-0x5fff]
+[ 0.359048] pci 0000:00:02.5: BAR 13: assigned [io 0x6000-0x6fff]
+[ 0.359049] pci 0000:00:02.6: BAR 13: assigned [io 0x7000-0x7fff]
+[ 0.359051] pci 0000:00:02.0: PCI bridge to [bus 01]
+[ 0.359059] pci 0000:00:02.0: bridge window [io 0x1000-0x1fff]
+[ 0.359977] pci 0000:00:02.0: bridge window [mem 0xfcc00000-0xfcdfffff]
+[ 0.361119] pci 0000:00:02.0: bridge window [mem 0xfea00000-0xfebfffff 64bit pref]
+[ 0.362046] pci 0000:00:02.1: PCI bridge to [bus 02]
+[ 0.362053] pci 0000:00:02.1: bridge window [io 0x2000-0x2fff]
+[ 0.362785] pci 0000:00:02.1: bridge window [mem 0xfca00000-0xfcbfffff]
+[ 0.363252] pci 0000:00:02.1: bridge window [mem 0xfe800000-0xfe9fffff 64bit pref]
+[ 0.364160] pci 0000:00:02.2: PCI bridge to [bus 03]
+[ 0.364167] pci 0000:00:02.2: bridge window [io 0x3000-0x3fff]
+[ 0.364838] pci 0000:00:02.2: bridge window [mem 0xfc800000-0xfc9fffff]
+[ 0.365300] pci 0000:00:02.2: bridge window [mem 0xfe600000-0xfe7fffff 64bit pref]
+[ 0.366254] pci 0000:00:02.3: PCI bridge to [bus 04]
+[ 0.366261] pci 0000:00:02.3: bridge window [io 0x4000-0x4fff]
+[ 0.366947] pci 0000:00:02.3: bridge window [mem 0xfc600000-0xfc7fffff]
+[ 0.367442] pci 0000:00:02.3: bridge window [mem 0xfe400000-0xfe5fffff 64bit pref]
+[ 0.368392] pci 0000:00:02.4: PCI bridge to [bus 05]
+[ 0.368399] pci 0000:00:02.4: bridge window [io 0x5000-0x5fff]
+[ 0.369117] pci 0000:00:02.4: bridge window [mem 0xfc400000-0xfc5fffff]
+[ 0.369583] pci 0000:00:02.4: bridge window [mem 0xfe200000-0xfe3fffff 64bit pref]
+[ 0.370550] pci 0000:00:02.5: PCI bridge to [bus 06]
+[ 0.370556] pci 0000:00:02.5: bridge window [io 0x6000-0x6fff]
+[ 0.371321] pci 0000:00:02.5: bridge window [mem 0xfc200000-0xfc3fffff]
+[ 0.371796] pci 0000:00:02.5: bridge window [mem 0xfe000000-0xfe1fffff 64bit pref]
+[ 0.372756] pci 0000:00:02.6: PCI bridge to [bus 07]
+[ 0.372763] pci 0000:00:02.6: bridge window [io 0x7000-0x7fff]
+[ 0.373913] pci 0000:00:02.6: bridge window [mem 0xfc000000-0xfc1fffff]
+[ 0.374715] pci 0000:00:02.6: bridge window [mem 0xfde00000-0xfdffffff 64bit pref]
+[ 0.376297] pci_bus 0000:00: resource 4 [io 0x0000-0x0cf7 window]
+[ 0.376298] pci_bus 0000:00: resource 5 [io 0x0d00-0xffff window]
+[ 0.376298] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff window]
+[ 0.376299] pci_bus 0000:00: resource 7 [mem 0xc0000000-0xfebfffff window]
+[ 0.376300] pci_bus 0000:00: resource 8 [mem 0x100000000-0x8ffffffff window]
+[ 0.376301] pci_bus 0000:01: resource 0 [io 0x1000-0x1fff]
+[ 0.376301] pci_bus 0000:01: resource 1 [mem 0xfcc00000-0xfcdfffff]
+[ 0.376302] pci_bus 0000:01: resource 2 [mem 0xfea00000-0xfebfffff 64bit pref]
+[ 0.376302] pci_bus 0000:02: resource 0 [io 0x2000-0x2fff]
+[ 0.376303] pci_bus 0000:02: resource 1 [mem 0xfca00000-0xfcbfffff]
+[ 0.376303] pci_bus 0000:02: resource 2 [mem 0xfe800000-0xfe9fffff 64bit pref]
+[ 0.376304] pci_bus 0000:03: resource 0 [io 0x3000-0x3fff]
+[ 0.376305] pci_bus 0000:03: resource 1 [mem 0xfc800000-0xfc9fffff]
+[ 0.376305] pci_bus 0000:03: resource 2 [mem 0xfe600000-0xfe7fffff 64bit pref]
+[ 0.376306] pci_bus 0000:04: resource 0 [io 0x4000-0x4fff]
+[ 0.376306] pci_bus 0000:04: resource 1 [mem 0xfc600000-0xfc7fffff]
+[ 0.376307] pci_bus 0000:04: resource 2 [mem 0xfe400000-0xfe5fffff 64bit pref]
+[ 0.376307] pci_bus 0000:05: resource 0 [io 0x5000-0x5fff]
+[ 0.376308] pci_bus 0000:05: resource 1 [mem 0xfc400000-0xfc5fffff]
+[ 0.376308] pci_bus 0000:05: resource 2 [mem 0xfe200000-0xfe3fffff 64bit pref]
+[ 0.376309] pci_bus 0000:06: resource 0 [io 0x6000-0x6fff]
+[ 0.376310] pci_bus 0000:06: resource 1 [mem 0xfc200000-0xfc3fffff]
+[ 0.376310] pci_bus 0000:06: resource 2 [mem 0xfe000000-0xfe1fffff 64bit pref]
+[ 0.376311] pci_bus 0000:07: resource 0 [io 0x7000-0x7fff]
+[ 0.376311] pci_bus 0000:07: resource 1 [mem 0xfc000000-0xfc1fffff]
+[ 0.376312] pci_bus 0000:07: resource 2 [mem 0xfde00000-0xfdffffff 64bit pref]
+[ 0.376350] NET: Registered protocol family 2
+[ 0.376456] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear)
+[ 0.376459] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear)
+[ 0.376470] TCP bind hash table entries: 16384 (order: 6, 262144 bytes, linear)
+[ 0.376490] TCP: Hash tables configured (established 16384 bind 16384)
+[ 0.376512] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear)
+[ 0.376515] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear)
+[ 0.376537] NET: Registered protocol family 1
+[ 0.376539] NET: Registered protocol family 44
+[ 0.377450] pci 0000:00:01.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff]
+[ 0.378864] PCI Interrupt Link [GSIG] enabled at IRQ 22
+[ 0.379960] PCI: CLS 0 bytes, default 64
+[ 0.379988] Trying to unpack rootfs image as initramfs...
+[ 0.591278] Freeing initrd memory: 21220K
+[ 0.591343] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x1e71768ef8b, max_idle_ns: 440795218977 ns
+[ 0.591579] Initialise system trusted keyrings
+[ 0.591585] Key type blacklist registered
+[ 0.591610] workingset: timestamp_bits=36 max_order=19 bucket_order=0
+[ 0.592467] zbud: loaded
+[ 0.592832] Platform Keyring initialized
+[ 0.595801] NET: Registered protocol family 38
+[ 0.595803] Key type asymmetric registered
+[ 0.595803] Asymmetric key parser 'x509' registered
+[ 0.595808] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
+[ 0.595825] io scheduler mq-deadline registered
+[ 0.595826] io scheduler kyber registered
+[ 0.595842] io scheduler bfq registered
+[ 0.595866] atomic64_test: passed for x86-64 platform with CX8 and with SSE
+[ 0.597601] pcieport 0000:00:02.0: PME: Signaling with IRQ 24
+[ 0.597843] pcieport 0000:00:02.0: AER: enabled with IRQ 24
+[ 0.597885] pcieport 0000:00:02.0: pciehp: Slot #0 AttnBtn+ PwrCtrl+ MRL- AttnInd+ PwrInd+ HotPlug+ Surprise+ Interlock+ NoCompl- LLActRep-
+[ 0.598983] pcieport 0000:00:02.1: PME: Signaling with IRQ 25
+[ 0.599148] pcieport 0000:00:02.1: AER: enabled with IRQ 25
+[ 0.599180] pcieport 0000:00:02.1: pciehp: Slot #0 AttnBtn+ PwrCtrl+ MRL- AttnInd+ PwrInd+ HotPlug+ Surprise+ Interlock+ NoCompl- LLActRep-
+[ 0.600861] pcieport 0000:00:02.2: PME: Signaling with IRQ 26
+[ 0.600970] pcieport 0000:00:02.2: AER: enabled with IRQ 26
+[ 0.601004] pcieport 0000:00:02.2: pciehp: Slot #0 AttnBtn+ PwrCtrl+ MRL- AttnInd+ PwrInd+ HotPlug+ Surprise+ Interlock+ NoCompl- LLActRep-
+[ 0.602791] pcieport 0000:00:02.3: PME: Signaling with IRQ 27
+[ 0.602895] pcieport 0000:00:02.3: AER: enabled with IRQ 27
+[ 0.602926] pcieport 0000:00:02.3: pciehp: Slot #0 AttnBtn+ PwrCtrl+ MRL- AttnInd+ PwrInd+ HotPlug+ Surprise+ Interlock+ NoCompl- LLActRep-
+[ 0.604621] pcieport 0000:00:02.4: PME: Signaling with IRQ 28
+[ 0.604726] pcieport 0000:00:02.4: AER: enabled with IRQ 28
+[ 0.604761] pcieport 0000:00:02.4: pciehp: Slot #0 AttnBtn+ PwrCtrl+ MRL- AttnInd+ PwrInd+ HotPlug+ Surprise+ Interlock+ NoCompl- LLActRep-
+[ 0.607137] pcieport 0000:00:02.5: PME: Signaling with IRQ 29
+[ 0.607252] pcieport 0000:00:02.5: AER: enabled with IRQ 29
+[ 0.607284] pcieport 0000:00:02.5: pciehp: Slot #0 AttnBtn+ PwrCtrl+ MRL- AttnInd+ PwrInd+ HotPlug+ Surprise+ Interlock+ NoCompl- LLActRep-
+[ 0.608575] pcieport 0000:00:02.6: PME: Signaling with IRQ 30
+[ 0.608677] pcieport 0000:00:02.6: AER: enabled with IRQ 30
+[ 0.608709] pcieport 0000:00:02.6: pciehp: Slot #0 AttnBtn+ PwrCtrl+ MRL- AttnInd+ PwrInd+ HotPlug+ Surprise+ Interlock+ NoCompl- LLActRep-
+[ 0.608791] pcieport 0000:00:02.6: pciehp: Slot(0-6): Link Up
+[ 0.609037] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
+[ 0.609049] intel_idle: Please enable MWAIT in BIOS SETUP
+[ 0.609088] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input0
+[ 0.609109] ACPI: Power Button [PWRF]
+[ 0.613469] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled
+[ 0.636481] 00:03: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
+[ 0.637422] Non-volatile memory driver v1.3
+[ 0.637933] Linux agpgart interface v0.103
+[ 0.638189] ahci 0000:00:1f.2: version 3.0
+[ 0.638330] PCI Interrupt Link [GSIA] enabled at IRQ 16
+[ 0.638752] ahci 0000:00:1f.2: AHCI 0001.0000 32 slots 6 ports 1.5 Gbps 0x3f impl SATA mode
+[ 0.638753] ahci 0000:00:1f.2: flags: 64bit ncq only
+[ 0.639417] scsi host0: ahci
+[ 0.639517] scsi host1: ahci
+[ 0.639555] scsi host2: ahci
+[ 0.639657] scsi host3: ahci
+[ 0.639712] scsi host4: ahci
+[ 0.639745] scsi host5: ahci
+[ 0.639771] ata1: SATA max UDMA/133 abar m4096@0xfce1d000 port 0xfce1d100 irq 31
+[ 0.639776] ata2: SATA max UDMA/133 abar m4096@0xfce1d000 port 0xfce1d180 irq 31
+[ 0.639781] ata3: SATA max UDMA/133 abar m4096@0xfce1d000 port 0xfce1d200 irq 31
+[ 0.639785] ata4: SATA max UDMA/133 abar m4096@0xfce1d000 port 0xfce1d280 irq 31
+[ 0.639790] ata5: SATA max UDMA/133 abar m4096@0xfce1d000 port 0xfce1d300 irq 31
+[ 0.639794] ata6: SATA max UDMA/133 abar m4096@0xfce1d000 port 0xfce1d380 irq 31
+[ 0.639839] libphy: Fixed MDIO Bus: probed
+[ 0.639920] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
+[ 0.639923] ehci-pci: EHCI PCI platform driver
+[ 0.639928] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
+[ 0.639929] ohci-pci: OHCI PCI platform driver
+[ 0.639940] uhci_hcd: USB Universal Host Controller Interface driver
+[ 0.640433] xhci_hcd 0000:02:00.0: xHCI Host Controller
+[ 0.640465] xhci_hcd 0000:02:00.0: new USB bus registered, assigned bus number 1
+[ 0.640694] xhci_hcd 0000:02:00.0: hcc params 0x00087001 hci version 0x100 quirks 0x0000000000000010
+[ 0.641149] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04
+[ 0.641150] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
+[ 0.641151] usb usb1: Product: xHCI Host Controller
+[ 0.641151] usb usb1: Manufacturer: Linux 5.4.0-0.rc6.git0.1.fc32.x86_64 xhci-hcd
+[ 0.641152] usb usb1: SerialNumber: 0000:02:00.0
+[ 0.641200] hub 1-0:1.0: USB hub found
+[ 0.641267] hub 1-0:1.0: 15 ports detected
+[ 0.641710] xhci_hcd 0000:02:00.0: xHCI Host Controller
+[ 0.641725] xhci_hcd 0000:02:00.0: new USB bus registered, assigned bus number 2
+[ 0.641726] xhci_hcd 0000:02:00.0: Host supports USB 3.0 SuperSpeed
+[ 0.641753] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
+[ 0.641764] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.04
+[ 0.641765] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
+[ 0.641765] usb usb2: Product: xHCI Host Controller
+[ 0.641766] usb usb2: Manufacturer: Linux 5.4.0-0.rc6.git0.1.fc32.x86_64 xhci-hcd
+[ 0.641766] usb usb2: SerialNumber: 0000:02:00.0
+[ 0.641803] hub 2-0:1.0: USB hub found
+[ 0.641869] hub 2-0:1.0: 15 ports detected
+[ 0.642355] usbcore: registered new interface driver usbserial_generic
+[ 0.642358] usbserial: USB Serial support registered for generic
+[ 0.642371] i8042: PNP: PS/2 Controller [PNP0303:KBD,PNP0f13:MOU] at 0x60,0x64 irq 1,12
+[ 0.642968] serio: i8042 KBD port at 0x60,0x64 irq 1
+[ 0.642969] serio: i8042 AUX port at 0x60,0x64 irq 12
+[ 0.643019] mousedev: PS/2 mouse device common for all mice
+[ 0.643118] rtc_cmos 00:00: RTC can wake from S4
+[ 0.643588] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input1
+[ 0.645057] rtc_cmos 00:00: registered as rtc0
+[ 0.645058] rtc_cmos 00:00: alarms up to one day, y3k, 114 bytes nvram
+[ 0.645102] device-mapper: uevent: version 1.0.3
+[ 0.645140] device-mapper: ioctl: 4.41.0-ioctl (2019-09-16) initialised: dm-devel@redhat.com
+[ 0.645206] intel_pstate: CPU model not supported
+[ 0.645241] hidraw: raw HID events driver (C) Jiri Kosina
+[ 0.645257] usbcore: registered new interface driver usbhid
+[ 0.645258] usbhid: USB HID core driver
+[ 0.645343] intel_pmc_core intel_pmc_core.0: initialized
+[ 0.645356] drop_monitor: Initializing network drop monitor service
+[ 0.645391] Initializing XFRM netlink socket
+[ 0.645490] NET: Registered protocol family 10
+[ 0.648522] Segment Routing with IPv6
+[ 0.648533] mip6: Mobile IPv6
+[ 0.648534] NET: Registered protocol family 17
+[ 0.648627] RAS: Correctable Errors collector initialized.
+[ 0.648630] IPI shorthand broadcast: enabled
+[ 0.648633] AVX2 version of gcm_enc/dec engaged.
+[ 0.648633] AES CTR mode by8 optimization enabled
+[ 0.671118] sched_clock: Marking stable (654161403, 16772643)->(701952203, -31018157)
+[ 0.671161] registered taskstats version 1
+[ 0.671167] Loading compiled-in X.509 certificates
+[ 0.693183] Loaded X.509 cert 'Fedora kernel signing key: 6e19170644f02701f3b8993a7977753745be86e5'
+[ 0.693200] zswap: loaded using pool lzo/zbud
+[ 0.693275] Key type ._fscrypt registered
+[ 0.693275] Key type .fscrypt registered
+[ 0.697821] Key type big_key registered
+[ 0.699869] Key type encrypted registered
+[ 0.699873] ima: No TPM chip found, activating TPM-bypass!
+[ 0.699876] ima: Allocated hash algorithm: sha256
+[ 0.699880] ima: No architecture policies found
+[ 0.700055] PM: Magic number: 11:593:535
+[ 0.700066] tty ttyS15: hash matches
+[ 0.700146] rtc_cmos 00:00: setting system clock to 2019-11-08T14:31:22 UTC (1573223482)
+[ 0.953646] ata1: SATA link down (SStatus 0 SControl 300)
+[ 0.959656] ata5: SATA link down (SStatus 0 SControl 300)
+[ 0.960198] ata3: SATA link down (SStatus 0 SControl 300)
+[ 0.960660] ata4: SATA link down (SStatus 0 SControl 300)
+[ 0.961154] ata6: SATA link down (SStatus 0 SControl 300)
+[ 0.961608] ata2: SATA link down (SStatus 0 SControl 300)
+[ 0.964083] usb 1-1: new high-speed USB device number 2 using xhci_hcd
+[ 1.093611] usb 1-1: New USB device found, idVendor=0627, idProduct=0001, bcdDevice= 0.00
+[ 1.093618] usb 1-1: New USB device strings: Mfr=1, Product=3, SerialNumber=5
+[ 1.093620] usb 1-1: Product: QEMU USB Tablet
+[ 1.093623] usb 1-1: Manufacturer: QEMU
+[ 1.093625] usb 1-1: SerialNumber: 42
+[ 1.096066] input: QEMU QEMU USB Tablet as /devices/pci0000:00/0000:00:02.1/0000:02:00.0/usb1/1-1/1-1:1.0/0003:0627:0001.0001/input/input4
+[ 1.096234] hid-generic 0003:0627:0001.0001: input,hidraw0: USB HID v0.01 Mouse [QEMU QEMU USB Tablet] on usb-0000:02:00.0-1/input0
+[ 1.500584] input: ImExPS/2 Generic Explorer Mouse as /devices/platform/i8042/serio1/input/input3
+[ 1.503077] Freeing unused decrypted memory: 2040K
+[ 1.504041] Freeing unused kernel image memory: 2452K
+[ 1.504109] Write protecting the kernel read-only data: 22528k
+[ 1.505180] Freeing unused kernel image memory: 2016K
+[ 1.505848] Freeing unused kernel image memory: 1440K
+[ 1.527693] x86/mm: Checked W+X mappings: passed, no W+X pages found.
+[ 1.527700] rodata_test: all tests were successful
+[ 1.527702] x86/mm: Checking user space page tables
+[ 1.538055] x86/mm: Checked W+X mappings: passed, no W+X pages found.
+[ 1.538059] Run /init as init process
+[ 1.544407] systemd[1]: systemd v243-4.gitef67743.fc32 running in system mode. (+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=unified)
+[ 1.544434] systemd[1]: Detected virtualization kvm.
+[ 1.544437] systemd[1]: Detected architecture x86-64.
+[ 1.544439] systemd[1]: Running in initial RAM disk.
+[ 1.544453] systemd[1]: Set hostname to <localhost.localdomain>.
+[ 1.591580] systemd[1]: Created slice system-systemd\x2dhibernate\x2dresume.slice.
+[ 1.591657] systemd[1]: Reached target Slices.
+[ 1.591665] systemd[1]: Reached target Swap.
+[ 1.591670] systemd[1]: Reached target Timers.
+[ 1.591786] systemd[1]: Listening on Journal Audit Socket.
+[ 1.964013] audit: type=1130 audit(1573223483.763:2): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=systemd-journald comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
+[ 1.978948] audit: type=1130 audit(1573223483.775:3): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=dracut-cmdline comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
+[ 2.144117] audit: type=1130 audit(1573223483.940:4): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=systemd-udevd comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
+[ 2.202029] audit: type=1130 audit(1573223484.000:5): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=systemd-udev-trigger comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
+[ 2.218204] audit: type=1130 audit(1573223484.017:6): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=plymouth-start comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
+[ 2.272301] virtio_blk virtio2: [vda] 20971520 512-byte logical blocks (10.7 GB/10.0 GiB)
+[ 2.279245] vda: vda1 vda2
+[ 2.418173] PCI Interrupt Link [GSIF] enabled at IRQ 21
+[ 2.418198] qxl 0000:00:01.0: remove_conflicting_pci_framebuffers: bar 0: 0xf4000000 -> 0xf7ffffff
+[ 2.418198] qxl 0000:00:01.0: remove_conflicting_pci_framebuffers: bar 1: 0xf8000000 -> 0xfbffffff
+[ 2.418199] qxl 0000:00:01.0: remove_conflicting_pci_framebuffers: bar 2: 0xfce14000 -> 0xfce15fff
+[ 2.418200] qxl 0000:00:01.0: vgaarb: deactivate vga console
+[ 2.457844] Console: switching to colour dummy device 80x25
+[ 2.458289] [drm] Device Version 0.0
+[ 2.458289] [drm] Compression level 0 log level 0
+[ 2.458290] [drm] 12286 io pages at offset 0x1000000
+[ 2.458290] [drm] 16777216 byte draw area at offset 0x0
+[ 2.458290] [drm] RAM header offset: 0x3ffe000
+[ 2.461054] [TTM] Zone kernel: Available graphics memory: 949106 KiB
+[ 2.461055] [TTM] Initializing pool allocator
+[ 2.461058] [TTM] Initializing DMA pool allocator
+[ 2.461061] [drm] qxl: 16M of VRAM memory size
+[ 2.461062] [drm] qxl: 63M of IO pages memory ready (VRAM domain)
+[ 2.461062] [drm] qxl: 64M of Surface memory size
+[ 2.461761] [drm] slot 0 (main): base 0xf4000000, size 0x03ffe000, gpu_offset 0x20000000000
+[ 2.461816] [drm] slot 1 (surfaces): base 0xf8000000, size 0x04000000, gpu_offset 0x30000000000
+[ 2.462373] [drm] Initialized qxl 0.1.0 20120117 for 0000:00:01.0 on minor 0
+[ 2.462879] fbcon: qxldrmfb (fb0) is primary device
+[ 2.464960] Console: switching to colour frame buffer device 128x48
+[ 2.475823] qxl 0000:00:01.0: fb0: qxldrmfb frame buffer device
+[ 2.761974] PM: Image not found (code -22)
+[ 2.763902] audit: type=1130 audit(1573223484.562:7): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=systemd-hibernate-resume@dev-mapper-fedora\x2dswap comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
+[ 2.763903] audit: type=1131 audit(1573223484.562:8): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=systemd-hibernate-resume@dev-mapper-fedora\x2dswap comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
+[ 2.769928] audit: type=1130 audit(1573223484.568:9): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=systemd-tmpfiles-setup comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
+[ 2.774497] audit: type=1130 audit(1573223484.572:10): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=dracut-initqueue comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
+[ 2.805368] EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: (null)
+[ 2.850965] pcieport 0000:00:02.6: pciehp: Failed to check link status
+[ 3.011659] systemd-journald[293]: Received SIGTERM from PID 1 (systemd).
+[ 3.024593] printk: systemd: 19 output lines suppressed due to ratelimiting
+[ 3.086633] SELinux: Permission watch in class filesystem not defined in policy.
+[ 3.086636] SELinux: Permission watch in class file not defined in policy.
+[ 3.086636] SELinux: Permission watch_mount in class file not defined in policy.
+[ 3.086637] SELinux: Permission watch_sb in class file not defined in policy.
+[ 3.086637] SELinux: Permission watch_with_perm in class file not defined in policy.
+[ 3.086638] SELinux: Permission watch_reads in class file not defined in policy.
+[ 3.086641] SELinux: Permission watch in class dir not defined in policy.
+[ 3.086641] SELinux: Permission watch_mount in class dir not defined in policy.
+[ 3.086641] SELinux: Permission watch_sb in class dir not defined in policy.
+[ 3.086642] SELinux: Permission watch_with_perm in class dir not defined in policy.
+[ 3.086642] SELinux: Permission watch_reads in class dir not defined in policy.
+[ 3.086645] SELinux: Permission watch in class lnk_file not defined in policy.
+[ 3.086646] SELinux: Permission watch_mount in class lnk_file not defined in policy.
+[ 3.086646] SELinux: Permission watch_sb in class lnk_file not defined in policy.
+[ 3.086646] SELinux: Permission watch_with_perm in class lnk_file not defined in policy.
+[ 3.086647] SELinux: Permission watch_reads in class lnk_file not defined in policy.
+[ 3.086649] SELinux: Permission watch in class chr_file not defined in policy.
+[ 3.086649] SELinux: Permission watch_mount in class chr_file not defined in policy.
+[ 3.086649] SELinux: Permission watch_sb in class chr_file not defined in policy.
+[ 3.086650] SELinux: Permission watch_with_perm in class chr_file not defined in policy.
+[ 3.086650] SELinux: Permission watch_reads in class chr_file not defined in policy.
+[ 3.086652] SELinux: Permission watch in class blk_file not defined in policy.
+[ 3.086652] SELinux: Permission watch_mount in class blk_file not defined in policy.
+[ 3.086652] SELinux: Permission watch_sb in class blk_file not defined in policy.
+[ 3.086653] SELinux: Permission watch_with_perm in class blk_file not defined in policy.
+[ 3.086653] SELinux: Permission watch_reads in class blk_file not defined in policy.
+[ 3.086655] SELinux: Permission watch in class sock_file not defined in policy.
+[ 3.086655] SELinux: Permission watch_mount in class sock_file not defined in policy.
+[ 3.086656] SELinux: Permission watch_sb in class sock_file not defined in policy.
+[ 3.086656] SELinux: Permission watch_with_perm in class sock_file not defined in policy.
+[ 3.086657] SELinux: Permission watch_reads in class sock_file not defined in policy.
+[ 3.086658] SELinux: Permission watch in class fifo_file not defined in policy.
+[ 3.086659] SELinux: Permission watch_mount in class fifo_file not defined in policy.
+[ 3.086659] SELinux: Permission watch_sb in class fifo_file not defined in policy.
+[ 3.086659] SELinux: Permission watch_with_perm in class fifo_file not defined in policy.
+[ 3.086660] SELinux: Permission watch_reads in class fifo_file not defined in policy.
+[ 3.086765] SELinux: the above unknown classes and permissions will be allowed
+[ 3.086767] SELinux: policy capability network_peer_controls=1
+[ 3.086767] SELinux: policy capability open_perms=1
+[ 3.086768] SELinux: policy capability extended_socket_class=1
+[ 3.086768] SELinux: policy capability always_check_network=0
+[ 3.086768] SELinux: policy capability cgroup_seclabel=1
+[ 3.086768] SELinux: policy capability nnp_nosuid_transition=1
+[ 3.096071] systemd[1]: Successfully loaded SELinux policy in 56.436ms.
+[ 3.127200] systemd[1]: Relabelled /dev, /dev/shm, /run, /sys/fs/cgroup in 18.657ms.
+[ 3.128802] systemd[1]: systemd v243-4.gitef67743.fc32 running in system mode. (+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=unified)
+[ 3.128826] systemd[1]: Detected virtualization kvm.
+[ 3.128828] systemd[1]: Detected architecture x86-64.
+[ 3.128925] systemd[1]: Set hostname to <localhost.localdomain>.
+[ 3.213729] systemd[1]: /usr/lib/systemd/system/sssd.service:12: PIDFile= references a path below legacy directory /var/run/, updating /var/run/sssd.pid \xe2\x86\x92 /run/sssd.pid; please update the unit file accordingly.
+[ 3.231198] systemd[1]: /usr/lib/systemd/system/sssd-kcm.socket:7: ListenStream= references a path below legacy directory /var/run/, updating /var/run/.heim_org.h5l.kcm-socket \xe2\x86\x92 /run/.heim_org.h5l.kcm-socket; please update the unit file accordingly.
+[ 3.257129] systemd[1]: initrd-switch-root.service: Succeeded.
+[ 3.257221] systemd[1]: Stopped Switch Root.
+[ 3.257492] systemd[1]: systemd-journald.service: Service has no hold-off time (RestartSec=0), scheduling restart.
+[ 3.257539] systemd[1]: systemd-journald.service: Scheduled restart job, restart counter is at 1.
+[ 3.273147] Adding 1048572k swap on /dev/mapper/fedora-swap. Priority:-2 extents:1 across:1048572k FS
+[ 3.319406] EXT4-fs (dm-0): re-mounted. Opts: (null)
+[ 3.756047] systemd-journald[555]: Received client request to flush runtime journal.
+[ 3.926281] lpc_ich 0000:00:1f.0: I/O space for GPIO uninitialized
+[ 3.973697] i801_smbus 0000:00:1f.3: SMBus using PCI interrupt
+[ 4.074162] EXT4-fs (vda1): mounted filesystem with ordered data mode. Opts: (null)
+[ 4.103826] iTCO_vendor_support: vendor-support=0
+[ 4.107286] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.11
+[ 4.107362] iTCO_wdt: Found a ICH9 TCO device (Version=2, TCOBASE=0x0660)
+[ 4.108074] iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
+[ 4.269854] input: PC Speaker as /devices/platform/pcspkr/input/input5
+[ 4.291647] virtio_net virtio0 enp1s0: renamed from eth0
+[ 4.607172] snd_hda_codec_generic hdaudioC1D0: autoconfig for Generic: line_outs=1 (0x3/0x0/0x0/0x0/0x0) type:line
+[ 4.607173] snd_hda_codec_generic hdaudioC1D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
+[ 4.607174] snd_hda_codec_generic hdaudioC1D0: hp_outs=0 (0x0/0x0/0x0/0x0/0x0)
+[ 4.607174] snd_hda_codec_generic hdaudioC1D0: mono: mono_out=0x0
+[ 4.607175] snd_hda_codec_generic hdaudioC1D0: inputs:
+[ 4.607175] snd_hda_codec_generic hdaudioC1D0: Line=0x5
+[ 944.256291] sysrq: This sysrq operation is disabled.
+[ 1156.703451] sysrq: Trigger a crash
+[ 1156.703559] Kernel panic - not syncing: sysrq triggered crash
+[ 1156.703618] CPU: 0 PID: 4952 Comm: bash Kdump: loaded Not tainted 5.4.0-0.rc6.git0.1.fc32.x86_64 #1
+[ 1156.703697] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.12.0-2.fc30 04/01/2014
+[ 1156.703809] Call Trace:
+[ 1156.703883] dump_stack+0x5c/0x80
+[ 1156.703920] panic+0x101/0x2e3
+[ 1156.703955] ? printk+0x58/0x6f
+[ 1156.703990] sysrq_handle_crash+0x11/0x20
+[ 1156.704041] __handle_sysrq.cold+0xcc/0x115
+[ 1156.704089] write_sysrq_trigger+0x27/0x40
+[ 1156.704154] proc_reg_write+0x3c/0x60
+[ 1156.704194] vfs_write+0xb6/0x1a0
+[ 1156.704229] ksys_write+0x5f/0xe0
+[ 1156.704267] do_syscall_64+0x5b/0x180
+[ 1156.704306] entry_SYSCALL_64_after_hwframe+0x44/0xa9
+[ 1156.704357] RIP: 0033:0x7f4584447447
+[ 1156.705903] Code: 64 89 02 48 c7 c0 ff ff ff ff eb bb 0f 1f 80 00 00 00 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 51 c3 48 83 ec 28 48 89 54 24 18 48 89 74 24
+[ 1156.709172] RSP: 002b:00007ffe65b82f08 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
+[ 1156.710823] RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007f4584447447
+[ 1156.712481] RDX: 0000000000000002 RSI: 0000561b5be577e0 RDI: 0000000000000001
+[ 1156.714183] RBP: 0000561b5be577e0 R08: 000000000000000a R09: 0000000000000001
+[ 1156.715894] R10: 0000561b5be81340 R11: 0000000000000246 R12: 0000000000000002
+[ 1156.717584] R13: 00007f4584518500 R14: 0000000000000002 R15: 00007f4584518700
diff --git a/tests/koops-parser.at b/tests/koops-parser.at
index 732171e0..9cea014c 100644
--- a/tests/koops-parser.at
+++ b/tests/koops-parser.at
@@ -206,6 +206,7 @@ int main(void)
{ EXAMPLE_PFX"/oops10_s390x.test", EXAMPLE_PFX"/oops10_s390x.right"},
{ EXAMPLE_PFX"/kernel_panic_oom.test", EXAMPLE_PFX"/kernel_panic_oom.right"},
{ EXAMPLE_PFX"/debug_messages.test", EXAMPLE_PFX"/debug_messages.right"},
+ { EXAMPLE_PFX"/oops-without-addrs.test", EXAMPLE_PFX"/oops-without-addrs.right"},
};
int ret = 0;
--
2.39.1

@ -0,0 +1,118 @@
From adb55b0cb2711baf45c78947fecfa972392023fe Mon Sep 17 00:00:00 2001
From: Martin Kutlak <mkutlak@redhat.com>
Date: Fri, 30 Nov 2018 13:36:19 +0100
Subject: [PATCH] Add autogen.sh
Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
---
autogen.sh | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 98 insertions(+)
create mode 100755 autogen.sh
diff --git a/autogen.sh b/autogen.sh
new file mode 100755
index 00000000..dbbcd885
--- /dev/null
+++ b/autogen.sh
@@ -0,0 +1,98 @@
+#!/bin/sh
+
+print_help()
+{
+cat << EOH
+Prepares the source tree for configuration
+
+Usage:
+ autogen.sh [sysdeps [--install]]
+
+Options:
+
+ sysdeps prints out all dependencies
+ --install install all dependencies ('sudo yum install \$DEPS')
+
+EOH
+}
+
+parse_build_requires_from_spec_file()
+{
+ PACKAGE=$1
+ TEMPFILE=$(mktemp -u --suffix=.spec)
+ sed 's/@PACKAGE_VERSION@/1/' < $PACKAGE.spec.in | sed 's/@.*@//' > $TEMPFILE
+ rpmspec -P $TEMPFILE | grep "^\(Build\)\?Requires:" | \
+ tr -s " " | tr "," "\n" | cut -f2- -d " " | \
+ grep -v "\(^\|python[23]-\)"$PACKAGE | sort -u | sed -E 's/^(.*) (.*)$/"\1 \2"/' | tr \" \'
+ rm $TEMPFILE
+}
+
+list_build_dependencies()
+{
+ local BUILD_SYSTEM_DEPS_LIST="gettext-devel"
+ echo $BUILD_SYSTEM_DEPS_LIST $(parse_build_requires_from_spec_file abrt)
+}
+
+case "$1" in
+ "--help"|"-h")
+ print_help
+ exit 0
+ ;;
+ "sysdeps")
+ DEPS_LIST=$(list_build_dependencies)
+ if [ "$2" == "--install" ]; then
+ set -x verbose
+ eval sudo dnf install --setopt=strict=0 $DEPS_LIST
+ set +x verbose
+ else
+ echo $DEPS_LIST
+ fi
+ exit 0
+ ;;
+ *)
+ echo "Running gen-version"
+ ./gen-version
+
+ mkdir -p m4
+ echo "Creating m4/aclocal.m4 ..."
+ test -r m4/aclocal.m4 || touch m4/aclocal.m4
+
+ echo "Running autopoint"
+ autopoint --force || exit 1
+
+ echo "Running intltoolize..."
+ intltoolize --force --copy --automake || exit 1
+
+ echo "Running aclocal..."
+ aclocal || exit 1
+
+ echo "Running libtoolize..."
+ libtoolize || exit 1
+
+ echo "Running autoheader..."
+ autoheader || return 1
+
+ echo "Running autoconf..."
+ autoconf --force || exit 1
+
+ echo "Running automake..."
+ automake --add-missing --force --copy || exit 1
+
+ echo "Running configure ..."
+ if [ 0 -eq $# ]; then
+ ./configure \
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --sharedstatedir=/var/lib \
+ --enable-native-unwinder \
+ --enable-dump-time-unwind \
+ --enable-debug
+ echo "Configured for local debugging ..."
+ else
+ ./configure "$@"
+ fi
+ ;;
+esac
--
2.18.1

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save