In kernel 3.11 it was renamed to printk_log. See kernel commit 62e32ac3505a0cab1c5ef8ea2c0eab3b26ed855f Tested: can run 'log' command for 3.11-rc4 and 3.3 kernel dumps --- kernel.c | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/kernel.c b/kernel.c index 73c2cc6..6cc4954 100755 --- a/kernel.c +++ b/kernel.c @@ -4428,17 +4428,24 @@ dump_variable_length_record_log(int msg_flags) { uint32_t idx, log_first_idx, log_next_idx, log_buf_len; ulong log_buf; - char *logptr, *logbuf; + char *logptr, *logbuf, *log_struct_name = "printk_log"; if (INVALID_SIZE(log)) { - STRUCT_SIZE_INIT(log, "log"); - MEMBER_OFFSET_INIT(log_ts_nsec, "log", "ts_nsec"); - MEMBER_OFFSET_INIT(log_len, "log", "len"); - MEMBER_OFFSET_INIT(log_text_len, "log", "text_len"); - MEMBER_OFFSET_INIT(log_dict_len, "log", "dict_len"); - MEMBER_OFFSET_INIT(log_level, "log", "level"); - MEMBER_SIZE_INIT(log_level, "log", "level"); - MEMBER_OFFSET_INIT(log_flags_level, "log", "flags_level"); + STRUCT_SIZE_INIT(log, log_struct_name); + if (INVALID_SIZE(log)) { + // It looks like a pre 3.11 kernel. + // See commit 62e32ac3505a0cab that changed structure name + // log -> printk_log + log_struct_name = "log"; + STRUCT_SIZE_INIT(log, log_struct_name); + } + MEMBER_OFFSET_INIT(log_ts_nsec, log_struct_name, "ts_nsec"); + MEMBER_OFFSET_INIT(log_len, log_struct_name, "len"); + MEMBER_OFFSET_INIT(log_text_len, log_struct_name, "text_len"); + MEMBER_OFFSET_INIT(log_dict_len, log_struct_name, "dict_len"); + MEMBER_OFFSET_INIT(log_level, log_struct_name, "level"); + MEMBER_SIZE_INIT(log_level, log_struct_name, "level"); + MEMBER_OFFSET_INIT(log_flags_level, log_struct_name, "flags_level"); /* * If things change, don't kill a dumpfile session -- 1.8.3 -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility