makedumpfile: Adapt code to get value of phys_base
Subsystems (2)
cover makedumpfile: Adapt code to get value of phys_base
This patchset is on top of Pratyush's patchset:
**x86_64: Fix page_offset for randomized base enabled**
Because exporting virtual address of phys_base is really helpless for Crash and Makedumpfile, so has posted a kernel patch to export value of phys_base instead. Patch 2/1 is used to adapt code for that.
Patch 2/2 is a clean up patch, it's based on Pratyush's patchset. MODULES_VADDR is used to judge if a virtual address in inside kernel text region or direct mapping region. And MODULES_VADDR is decided by KERNEL_IMAGE_SIZE. With Pratyush's above patchset, KERNEL_IMAGE_SIZE is not needed. Remove it here. But Crash needs it to check if kaslr is enabled. It still need be exported.
Baoquan He (2):
makedumpfile: Adapt code to get value of phys_base
makedumpfile: Clean up unused KERNEL_IMAGE_SIZE
arch/x86_64.c | 7 +++++-- makedumpfile.c | 16 +++------------- makedumpfile.h | 5 +---- 3 files changed, 9 insertions(+), 19 deletions(-)
Signature · 7 lines
2.5.5 _______________________________________________ kexec mailing list [email protected] http://lists.infradead.org/mailman/listinfo/kexec
PATCH 1/2 makedumpfile: Adapt code to get value of phys_base
Kernel code only exports virtual address of phys_base now and it's helpless for Crash and Makedumpfile. Below patch which changes code to export value of phys_base has been posted to upstream. So adapt code to get it.
kexec: Change to export the value of phys_base instead of symbol address marc.info/?l=linux-kernel&m=147856863629624&w=2
--- arch/x86_64.c | 7 +++++-- makedumpfile.c | 5 ++--- makedumpfile.h | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-)
arch/x86_64.c +5 -2
@@ -61,7 +61,10 @@ get_phys_base_x86_64(void)/* * Get the relocatable offset */ - info->phys_base =0 ;/* default/traditional */ +if (NUMBER (phys_base) !=NOT_FOUND_NUMBER ) { + info->phys_base =NUMBER (phys_base); +return TRUE; + }for (i =0 ;get_pt_load (i, &phys_start,NULL , &virt_start,NULL ); i++) {if (virt_start >= __START_KERNEL_map) {
@@ -189,7 +192,7 @@ vtop4_x86_64(unsigned long vaddr)unsigned long pte_paddr, pte;unsigned long phys_base; -if (SYMBOL (phys_base) !=NOT_FOUND_SYMBOL ) +if (NUMBER (phys_base) !=NOT_FOUND_NUMBER ) phys_base = info->phys_base;else phys_base =0 ;
makedumpfile.c +2 -3
@@ -1507,7 +1507,6 @@ get_symbol_info(void)SYMBOL_INIT (init_level4_pgt,"init_level4_pgt" );SYMBOL_INIT (vmlist,"vmlist" );SYMBOL_INIT (vmap_area_list,"vmap_area_list" ); -SYMBOL_INIT (phys_base,"phys_base" );SYMBOL_INIT (node_online_map,"node_online_map" );SYMBOL_INIT (node_states,"node_states" );SYMBOL_INIT (node_memblk,"node_memblk" );
@@ -2134,7 +2133,6 @@ write_vmcoreinfo_data(void)WRITE_SYMBOL ("init_level4_pgt" , init_level4_pgt);WRITE_SYMBOL ("vmlist" , vmlist);WRITE_SYMBOL ("vmap_area_list" , vmap_area_list); -WRITE_SYMBOL ("phys_base" , phys_base);WRITE_SYMBOL ("node_online_map" , node_online_map);WRITE_SYMBOL ("node_states" , node_states);WRITE_SYMBOL ("node_data" , node_data);
@@ -2261,6 +2259,7 @@ write_vmcoreinfo_data(void)WRITE_NUMBER ("PAGE_BUDDY_MAPCOUNT_VALUE" ,PAGE_BUDDY_MAPCOUNT_VALUE );WRITE_NUMBER ("KERNEL_IMAGE_SIZE" ,KERNEL_IMAGE_SIZE ); +WRITE_NUMBER ("phys_base" , phys_base);WRITE_NUMBER ("HUGETLB_PAGE_DTOR" ,HUGETLB_PAGE_DTOR );
@@ -2488,7 +2487,6 @@ read_vmcoreinfo(void)READ_SYMBOL ("init_level4_pgt" , init_level4_pgt);READ_SYMBOL ("vmlist" , vmlist);READ_SYMBOL ("vmap_area_list" , vmap_area_list); -READ_SYMBOL ("phys_base" , phys_base);READ_SYMBOL ("node_online_map" , node_online_map);READ_SYMBOL ("node_states" , node_states);READ_SYMBOL ("node_data" , node_data);
@@ -2609,6 +2607,7 @@ read_vmcoreinfo(void)READ_NUMBER ("PAGE_BUDDY_MAPCOUNT_VALUE" ,PAGE_BUDDY_MAPCOUNT_VALUE );READ_NUMBER ("KERNEL_IMAGE_SIZE" ,KERNEL_IMAGE_SIZE ); +READ_NUMBER ("phys_base" , phys_base);READ_NUMBER ("HUGETLB_PAGE_DTOR" ,HUGETLB_PAGE_DTOR );
makedumpfile.h +1 -1
@@ -1394,7 +1394,6 @@ struct symbol_table {unsigned long long init_level4_pgt;unsigned long long vmlist;unsigned long long vmap_area_list; -unsigned long long phys_base;unsigned long long node_online_map;unsigned long long node_states;unsigned long long node_memblk;
@@ -1718,6 +1717,7 @@ struct number_table {long SECTION_SIZE_BITS ;long MAX_PHYSMEM_BITS ;long HUGETLB_PAGE_DTOR ; +long phys_base; };struct srcfile_table {
Signature · 7 lines
2.5.5 _______________________________________________ kexec mailing list [email protected] http://lists.infradead.org/mailman/listinfo/kexec
Quoted 8 lines
Kernel code only exports virtual address of
phys_basenow and it's helpless for Crash and Makedumpfile. Below patch which changes code to export value ofphys_basehas been posted to upstream. So adapt code to get it.kexec: Change to export the value of
phys_baseinstead of symbol address marc.info/?l=linux-kernel&m=147856863629624&w=2Signed-off-by Baoquan He <[email protected]>
I suspect that this patch will break backward compatibility.
Quoted 23 lines
---
arch/x86_64.c | 7 +++++-- makedumpfile.c | 5 ++--- makedumpfile.h | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-)arch/x86_64.c +4
-1@@ -61,7 +61,10 @@ get_phys_base_x86_64(void)/* * Get the relocatable offset */ - info->phys_base =0 ;/* default/traditional */ +if (NUMBER (phys_base) !=NOT_FOUND_NUMBER ) { + info->phys_base =NUMBER (phys_base); +return TRUE; + }for (i =0 ;get_pt_load (i, &phys_start,NULL , &virt_start,NULL ); i++) {if (virt_start >= __START_KERNEL_map) {
arch/x86_64.c vtop4_x86_64(unsigned long vaddr) · line 198
Quoted 8 lines
arch/x86_64.c +1
-1@@ -189,7 +192,7 @@ vtop4_x86_64(unsigned long vaddr)unsigned long pte_paddr, pte;unsigned long phys_base; -if (SYMBOL (phys_base) !=NOT_FOUND_SYMBOL ) +if (NUMBER (phys_base) !=NOT_FOUND_NUMBER ) phys_base = info->phys_base;else phys_base =0 ;
In older kernel, even if get_phys_base_x86_64() calculates info->phys_base from PT_LOAD, it will not be used since the kernels export *SYMBOL*(phys_base) and phys_base will be always set to 0 here.
Is this check really needed ? Why don't you just set info->phys_base to phys_base ? (Of course, info->phys_base should be initialized with 0 in get_phys_base_x86_64() in that case.)
Thanks,
Atsushi Kumagai
Quoted 65 lines
makedumpfile.c +2
-3@@ -1507,7 +1507,6 @@ get_symbol_info(void)SYMBOL_INIT (init_level4_pgt,"init_level4_pgt" );SYMBOL_INIT (vmlist,"vmlist" );SYMBOL_INIT (vmap_area_list,"vmap_area_list" ); -SYMBOL_INIT (phys_base,"phys_base" );SYMBOL_INIT (node_online_map,"node_online_map" );SYMBOL_INIT (node_states,"node_states" );SYMBOL_INIT (node_memblk,"node_memblk" );@@ -2134,7 +2133,6 @@ write_vmcoreinfo_data(void)WRITE_SYMBOL ("init_level4_pgt" , init_level4_pgt);WRITE_SYMBOL ("vmlist" , vmlist);WRITE_SYMBOL ("vmap_area_list" , vmap_area_list); -WRITE_SYMBOL ("phys_base" , phys_base);WRITE_SYMBOL ("node_online_map" , node_online_map);WRITE_SYMBOL ("node_states" , node_states);WRITE_SYMBOL ("node_data" , node_data);@@ -2261,6 +2259,7 @@ write_vmcoreinfo_data(void)WRITE_NUMBER ("PAGE_BUDDY_MAPCOUNT_VALUE" ,PAGE_BUDDY_MAPCOUNT_VALUE );WRITE_NUMBER ("KERNEL_IMAGE_SIZE" ,KERNEL_IMAGE_SIZE ); +WRITE_NUMBER ("phys_base" , phys_base);WRITE_NUMBER ("HUGETLB_PAGE_DTOR" ,HUGETLB_PAGE_DTOR );@@ -2488,7 +2487,6 @@ read_vmcoreinfo(void)READ_SYMBOL ("init_level4_pgt" , init_level4_pgt);READ_SYMBOL ("vmlist" , vmlist);READ_SYMBOL ("vmap_area_list" , vmap_area_list); -READ_SYMBOL ("phys_base" , phys_base);READ_SYMBOL ("node_online_map" , node_online_map);READ_SYMBOL ("node_states" , node_states);READ_SYMBOL ("node_data" , node_data);@@ -2609,6 +2607,7 @@ read_vmcoreinfo(void)READ_NUMBER ("PAGE_BUDDY_MAPCOUNT_VALUE" ,PAGE_BUDDY_MAPCOUNT_VALUE );READ_NUMBER ("KERNEL_IMAGE_SIZE" ,KERNEL_IMAGE_SIZE ); +READ_NUMBER ("phys_base" , phys_base);READ_NUMBER ("HUGETLB_PAGE_DTOR" ,HUGETLB_PAGE_DTOR );makedumpfile.h +1
-2@@ -1394,7 +1394,6 @@ struct symbol_table {unsigned long long init_level4_pgt;unsigned long long vmlist;unsigned long long vmap_area_list; -unsigned long long phys_base;unsigned long long node_online_map;unsigned long long node_states;unsigned long long node_memblk;@@ -1718,6 +1717,7 @@ struct number_table {long SECTION_SIZE_BITS ;long MAX_PHYSMEM_BITS ;long HUGETLB_PAGE_DTOR ; +long phys_base; };struct srcfile_table { --
Quoted 1 line
2.5.5
_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec
Quoted 37 lines · Atsushi Kumagai
Quoted 8 lines
Kernel code only exports virtual address of
phys_basenow and it's helpless for Crash and Makedumpfile. Below patch which changes code to export value ofphys_basehas been posted to upstream. So adapt code to get it.kexec: Change to export the value of
phys_baseinstead of symbol address marc.info/?l=linux-kernel&m=147856863629624&w=2Signed-off-by Baoquan He <[email protected]>I suspect that this patch will break backward compatibility.
Quoted 26 lines
---
arch/x86_64.c | 7 +++++-- makedumpfile.c | 5 ++--- makedumpfile.h | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-)arch/x86_64.c +4
-1@@ -61,7 +61,10 @@ get_phys_base_x86_64(void)/* * Get the relocatable offset */ - info->phys_base =0 ;/* default/traditional */ +if (NUMBER (phys_base) !=NOT_FOUND_NUMBER ) { + info->phys_base =NUMBER (phys_base); +return TRUE; + }for (i =0 ;get_pt_load (i, &phys_start,NULL , &virt_start,NULL ); i++) {if (virt_start >= __START_KERNEL_map) {@@ -189,7 +192,7 @@ vtop4_x86_64(unsigned long vaddr)unsigned long pte_paddr, pte;unsigned long phys_base;
Quoted 12 lines
arch/x86_64.c vtop4_x86_64(unsigned long vaddr) · line 198
Quoted 5 lines
arch/x86_64.c +1
-1-if (SYMBOL (phys_base) !=NOT_FOUND_SYMBOL ) +if (NUMBER (phys_base) !=NOT_FOUND_NUMBER ) phys_base = info->phys_base;else phys_base =0 ;In older kernel, even if
get_phys_base_x86_64()calculatesinfo->phys_basefromPT_LOAD, it will not be used since the kernels export *SYMBOL*(phys_base) andphys_basewill be always set to 0 here.
Is this check really needed ? Why don't you just setinfo->phys_basetophys_base? (Of course,info->phys_baseshould be initialized with 0 inget_phys_base_x86_64()in that case.)
You are right. Will change as you suggested and repost.
Thanks
Baoquan
_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec
PATCH v2 1/2 makedumpfile: Adapt code to get value of phys_base
In reply to Baoquan HeKernel code only exports virtual address of phys_base now and it's helpless for Crash and Makedumpfile. Below patch which changes code to export value of phys_base has been posted to upstream. So adapt code to get it.
kexec: Change to export the value of phys_base instead of symbol address marc.info/?l=linux-kernel&m=147856863629624&w=2
---v1->v2:
Patch v1 is not compatible with the old kernel. Change code in get_phys_base_x86_64 and vtop4_x86_64 to avoid that according to Atsushi's suggestion.
arch/x86_64.c | 12 +++++------- makedumpfile.c | 5 ++--- makedumpfile.h | 2 +- 3 files changed, 8 insertions(+), 11 deletions(-)
arch/x86_64.c +5 -7
@@ -62,6 +62,10 @@ get_phys_base_x86_64(void)* Get the relocatable offset */ info->phys_base =0 ;/* default/traditional */ +if (NUMBER (phys_base) !=NOT_FOUND_NUMBER ) { + info->phys_base =NUMBER (phys_base); +return TRUE; + }for (i =0 ;get_pt_load (i, &phys_start,NULL , &virt_start,NULL ); i++) {if (virt_start >= __START_KERNEL_map) {
@@ -187,12 +191,6 @@ vtop4_x86_64(unsigned long vaddr) {unsigned long page_dir, pml4, pgd_paddr, pgd_pte, pmd_paddr, pmd_pte;unsigned long pte_paddr, pte; -unsigned long phys_base; - -if (SYMBOL (phys_base) !=NOT_FOUND_SYMBOL ) - phys_base = info->phys_base; -else - phys_base =0 ;if (SYMBOL (init_level4_pgt) ==NOT_FOUND_SYMBOL ) {ERRMSG ("Can't get the symbol of init_level4_pgt.\n" );
@@ -202,7 +200,7 @@ vtop4_x86_64(unsigned long vaddr)/* * Get PGD. */ - page_dir =SYMBOL (init_level4_pgt) - __START_KERNEL_map + phys_base; + page_dir =SYMBOL (init_level4_pgt) - __START_KERNEL_map + info->phys_base; page_dir +=pml4_index (vaddr) *sizeof (unsigned long );if (!readmem (PADDR , page_dir, &pml4,sizeof pml4)) {ERRMSG ("Can't get pml4 (page_dir:%lx).\n" , page_dir);
makedumpfile.c +2 -3
@@ -1507,7 +1507,6 @@ get_symbol_info(void)SYMBOL_INIT (init_level4_pgt,"init_level4_pgt" );SYMBOL_INIT (vmlist,"vmlist" );SYMBOL_INIT (vmap_area_list,"vmap_area_list" ); -SYMBOL_INIT (phys_base,"phys_base" );SYMBOL_INIT (node_online_map,"node_online_map" );SYMBOL_INIT (node_states,"node_states" );SYMBOL_INIT (node_memblk,"node_memblk" );
@@ -2134,7 +2133,6 @@ write_vmcoreinfo_data(void)WRITE_SYMBOL ("init_level4_pgt" , init_level4_pgt);WRITE_SYMBOL ("vmlist" , vmlist);WRITE_SYMBOL ("vmap_area_list" , vmap_area_list); -WRITE_SYMBOL ("phys_base" , phys_base);WRITE_SYMBOL ("node_online_map" , node_online_map);WRITE_SYMBOL ("node_states" , node_states);WRITE_SYMBOL ("node_data" , node_data);
@@ -2261,6 +2259,7 @@ write_vmcoreinfo_data(void)WRITE_NUMBER ("PAGE_BUDDY_MAPCOUNT_VALUE" ,PAGE_BUDDY_MAPCOUNT_VALUE );WRITE_NUMBER ("KERNEL_IMAGE_SIZE" ,KERNEL_IMAGE_SIZE ); +WRITE_NUMBER ("phys_base" , phys_base);WRITE_NUMBER ("HUGETLB_PAGE_DTOR" ,HUGETLB_PAGE_DTOR );
@@ -2488,7 +2487,6 @@ read_vmcoreinfo(void)READ_SYMBOL ("init_level4_pgt" , init_level4_pgt);READ_SYMBOL ("vmlist" , vmlist);READ_SYMBOL ("vmap_area_list" , vmap_area_list); -READ_SYMBOL ("phys_base" , phys_base);READ_SYMBOL ("node_online_map" , node_online_map);READ_SYMBOL ("node_states" , node_states);READ_SYMBOL ("node_data" , node_data);
@@ -2609,6 +2607,7 @@ read_vmcoreinfo(void)READ_NUMBER ("PAGE_BUDDY_MAPCOUNT_VALUE" ,PAGE_BUDDY_MAPCOUNT_VALUE );READ_NUMBER ("KERNEL_IMAGE_SIZE" ,KERNEL_IMAGE_SIZE ); +READ_NUMBER ("phys_base" , phys_base);READ_NUMBER ("HUGETLB_PAGE_DTOR" ,HUGETLB_PAGE_DTOR );
makedumpfile.h +1 -1
@@ -1394,7 +1394,6 @@ struct symbol_table {unsigned long long init_level4_pgt;unsigned long long vmlist;unsigned long long vmap_area_list; -unsigned long long phys_base;unsigned long long node_online_map;unsigned long long node_states;unsigned long long node_memblk;
@@ -1718,6 +1717,7 @@ struct number_table {long SECTION_SIZE_BITS ;long MAX_PHYSMEM_BITS ;long HUGETLB_PAGE_DTOR ; +long phys_base; };struct srcfile_table {
Signature · 7 lines
2.5.5 _______________________________________________ kexec mailing list [email protected] http://lists.infradead.org/mailman/listinfo/kexec
Quoted 7 lines
Kernel code only exports virtual address of
phys_basenow and it's helpless for Crash and Makedumpfile. Below patch which changes code to export value ofphys_basehas been posted to upstream. So adapt code to get it.kexec: Change to export the value of
phys_baseinstead of symbol address marc.info/?l=linux-kernel&m=147856863629624&w=2
Quoted 6 lines
Signed-off-by Baoquan He <[email protected]>---
v1->v2:
Patch v1 is not compatible with the old kernel. Change code inget_phys_base_x86_64andvtop4_x86_64to avoid that according to Atsushi's suggestion.
Looks good to me, I'll merge this patch into v1.6.1. For 2/2, I'll revert 56649f7b6bfe7 with your patch's comment.
Thanks,
Atsushi Kumagai
Quoted 107 lines
arch/x86_64.c | 12 +++++------- makedumpfile.c | 5 ++--- makedumpfile.h | 2 +- 3 files changed, 8 insertions(+), 11 deletions(-)arch/x86_64.c +5
-7@@ -62,6 +62,10 @@ get_phys_base_x86_64(void)* Get the relocatable offset */ info->phys_base =0 ;/* default/traditional */ +if (NUMBER (phys_base) !=NOT_FOUND_NUMBER ) { + info->phys_base =NUMBER (phys_base); +return TRUE; + }for (i =0 ;get_pt_load (i, &phys_start,NULL , &virt_start,NULL ); i++) {if (virt_start >= __START_KERNEL_map) {@@ -187,12 +191,6 @@ vtop4_x86_64(unsigned long vaddr) {unsigned long page_dir, pml4, pgd_paddr, pgd_pte, pmd_paddr, pmd_pte;unsigned long pte_paddr, pte; -unsigned long phys_base; - -if (SYMBOL (phys_base) !=NOT_FOUND_SYMBOL ) - phys_base = info->phys_base; -else - phys_base =0 ;if (SYMBOL (init_level4_pgt) ==NOT_FOUND_SYMBOL ) {ERRMSG ("Can't get the symbol of init_level4_pgt.\n" );@@ -202,7 +200,7 @@ vtop4_x86_64(unsigned long vaddr)/* * Get PGD. */ - page_dir =SYMBOL (init_level4_pgt) - __START_KERNEL_map + phys_base; + page_dir =SYMBOL (init_level4_pgt) - __START_KERNEL_map + info->phys_base; page_dir +=pml4_index (vaddr) *sizeof (unsigned long );if (!readmem (PADDR , page_dir, &pml4,sizeof pml4)) {ERRMSG ("Can't get pml4 (page_dir:%lx).\n" , page_dir);makedumpfile.c +2
-3@@ -1507,7 +1507,6 @@ get_symbol_info(void)SYMBOL_INIT (init_level4_pgt,"init_level4_pgt" );SYMBOL_INIT (vmlist,"vmlist" );SYMBOL_INIT (vmap_area_list,"vmap_area_list" ); -SYMBOL_INIT (phys_base,"phys_base" );SYMBOL_INIT (node_online_map,"node_online_map" );SYMBOL_INIT (node_states,"node_states" );SYMBOL_INIT (node_memblk,"node_memblk" );@@ -2134,7 +2133,6 @@ write_vmcoreinfo_data(void)WRITE_SYMBOL ("init_level4_pgt" , init_level4_pgt);WRITE_SYMBOL ("vmlist" , vmlist);WRITE_SYMBOL ("vmap_area_list" , vmap_area_list); -WRITE_SYMBOL ("phys_base" , phys_base);WRITE_SYMBOL ("node_online_map" , node_online_map);WRITE_SYMBOL ("node_states" , node_states);WRITE_SYMBOL ("node_data" , node_data);@@ -2261,6 +2259,7 @@ write_vmcoreinfo_data(void)WRITE_NUMBER ("PAGE_BUDDY_MAPCOUNT_VALUE" ,PAGE_BUDDY_MAPCOUNT_VALUE );WRITE_NUMBER ("KERNEL_IMAGE_SIZE" ,KERNEL_IMAGE_SIZE ); +WRITE_NUMBER ("phys_base" , phys_base);WRITE_NUMBER ("HUGETLB_PAGE_DTOR" ,HUGETLB_PAGE_DTOR );@@ -2488,7 +2487,6 @@ read_vmcoreinfo(void)READ_SYMBOL ("init_level4_pgt" , init_level4_pgt);READ_SYMBOL ("vmlist" , vmlist);READ_SYMBOL ("vmap_area_list" , vmap_area_list); -READ_SYMBOL ("phys_base" , phys_base);READ_SYMBOL ("node_online_map" , node_online_map);READ_SYMBOL ("node_states" , node_states);READ_SYMBOL ("node_data" , node_data);@@ -2609,6 +2607,7 @@ read_vmcoreinfo(void)READ_NUMBER ("PAGE_BUDDY_MAPCOUNT_VALUE" ,PAGE_BUDDY_MAPCOUNT_VALUE );READ_NUMBER ("KERNEL_IMAGE_SIZE" ,KERNEL_IMAGE_SIZE ); +READ_NUMBER ("phys_base" , phys_base);READ_NUMBER ("HUGETLB_PAGE_DTOR" ,HUGETLB_PAGE_DTOR );makedumpfile.h +1
-2@@ -1394,7 +1394,6 @@ struct symbol_table {unsigned long long init_level4_pgt;unsigned long long vmlist;unsigned long long vmap_area_list; -unsigned long long phys_base;unsigned long long node_online_map;unsigned long long node_states;unsigned long long node_memblk;@@ -1718,6 +1717,7 @@ struct number_table {long SECTION_SIZE_BITS ;long MAX_PHYSMEM_BITS ;long HUGETLB_PAGE_DTOR ; +long phys_base; };struct srcfile_table { --
Quoted 1 line
2.5.5
_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec
Quoted 14 lines · Atsushi Kumagai
Quoted 7 lines
Kernel code only exports virtual address of
phys_basenow and it's helpless for Crash and Makedumpfile. Below patch which changes code to export value ofphys_basehas been posted to upstream. So adapt code to get it.kexec: Change to export the value of
phys_baseinstead of symbol address marc.info/?l=linux-kernel&m=147856863629624&w=2Quoted 6 lines
Signed-off-by Baoquan He <[email protected]>---
v1->v2:
Patch v1 is not compatible with the old kernel. Change code inget_phys_base_x86_64andvtop4_x86_64to avoid that according to Atsushi's suggestion.
Quoted 2 lines
Looks good to me, I'll merge this patch into v1.6.1. For 2/2, I'll revert
56649f7b6bfe7with your patch's comment.
Thanks!
_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec
PATCH 2/2 makedumpfile: Clean up unused KERNEL_IMAGE_SIZE
In reply to Baoquan HeThe old MODULES_VADDR need be decided by KERNEL_IMAGE_SIZE when kaslr enabled. Now MODULES_VADDR is not needed any more since Pratyush makes all VA to PA converting done by page table lookup. So remove its related code.
--- makedumpfile.c | 11 +---------- makedumpfile.h | 3 --- 2 files changed, 1 insertion(+), 13 deletions(-)
makedumpfile.c +1 -10
@@ -1994,14 +1994,7 @@ get_value_for_old_linux(void)NUMBER (PAGE_BUDDY_MAPCOUNT_VALUE ) = PAGE_BUDDY_MAPCOUNT_VALUE_v2_6_39_to_latest_version; } -#ifdef __x86_64__ -if (NUMBER (KERNEL_IMAGE_SIZE ) ==NOT_FOUND_NUMBER ) { -if (info->kernel_version <KERNEL_VERSION (2 ,6 ,26 )) -NUMBER (KERNEL_IMAGE_SIZE ) =KERNEL_IMAGE_SIZE_ORIG ; -else -NUMBER (KERNEL_IMAGE_SIZE ) =KERNEL_IMAGE_SIZE_2_6_26 ; - } -#endif +if (SIZE (pageflags) ==NOT_FOUND_STRUCTURE ) {if (info->kernel_version >=KERNEL_VERSION (2 ,6 ,27 )) SIZE(pageflags) =
@@ -2258,7 +2251,6 @@ write_vmcoreinfo_data(void)WRITE_NUMBER ("PG_hwpoison" , PG_hwpoison);WRITE_NUMBER ("PAGE_BUDDY_MAPCOUNT_VALUE" ,PAGE_BUDDY_MAPCOUNT_VALUE ); -WRITE_NUMBER ("KERNEL_IMAGE_SIZE" ,KERNEL_IMAGE_SIZE );WRITE_NUMBER ("phys_base" , phys_base);WRITE_NUMBER ("HUGETLB_PAGE_DTOR" ,HUGETLB_PAGE_DTOR );
@@ -2606,7 +2598,6 @@ read_vmcoreinfo(void)READ_SRCFILE ("pud_t" , pud_t);READ_NUMBER ("PAGE_BUDDY_MAPCOUNT_VALUE" ,PAGE_BUDDY_MAPCOUNT_VALUE ); -READ_NUMBER ("KERNEL_IMAGE_SIZE" ,KERNEL_IMAGE_SIZE );READ_NUMBER ("phys_base" , phys_base);READ_NUMBER ("HUGETLB_PAGE_DTOR" ,HUGETLB_PAGE_DTOR );
makedumpfile.h +0 -3
@@ -573,8 +573,6 @@ int get_va_bits_arm64(void);#define VMEMMAP_END_2_6_31 (0xffffeaffffffffff)/* 2.6.31, or later */ #define __START_KERNEL_map (0xffffffff80000000) -#define KERNEL_IMAGE_SIZE_ORIG (0x0000000008000000)/* 2.6.25, or former */ -#define KERNEL_IMAGE_SIZE_2_6_26 (0x0000000020000000)/* 2.6.26, or later */ #define KVBASE PAGE_OFFSET#define _SECTION_SIZE_BITS (27)#define _MAX_PHYSMEM_BITS_ORIG (40)
@@ -1713,7 +1711,6 @@ struct number_table {long PG_hwpoison;long PAGE_BUDDY_MAPCOUNT_VALUE ; -long KERNEL_IMAGE_SIZE ;long SECTION_SIZE_BITS ;long MAX_PHYSMEM_BITS ;long HUGETLB_PAGE_DTOR ;
Signature · 7 lines
2.5.5 _______________________________________________ kexec mailing list [email protected] http://lists.infradead.org/mailman/listinfo/kexec
Re: [PATCH 2/2] makedumpfile: Clean up unused KERNEL_IMAGE_SIZE
----- Original Message -----
Quoted 4 lines
The old
MODULES_VADDRneed be decided byKERNEL_IMAGE_SIZEwhen kaslr enabled. NowMODULES_VADDRis not needed any more since Pratyush makes all VA to PA converting done by page table lookup. So remove its related code.
Hi Bao,
I'm not clear on this. The crash utility still reads/needs KERNEL_IMAGE_SIZE from the dumpfile's vmcoreinfo data. Is it being written to the vmcoreinfo section somewhere else in the code?
Dave
Quoted 66 lines
Signed-off-by Baoquan He <[email protected]>--- makedumpfile.c | 11 +---------- makedumpfile.h | 3 --- 2 files changed, 1 insertion(+), 13 deletions(-)makedumpfile.c +1
-10@@ -1994,14 +1994,7 @@ get_value_for_old_linux(void)NUMBER (PAGE_BUDDY_MAPCOUNT_VALUE ) = PAGE_BUDDY_MAPCOUNT_VALUE_v2_6_39_to_latest_version; } -#ifdef __x86_64__ -if (NUMBER (KERNEL_IMAGE_SIZE ) ==NOT_FOUND_NUMBER ) { -if (info->kernel_version <KERNEL_VERSION (2 ,6 ,26 )) -NUMBER (KERNEL_IMAGE_SIZE ) =KERNEL_IMAGE_SIZE_ORIG ; -else -NUMBER (KERNEL_IMAGE_SIZE ) =KERNEL_IMAGE_SIZE_2_6_26 ; - } -#endif +if (SIZE (pageflags) ==NOT_FOUND_STRUCTURE ) {if (info->kernel_version >=KERNEL_VERSION (2 ,6 ,27 )) SIZE(pageflags) =@@ -2258,7 +2251,6 @@ write_vmcoreinfo_data(void)WRITE_NUMBER ("PG_hwpoison" , PG_hwpoison);WRITE_NUMBER ("PAGE_BUDDY_MAPCOUNT_VALUE" ,PAGE_BUDDY_MAPCOUNT_VALUE ); -WRITE_NUMBER ("KERNEL_IMAGE_SIZE" ,KERNEL_IMAGE_SIZE );WRITE_NUMBER ("phys_base" , phys_base);WRITE_NUMBER ("HUGETLB_PAGE_DTOR" ,HUGETLB_PAGE_DTOR );@@ -2606,7 +2598,6 @@ read_vmcoreinfo(void)READ_SRCFILE ("pud_t" , pud_t);READ_NUMBER ("PAGE_BUDDY_MAPCOUNT_VALUE" ,PAGE_BUDDY_MAPCOUNT_VALUE ); -READ_NUMBER ("KERNEL_IMAGE_SIZE" ,KERNEL_IMAGE_SIZE );READ_NUMBER ("phys_base" , phys_base);READ_NUMBER ("HUGETLB_PAGE_DTOR" ,HUGETLB_PAGE_DTOR );makedumpfile.h +0
-2@@ -573,8 +573,6 @@ int get_va_bits_arm64(void);#define VMEMMAP_END_2_6_31 (0xffffeaffffffffff) /* 2.6.31, or later */ #define __START_KERNEL_map (0xffffffff80000000) -#define KERNEL_IMAGE_SIZE_ORIG (0x0000000008000000)/* 2.6.25, or former */ -#define KERNEL_IMAGE_SIZE_2_6_26 (0x0000000020000000)/* 2.6.26, or later */#define KVBASE PAGE_OFFSET#define _SECTION_SIZE_BITS (27)#define
_MAX_PHYSMEM_BITS_ORIG(40)makedumpfile.h +0
-2@@ -1713,7 +1711,6 @@ struct number_table {long PG_hwpoison;long PAGE_BUDDY_MAPCOUNT_VALUE ; -long KERNEL_IMAGE_SIZE ;long SECTION_SIZE_BITS ;long MAX_PHYSMEM_BITS ;long HUGETLB_PAGE_DTOR ; --
Quoted 3 lines
2.5.5
_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec
Re: [PATCH 2/2] makedumpfile: Clean up unused KERNEL_IMAGE_SIZE
Quoted 8 lines · Dave Anderson
----- Original Message -----
Quoted 4 lines
The old
MODULES_VADDRneed be decided byKERNEL_IMAGE_SIZEwhen kaslr enabled. NowMODULES_VADDRis not needed any more since Pratyush makes all VA to PA converting done by page table lookup. So remove its related code.
Quoted 5 lines
Hi Bao,
I'm not clear on this. The crash utility still reads/needs
KERNEL_IMAGE_SIZEfrom the dumpfile's vmcoreinfo data. Is it being written to the vmcoreinfo section somewhere else in the code?
Aha, seems makedumpfile will get the vmcoreinfo offset and size, then write the whole vmcoreinfo block into dumped vmcore header. But if specify '-g' for makedumpfile to only generate a vmcoreinfo file, it won't contain KERNEL_IMAGE_SIZE.
makedumpfile -g vmcoreinfo -x vmlinux
So I am not sure if you care about vmcoreinfo file, but you are right, I should not remove the vmcoreinfo reading and writing data.
Thanks for pointing it out, will send v2 post.
Thanks
Baoquan
_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec
RE: [PATCH 2/2] makedumpfile: Clean up unused KERNEL_IMAGE_SIZE
Hello Baoquan,
Quoted 16 lines
Quoted 10 lines
Quoted 4 lines
The old
MODULES_VADDRneed be decided byKERNEL_IMAGE_SIZEwhen kaslr enabled. NowMODULES_VADDRis not needed any more since Pratyush makes all VA to PA converting done by page table lookup. So remove its related code.Hi Bao,
I'm not clear on this. The crash utility still reads/needs
KERNEL_IMAGE_SIZEfrom the dumpfile's vmcoreinfo data. Is it being written to the vmcoreinfo section somewhere else in the code?Aha, seems makedumpfile will get the vmcoreinfo offset and size, then write the whole vmcoreinfo block into dumped vmcore header. But if specify '-g' for makedumpfile to only generate a vmcoreinfo file, it won't contain
KERNEL_IMAGE_SIZE.
Quoted 6 lines
makedumpfile -g vmcoreinfo -x vmlinux
So I am not sure if you care about vmcoreinfo file, but you are right, I should not remove the vmcoreinfo reading and writing data.
Thanks for pointing it out, will send v2 post.
I understand the vmcoreinfo file generated by '-g' is used only for makedumpfile, so it's OK if it doesn't contain KERNEL_IMAGE_SIZE since crash doesn't refer to the file.
This patch doesn't modify the original vmcoreinfo section in dumpfile, it sounds reasonable to me.
Thanks,
Atsushi Kumagai
_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec
Re: [PATCH 2/2] makedumpfile: Clean up unused KERNEL_IMAGE_SIZE
Quoted 23 lines · Atsushi Kumagai
Hello Baoquan,
Quoted 21 lines
Quoted 10 lines
Quoted 4 lines
The old
MODULES_VADDRneed be decided byKERNEL_IMAGE_SIZEwhen kaslr enabled. NowMODULES_VADDRis not needed any more since Pratyush makes all VA to PA converting done by page table lookup. So remove its related code.Hi Bao,
I'm not clear on this. The crash utility still reads/needs
KERNEL_IMAGE_SIZEfrom the dumpfile's vmcoreinfo data. Is it being written to the vmcoreinfo section somewhere else in the code?Aha, seems makedumpfile will get the vmcoreinfo offset and size, then write the whole vmcoreinfo block into dumped vmcore header. But if specify '-g' for makedumpfile to only generate a vmcoreinfo file, it won't contain
KERNEL_IMAGE_SIZE.makedumpfile -g vmcoreinfo -x vmlinux
So I am not sure if you care about vmcoreinfo file, but you are right, I should not remove the vmcoreinfo reading and writing data.
Quoted 7 lines
Quoted 1 line
Thanks for pointing it out, will send v2 post.
I understand the vmcoreinfo file generated by '-g' is used only for makedumpfile, so it's OK if it doesn't contain
KERNEL_IMAGE_SIZEsince crash doesn't refer to the file.
This patch doesn't modify the original vmcoreinfo section in dumpfile, it sounds reasonable to me.
Thanks for your comments, Atsushi! Then I am fine.
Thanks
Baoquan
_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec
RE: [PATCH 2/2] makedumpfile: Clean up unused KERNEL_IMAGE_SIZE
Quoted 23 lines
Quoted 23 lines
Quoted 22 lines
Quoted 10 lines
Quoted 4 lines
The old
MODULES_VADDRneed be decided byKERNEL_IMAGE_SIZEwhen kaslr enabled. NowMODULES_VADDRis not needed any more since Pratyush makes all VA to PA converting done by page table lookup. So remove its related code.Hi Bao,
I'm not clear on this. The crash utility still reads/needs
KERNEL_IMAGE_SIZEfrom the dumpfile's vmcoreinfo data. Is it being written to the vmcoreinfo section somewhere else in the code?Aha, seems makedumpfile will get the vmcoreinfo offset and size, then write the whole vmcoreinfo block into dumped vmcore header. But if specify '-g' for makedumpfile to only generate a vmcoreinfo file, it won't contain
KERNEL_IMAGE_SIZE.makedumpfile -g vmcoreinfo -x vmlinux
So I am not sure if you care about vmcoreinfo file, but you are right, I should not remove the vmcoreinfo reading and writing data.
Thanks for pointing it out, will send v2 post.
Quoted 7 lines
Quoted 5 lines
I understand the vmcoreinfo file generated by '-g' is used only for makedumpfile, so it's OK if it doesn't contain
KERNEL_IMAGE_SIZEsince crash doesn't refer to the file.
This patch doesn't modify the original vmcoreinfo section in dumpfile, it sounds reasonable to me.Thanks for your comments, Atsushi! Then I am fine.
Additionally, I think it would be better to remove all of the code you added in commit 56649f7b6bfe7.
Thanks,
Atsushi Kumagai
_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec
Re: [PATCH 2/2] makedumpfile: Clean up unused KERNEL_IMAGE_SIZE
Quoted 29 lines · Atsushi Kumagai
Quoted 29 lines
Quoted 28 lines
Quoted 16 lines
Quoted 10 lines
Quoted 4 lines
The old
MODULES_VADDRneed be decided byKERNEL_IMAGE_SIZEwhen kaslr enabled. NowMODULES_VADDRis not needed any more since Pratyush makes all VA to PA converting done by page table lookup. So remove its related code.Hi Bao,
I'm not clear on this. The crash utility still reads/needs
KERNEL_IMAGE_SIZEfrom the dumpfile's vmcoreinfo data. Is it being written to the vmcoreinfo section somewhere else in the code?Aha, seems makedumpfile will get the vmcoreinfo offset and size, then write the whole vmcoreinfo block into dumped vmcore header. But if specify '-g' for makedumpfile to only generate a vmcoreinfo file, it won't contain
KERNEL_IMAGE_SIZE.Quoted 6 lines
makedumpfile -g vmcoreinfo -x vmlinux
So I am not sure if you care about vmcoreinfo file, but you are right, I should not remove the vmcoreinfo reading and writing data.
Thanks for pointing it out, will send v2 post.
I understand the vmcoreinfo file generated by '-g' is used only for makedumpfile, so it's OK if it doesn't contain
KERNEL_IMAGE_SIZEsince crash doesn't refer to the file.
This patch doesn't modify the original vmcoreinfo section in dumpfile, it sounds reasonable to me.
Quoted 4 lines
Quoted 1 line
Thanks for your comments, Atsushi! Then I am fine.
Additionally, I think it would be better to remove all of the code you added in commit
56649f7b6bfe7.
Check it again, seems patch 2/2 equals to reverting commit 56649f7b6bfe7. Did I miss anything?
Thanks
Baoquan
_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec
RE: [PATCH 2/2] makedumpfile: Clean up unused KERNEL_IMAGE_SIZE
Quoted 30 lines · Atsushi Kumagai
Quoted 29 lines
Quoted 29 lines
Quoted 28 lines
Quoted 16 lines
Quoted 10 lines
Quoted 4 lines
The old
MODULES_VADDRneed be decided byKERNEL_IMAGE_SIZEwhen kaslr enabled. NowMODULES_VADDRis not needed any more since Pratyush makes all VA to PA converting done by page table lookup. So remove its related code.Hi Bao,
I'm not clear on this. The crash utility still reads/needs
KERNEL_IMAGE_SIZEfrom the dumpfile's vmcoreinfo data. Is it being written to the vmcoreinfo section somewhere else in the code?Aha, seems makedumpfile will get the vmcoreinfo offset and size, then write the whole vmcoreinfo block into dumped vmcore header. But if specify '-g' for makedumpfile to only generate a vmcoreinfo file, it won't contain
KERNEL_IMAGE_SIZE.Quoted 6 lines
makedumpfile -g vmcoreinfo -x vmlinux
So I am not sure if you care about vmcoreinfo file, but you are right, I should not remove the vmcoreinfo reading and writing data.
Thanks for pointing it out, will send v2 post.
I understand the vmcoreinfo file generated by '-g' is used only for makedumpfile, so it's OK if it doesn't contain
KERNEL_IMAGE_SIZEsince crash doesn't refer to the file.
This patch doesn't modify the original vmcoreinfo section in dumpfile, it sounds reasonable to me.
Quoted 7 lines
Quoted 4 lines
Quoted 1 line
Thanks for your comments, Atsushi! Then I am fine.
Additionally, I think it would be better to remove all of the code you added in commit
56649f7b6bfe7.Check it again, seems patch 2/2 equals to reverting commit
56649f7b6bfe7. Did I miss anything?
You are right, it will be just a revert commit.
Thanks,
Atsushi Kumagai
_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec
Re: [PATCH 2/2] makedumpfile: Clean up unused KERNEL_IMAGE_SIZE
In reply to Baoquan He----- Original Message -----
Quoted 33 lines · Atsushi Kumagai
Quoted 24 lines
Hello Baoquan,
Quoted 22 lines
Quoted 11 lines
Quoted 5 lines
The old
MODULES_VADDRneed be decided byKERNEL_IMAGE_SIZEwhen kaslr enabled. NowMODULES_VADDRis not needed any more since Pratyush makes all VA to PA converting done by page table lookup. So remove its related
code.Hi Bao,
I'm not clear on this. The crash utility still reads/needs
KERNEL_IMAGE_SIZEfrom the dumpfile's vmcoreinfo data. Is it being written to the vmcoreinfo section somewhere else in the code?Aha, seems makedumpfile will get the vmcoreinfo offset and size, then write the whole vmcoreinfo block into dumped vmcore header. But if specify '-g' for makedumpfile to only generate a vmcoreinfo file, it won't contain
KERNEL_IMAGE_SIZE.makedumpfile -g vmcoreinfo -x vmlinux
So I am not sure if you care about vmcoreinfo file, but you are right, I should not remove the vmcoreinfo reading and writing data.
Quoted 7 lines
Quoted 1 line
Thanks for pointing it out, will send v2 post.
I understand the vmcoreinfo file generated by '-g' is used only for makedumpfile, so it's OK if it doesn't contain
KERNEL_IMAGE_SIZEsince crash doesn't refer to the file.
This patch doesn't modify the original vmcoreinfo section in dumpfile, it sounds reasonable to me.
Quoted 4 lines
Thanks for your comments, Atsushi! Then I am fine.
Thanks
Baoquan
I concur -- I wasn't even aware of the "makedumpfile -g" option.
Sorry for the noise...
Dave
_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec
Re: [PATCH 2/2] makedumpfile: Clean up unused KERNEL_IMAGE_SIZE
In reply to Baoquan HeSorry, I am not familiar with DWARF format, and KERNEL_IMAGE_SIZE is a defined MACRO. I don't know what DW_TAG_XXX_type should be taken to retrieve it when specify "-g" to generate vmcoreinfo file from vmlinux.
So drop this patch for now though it doesn't affect Dave's Crash code, will make time to try to add it later, I need work on other urgent things now. Or someone who is interested can add this.
Now only patch 1/2 is available.
Thanks
Baoquan
Quoted 71 lines · Baoquan He
The old
MODULES_VADDRneed be decided byKERNEL_IMAGE_SIZEwhen kaslr enabled. NowMODULES_VADDRis not needed any more since Pratyush makes all VA to PA converting done by page table lookup. So remove its related code.Signed-off-by Baoquan He <[email protected]>--- makedumpfile.c | 11 +---------- makedumpfile.h | 3 --- 2 files changed, 1 insertion(+), 13 deletions(-)makedumpfile.c +1
-10@@ -1994,14 +1994,7 @@ get_value_for_old_linux(void)NUMBER (PAGE_BUDDY_MAPCOUNT_VALUE ) = PAGE_BUDDY_MAPCOUNT_VALUE_v2_6_39_to_latest_version; } -#ifdef __x86_64__ -if (NUMBER (KERNEL_IMAGE_SIZE ) ==NOT_FOUND_NUMBER ) { -if (info->kernel_version <KERNEL_VERSION (2 ,6 ,26 )) -NUMBER (KERNEL_IMAGE_SIZE ) =KERNEL_IMAGE_SIZE_ORIG ; -else -NUMBER (KERNEL_IMAGE_SIZE ) =KERNEL_IMAGE_SIZE_2_6_26 ; - } -#endif +if (SIZE (pageflags) ==NOT_FOUND_STRUCTURE ) {if (info->kernel_version >=KERNEL_VERSION (2 ,6 ,27 )) SIZE(pageflags) =@@ -2258,7 +2251,6 @@ write_vmcoreinfo_data(void)WRITE_NUMBER ("PG_hwpoison" , PG_hwpoison);WRITE_NUMBER ("PAGE_BUDDY_MAPCOUNT_VALUE" ,PAGE_BUDDY_MAPCOUNT_VALUE ); -WRITE_NUMBER ("KERNEL_IMAGE_SIZE" ,KERNEL_IMAGE_SIZE );WRITE_NUMBER ("phys_base" , phys_base);WRITE_NUMBER ("HUGETLB_PAGE_DTOR" ,HUGETLB_PAGE_DTOR );@@ -2606,7 +2598,6 @@ read_vmcoreinfo(void)READ_SRCFILE ("pud_t" , pud_t);READ_NUMBER ("PAGE_BUDDY_MAPCOUNT_VALUE" ,PAGE_BUDDY_MAPCOUNT_VALUE ); -READ_NUMBER ("KERNEL_IMAGE_SIZE" ,KERNEL_IMAGE_SIZE );READ_NUMBER ("phys_base" , phys_base);READ_NUMBER ("HUGETLB_PAGE_DTOR" ,HUGETLB_PAGE_DTOR );makedumpfile.h +0
-3@@ -573,8 +573,6 @@ int get_va_bits_arm64(void);#define VMEMMAP_END_2_6_31 (0xffffeaffffffffff)/* 2.6.31, or later */ #define __START_KERNEL_map (0xffffffff80000000) -#define KERNEL_IMAGE_SIZE_ORIG (0x0000000008000000)/* 2.6.25, or former */ -#define KERNEL_IMAGE_SIZE_2_6_26 (0x0000000020000000)/* 2.6.26, or later */ #define KVBASE PAGE_OFFSET#define _SECTION_SIZE_BITS (27)#define _MAX_PHYSMEM_BITS_ORIG (40)@@ -1713,7 +1711,6 @@ struct number_table {long PG_hwpoison;long PAGE_BUDDY_MAPCOUNT_VALUE ; -long KERNEL_IMAGE_SIZE ;long SECTION_SIZE_BITS ;long MAX_PHYSMEM_BITS ;long HUGETLB_PAGE_DTOR ;Signature · 1 line
2.5.5
_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec