Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP1:GA
crash.4081
crash-invalid_structure_member_with_current_ker...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File crash-invalid_structure_member_with_current_kernels.patch of Package crash.4081
From ddd809812705ba36796c6750d12a12838b4106ec Mon Sep 17 00:00:00 2001 From: Sebastian Ott <sebott linux vnet ibm com> Date: Tue, 19 Jan 2016 14:14:13 +0100 Subject: [PATCH] Fix invalid structure member offset. Struct module was changed by kernel commit 7523e4dc50 "module: use a structure to encapsulate layout." Fix the offsets to handle the following crash error: crash: invalid structure member offset: module_init_text_size FILE: symbols.c LINE: 1668 FUNCTION: store_module_symbols_v2() [../crash/crash] error trace: 10062e92 => 10109812 => 1014f16e => 101813ac 101813ac: OFFSET_verify+124 1014f16e: store_module_symbols_v2+2182 10109812: module_init+4386 10062e92: main_loop+410 Signed-off-by: Sebastian Ott <sebott linux vnet ibm com> --- kernel.c | 49 +++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 39 insertions(+), 10 deletions(-) Index: crash-7.0.5/kernel.c =================================================================== --- crash-7.0.5.orig/kernel.c +++ crash-7.0.5/kernel.c @@ -2885,16 +2885,45 @@ module_init(void) MEMBER_OFFSET_INIT(module_gpl_syms, "module", "gpl_syms"); MEMBER_OFFSET_INIT(module_num_gpl_syms, "module", "num_gpl_syms"); - MEMBER_OFFSET_INIT(module_module_core, "module", - "module_core"); - MEMBER_OFFSET_INIT(module_core_size, "module", - "core_size"); - MEMBER_OFFSET_INIT(module_core_text_size, "module", - "core_text_size"); - MEMBER_OFFSET_INIT(module_module_init, "module", "module_init"); - MEMBER_OFFSET_INIT(module_init_size, "module", "init_size"); - MEMBER_OFFSET_INIT(module_init_text_size, "module", - "init_text_size"); + + if (MEMBER_EXISTS("module", "module_core")) { + MEMBER_OFFSET_INIT(module_core_size, "module", + "core_size"); + MEMBER_OFFSET_INIT(module_init_size, "module", + "init_size"); + + MEMBER_OFFSET_INIT(module_core_text_size, "module", + "core_text_size"); + MEMBER_OFFSET_INIT(module_init_text_size, "module", + "init_text_size"); + + MEMBER_OFFSET_INIT(module_module_core, "module", + "module_core"); + MEMBER_OFFSET_INIT(module_module_init, "module", + "module_init"); + } else { + ASSIGN_OFFSET(module_core_size) = + MEMBER_OFFSET("module", "core_layout") + + MEMBER_OFFSET("module_layout", "size"); + ASSIGN_OFFSET(module_init_size) = + MEMBER_OFFSET("module", "init_layout") + + MEMBER_OFFSET("module_layout", "size"); + + ASSIGN_OFFSET(module_core_text_size) = + MEMBER_OFFSET("module", "core_layout") + + MEMBER_OFFSET("module_layout", "text_size"); + ASSIGN_OFFSET(module_init_text_size) = + MEMBER_OFFSET("module", "init_layout") + + MEMBER_OFFSET("module_layout", "text_size"); + + ASSIGN_OFFSET(module_module_core) = + MEMBER_OFFSET("module", "core_layout") + + MEMBER_OFFSET("module_layout", "base"); + ASSIGN_OFFSET(module_module_init) = + MEMBER_OFFSET("module", "init_layout") + + MEMBER_OFFSET("module_layout", "base"); + } + MEMBER_OFFSET_INIT(module_percpu, "module", "percpu"); /*
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor