* [PATCH 0/7] Xen fixes and minor cleanups
@ 2013-07-12 13:48 ` Daniel Kiper
0 siblings, 0 replies; 26+ messages in thread
From: Daniel Kiper @ 2013-07-12 13:48 UTC (permalink / raw)
To: kumagai-atsushi-biTfD1RFvDe45+QrQBaojngSJqDPrsil,
kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
xen-devel-GuqFBffKawuULHF6PoxzQEEOCMrvLtNR
Hi,
This patch series contains following Xen fixes and cleanups:
- xen: Improve calculation of beginning of virtual address space,
- elf: Increase buf size in get_pt_note_info(),
- xen: Take into account new frame table address since Xen 4.3,
- xen: Enforce page size only when xen-syms file is used,
- Mute some compiler warnings,
- Use elf_getshdrstrndx() instead of elf_getshstrndx(),
- Do not break progress messages.
All patches were tested with Xen versions up to 4.3.
Daniel
^ permalink raw reply [flat|nested] 26+ messages in thread
* [PATCH 0/7] Xen fixes and minor cleanups
@ 2013-07-12 13:48 ` Daniel Kiper
0 siblings, 0 replies; 26+ messages in thread
From: Daniel Kiper @ 2013-07-12 13:48 UTC (permalink / raw)
To: kumagai-atsushi, kexec, xen-devel
Hi,
This patch series contains following Xen fixes and cleanups:
- xen: Improve calculation of beginning of virtual address space,
- elf: Increase buf size in get_pt_note_info(),
- xen: Take into account new frame table address since Xen 4.3,
- xen: Enforce page size only when xen-syms file is used,
- Mute some compiler warnings,
- Use elf_getshdrstrndx() instead of elf_getshstrndx(),
- Do not break progress messages.
All patches were tested with Xen versions up to 4.3.
Daniel
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
^ permalink raw reply [flat|nested] 26+ messages in thread
* [PATCH 1/7] xen: Improve calculation of beginning of virtual address space
2013-07-12 13:48 ` Daniel Kiper
@ 2013-07-12 13:48 ` Daniel Kiper
-1 siblings, 0 replies; 26+ messages in thread
From: Daniel Kiper @ 2013-07-12 13:48 UTC (permalink / raw)
To: kumagai-atsushi-biTfD1RFvDe45+QrQBaojngSJqDPrsil,
kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
xen-devel-GuqFBffKawuULHF6PoxzQEEOCMrvLtNR
Cc: Daniel Kiper
Xen commit 4b28bf6ae90bd83fd1113d8bdc53c3266ffeb328 (x86: re-introduce
map_domain_page() et al) once again altered virtual address space.
Current algorithm calculating its start could not cope with that change.
New version establishes this value on the base of domain_list placement
and is more generic.
Similar patch was applied to crash tool.
Signed-off-by: Daniel Kiper <daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
---
arch/x86_64.c | 16 +++++++++++-----
makedumpfile.h | 2 --
2 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/arch/x86_64.c b/arch/x86_64.c
index 8e61b20..d864a06 100644
--- a/arch/x86_64.c
+++ b/arch/x86_64.c
@@ -372,14 +372,20 @@ int get_xen_basic_info_x86_64(void)
info->xen_phys_start = info->xen_crash_info.v2->xen_phys_start;
}
+ info->xen_virt_start = SYMBOL(domain_list);
+
+ /*
+ * Xen virtual mapping is aligned to 1 GiB boundary.
+ * domain_list lives in bss which sits no more than
+ * 1 GiB below beginning of virtual address space.
+ */
+ info->xen_virt_start &= 0xffffffffc0000000;
+
if (info->xen_crash_info.com &&
- info->xen_crash_info.com->xen_major_version >= 4) {
- info->xen_virt_start = XEN_VIRT_START_V4;
+ info->xen_crash_info.com->xen_major_version >= 4)
info->directmap_virt_end = DIRECTMAP_VIRT_END_V4;
- } else {
- info->xen_virt_start = XEN_VIRT_START_V3;
+ else
info->directmap_virt_end = DIRECTMAP_VIRT_END_V3;
- }
if (SYMBOL(pgd_l4) == NOT_FOUND_SYMBOL) {
ERRMSG("Can't get pml4.\n");
diff --git a/makedumpfile.h b/makedumpfile.h
index a5826e0..1a87500 100644
--- a/makedumpfile.h
+++ b/makedumpfile.h
@@ -1473,8 +1473,6 @@ int get_xen_info_x86(void);
#define DIRECTMAP_VIRT_END_V3 (0xffff840000000000)
#define DIRECTMAP_VIRT_END_V4 (0xffff880000000000)
#define DIRECTMAP_VIRT_END (info->directmap_virt_end)
-#define XEN_VIRT_START_V3 (0xffff828c80000000)
-#define XEN_VIRT_START_V4 (0xffff82c480000000)
#define XEN_VIRT_START (info->xen_virt_start)
#define XEN_VIRT_END (XEN_VIRT_START + (1UL << 30))
#define FRAMETABLE_VIRT_START 0xffff82f600000000
--
1.7.10.4
^ permalink raw reply related [flat|nested] 26+ messages in thread
* [PATCH 1/7] xen: Improve calculation of beginning of virtual address space
@ 2013-07-12 13:48 ` Daniel Kiper
0 siblings, 0 replies; 26+ messages in thread
From: Daniel Kiper @ 2013-07-12 13:48 UTC (permalink / raw)
To: kumagai-atsushi, kexec, xen-devel; +Cc: Daniel Kiper
Xen commit 4b28bf6ae90bd83fd1113d8bdc53c3266ffeb328 (x86: re-introduce
map_domain_page() et al) once again altered virtual address space.
Current algorithm calculating its start could not cope with that change.
New version establishes this value on the base of domain_list placement
and is more generic.
Similar patch was applied to crash tool.
Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
---
arch/x86_64.c | 16 +++++++++++-----
makedumpfile.h | 2 --
2 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/arch/x86_64.c b/arch/x86_64.c
index 8e61b20..d864a06 100644
--- a/arch/x86_64.c
+++ b/arch/x86_64.c
@@ -372,14 +372,20 @@ int get_xen_basic_info_x86_64(void)
info->xen_phys_start = info->xen_crash_info.v2->xen_phys_start;
}
+ info->xen_virt_start = SYMBOL(domain_list);
+
+ /*
+ * Xen virtual mapping is aligned to 1 GiB boundary.
+ * domain_list lives in bss which sits no more than
+ * 1 GiB below beginning of virtual address space.
+ */
+ info->xen_virt_start &= 0xffffffffc0000000;
+
if (info->xen_crash_info.com &&
- info->xen_crash_info.com->xen_major_version >= 4) {
- info->xen_virt_start = XEN_VIRT_START_V4;
+ info->xen_crash_info.com->xen_major_version >= 4)
info->directmap_virt_end = DIRECTMAP_VIRT_END_V4;
- } else {
- info->xen_virt_start = XEN_VIRT_START_V3;
+ else
info->directmap_virt_end = DIRECTMAP_VIRT_END_V3;
- }
if (SYMBOL(pgd_l4) == NOT_FOUND_SYMBOL) {
ERRMSG("Can't get pml4.\n");
diff --git a/makedumpfile.h b/makedumpfile.h
index a5826e0..1a87500 100644
--- a/makedumpfile.h
+++ b/makedumpfile.h
@@ -1473,8 +1473,6 @@ int get_xen_info_x86(void);
#define DIRECTMAP_VIRT_END_V3 (0xffff840000000000)
#define DIRECTMAP_VIRT_END_V4 (0xffff880000000000)
#define DIRECTMAP_VIRT_END (info->directmap_virt_end)
-#define XEN_VIRT_START_V3 (0xffff828c80000000)
-#define XEN_VIRT_START_V4 (0xffff82c480000000)
#define XEN_VIRT_START (info->xen_virt_start)
#define XEN_VIRT_END (XEN_VIRT_START + (1UL << 30))
#define FRAMETABLE_VIRT_START 0xffff82f600000000
--
1.7.10.4
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
^ permalink raw reply related [flat|nested] 26+ messages in thread
* [PATCH 2/7] elf: Increase buf size in get_pt_note_info()
2013-07-12 13:48 ` Daniel Kiper
@ 2013-07-12 13:48 ` Daniel Kiper
-1 siblings, 0 replies; 26+ messages in thread
From: Daniel Kiper @ 2013-07-12 13:48 UTC (permalink / raw)
To: kumagai-atsushi-biTfD1RFvDe45+QrQBaojngSJqDPrsil,
kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
xen-devel-GuqFBffKawuULHF6PoxzQEEOCMrvLtNR
Cc: Daniel Kiper
get_pt_note_info() always ignores VMCOREINFO_XEN note
because buf size is too small. It does not have place
for \0 char which marks EOS. This patch fixes that bug
and VMCOREINFO_XEN note living in /proc/vmcore file
could be properly detected now.
Signed-off-by: Daniel Kiper <daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
---
elf_info.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/elf_info.c b/elf_info.c
index 0c1e36a..70a6dd2 100644
--- a/elf_info.c
+++ b/elf_info.c
@@ -310,7 +310,7 @@ get_pt_note_info(void)
{
int n_type, size_name, size_desc;
off_t offset, offset_desc;
- char buf[VMCOREINFO_XEN_NOTE_NAME_BYTES];
+ char buf[VMCOREINFO_XEN_NOTE_NAME_BYTES + 1];
char note[MAX_SIZE_NHDR];
nr_cpus = 0;
--
1.7.10.4
^ permalink raw reply related [flat|nested] 26+ messages in thread
* [PATCH 2/7] elf: Increase buf size in get_pt_note_info()
@ 2013-07-12 13:48 ` Daniel Kiper
0 siblings, 0 replies; 26+ messages in thread
From: Daniel Kiper @ 2013-07-12 13:48 UTC (permalink / raw)
To: kumagai-atsushi, kexec, xen-devel; +Cc: Daniel Kiper
get_pt_note_info() always ignores VMCOREINFO_XEN note
because buf size is too small. It does not have place
for \0 char which marks EOS. This patch fixes that bug
and VMCOREINFO_XEN note living in /proc/vmcore file
could be properly detected now.
Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
---
elf_info.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/elf_info.c b/elf_info.c
index 0c1e36a..70a6dd2 100644
--- a/elf_info.c
+++ b/elf_info.c
@@ -310,7 +310,7 @@ get_pt_note_info(void)
{
int n_type, size_name, size_desc;
off_t offset, offset_desc;
- char buf[VMCOREINFO_XEN_NOTE_NAME_BYTES];
+ char buf[VMCOREINFO_XEN_NOTE_NAME_BYTES + 1];
char note[MAX_SIZE_NHDR];
nr_cpus = 0;
--
1.7.10.4
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
^ permalink raw reply related [flat|nested] 26+ messages in thread
* [PATCH 3/7] xen: Take into account new frame table address since Xen 4.3
2013-07-12 13:48 ` Daniel Kiper
@ 2013-07-12 13:48 ` Daniel Kiper
-1 siblings, 0 replies; 26+ messages in thread
From: Daniel Kiper @ 2013-07-12 13:48 UTC (permalink / raw)
To: kumagai-atsushi-biTfD1RFvDe45+QrQBaojngSJqDPrsil,
kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
xen-devel-GuqFBffKawuULHF6PoxzQEEOCMrvLtNR
Cc: Daniel Kiper
Since Xen commit a8d2b06db7826063df9d04be9d6f928bf2189bd0
(x86: extend frame table virtual space) frame table has
new address. Take into account that thing.
Signed-off-by: Daniel Kiper <daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
---
arch/x86_64.c | 11 +++++++++--
makedumpfile.h | 21 +++++++++++----------
2 files changed, 20 insertions(+), 12 deletions(-)
diff --git a/arch/x86_64.c b/arch/x86_64.c
index d864a06..771d457 100644
--- a/arch/x86_64.c
+++ b/arch/x86_64.c
@@ -401,8 +401,15 @@ int get_xen_basic_info_x86_64(void)
return FALSE;
}
info->frame_table_vaddr = frame_table_vaddr;
- } else
- info->frame_table_vaddr = FRAMETABLE_VIRT_START;
+ } else {
+ if (info->xen_crash_info.com &&
+ ((info->xen_crash_info.com->xen_major_version == 4 &&
+ info->xen_crash_info.com->xen_minor_version >= 3) ||
+ info->xen_crash_info.com->xen_major_version > 4))
+ info->frame_table_vaddr = FRAMETABLE_VIRT_START_V4_3;
+ else
+ info->frame_table_vaddr = FRAMETABLE_VIRT_START_V3;
+ }
if (!info->xen_crash_info.com ||
info->xen_crash_info.com->xen_major_version < 4) {
diff --git a/makedumpfile.h b/makedumpfile.h
index 1a87500..1789a11 100644
--- a/makedumpfile.h
+++ b/makedumpfile.h
@@ -1466,16 +1466,17 @@ int get_xen_info_x86(void);
#define ENTRY_MASK (~0xfff0000000000fffULL)
#define MAX_X86_64_FRAMES (info->page_size / sizeof(unsigned long))
-#define PAGE_OFFSET_XEN_DOM0 (0xffff880000000000) /* different from linux */
-#define HYPERVISOR_VIRT_START (0xffff800000000000)
-#define HYPERVISOR_VIRT_END (0xffff880000000000)
-#define DIRECTMAP_VIRT_START (0xffff830000000000)
-#define DIRECTMAP_VIRT_END_V3 (0xffff840000000000)
-#define DIRECTMAP_VIRT_END_V4 (0xffff880000000000)
-#define DIRECTMAP_VIRT_END (info->directmap_virt_end)
-#define XEN_VIRT_START (info->xen_virt_start)
-#define XEN_VIRT_END (XEN_VIRT_START + (1UL << 30))
-#define FRAMETABLE_VIRT_START 0xffff82f600000000
+#define PAGE_OFFSET_XEN_DOM0 (0xffff880000000000) /* different from linux */
+#define HYPERVISOR_VIRT_START (0xffff800000000000)
+#define HYPERVISOR_VIRT_END (0xffff880000000000)
+#define DIRECTMAP_VIRT_START (0xffff830000000000)
+#define DIRECTMAP_VIRT_END_V3 (0xffff840000000000)
+#define DIRECTMAP_VIRT_END_V4 (0xffff880000000000)
+#define DIRECTMAP_VIRT_END (info->directmap_virt_end)
+#define XEN_VIRT_START (info->xen_virt_start)
+#define XEN_VIRT_END (XEN_VIRT_START + (1UL << 30))
+#define FRAMETABLE_VIRT_START_V3 0xffff82f600000000
+#define FRAMETABLE_VIRT_START_V4_3 0xffff82e000000000
#define is_xen_vaddr(x) \
((x) >= HYPERVISOR_VIRT_START && (x) < HYPERVISOR_VIRT_END)
--
1.7.10.4
^ permalink raw reply related [flat|nested] 26+ messages in thread
* [PATCH 3/7] xen: Take into account new frame table address since Xen 4.3
@ 2013-07-12 13:48 ` Daniel Kiper
0 siblings, 0 replies; 26+ messages in thread
From: Daniel Kiper @ 2013-07-12 13:48 UTC (permalink / raw)
To: kumagai-atsushi, kexec, xen-devel; +Cc: Daniel Kiper
Since Xen commit a8d2b06db7826063df9d04be9d6f928bf2189bd0
(x86: extend frame table virtual space) frame table has
new address. Take into account that thing.
Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
---
arch/x86_64.c | 11 +++++++++--
makedumpfile.h | 21 +++++++++++----------
2 files changed, 20 insertions(+), 12 deletions(-)
diff --git a/arch/x86_64.c b/arch/x86_64.c
index d864a06..771d457 100644
--- a/arch/x86_64.c
+++ b/arch/x86_64.c
@@ -401,8 +401,15 @@ int get_xen_basic_info_x86_64(void)
return FALSE;
}
info->frame_table_vaddr = frame_table_vaddr;
- } else
- info->frame_table_vaddr = FRAMETABLE_VIRT_START;
+ } else {
+ if (info->xen_crash_info.com &&
+ ((info->xen_crash_info.com->xen_major_version == 4 &&
+ info->xen_crash_info.com->xen_minor_version >= 3) ||
+ info->xen_crash_info.com->xen_major_version > 4))
+ info->frame_table_vaddr = FRAMETABLE_VIRT_START_V4_3;
+ else
+ info->frame_table_vaddr = FRAMETABLE_VIRT_START_V3;
+ }
if (!info->xen_crash_info.com ||
info->xen_crash_info.com->xen_major_version < 4) {
diff --git a/makedumpfile.h b/makedumpfile.h
index 1a87500..1789a11 100644
--- a/makedumpfile.h
+++ b/makedumpfile.h
@@ -1466,16 +1466,17 @@ int get_xen_info_x86(void);
#define ENTRY_MASK (~0xfff0000000000fffULL)
#define MAX_X86_64_FRAMES (info->page_size / sizeof(unsigned long))
-#define PAGE_OFFSET_XEN_DOM0 (0xffff880000000000) /* different from linux */
-#define HYPERVISOR_VIRT_START (0xffff800000000000)
-#define HYPERVISOR_VIRT_END (0xffff880000000000)
-#define DIRECTMAP_VIRT_START (0xffff830000000000)
-#define DIRECTMAP_VIRT_END_V3 (0xffff840000000000)
-#define DIRECTMAP_VIRT_END_V4 (0xffff880000000000)
-#define DIRECTMAP_VIRT_END (info->directmap_virt_end)
-#define XEN_VIRT_START (info->xen_virt_start)
-#define XEN_VIRT_END (XEN_VIRT_START + (1UL << 30))
-#define FRAMETABLE_VIRT_START 0xffff82f600000000
+#define PAGE_OFFSET_XEN_DOM0 (0xffff880000000000) /* different from linux */
+#define HYPERVISOR_VIRT_START (0xffff800000000000)
+#define HYPERVISOR_VIRT_END (0xffff880000000000)
+#define DIRECTMAP_VIRT_START (0xffff830000000000)
+#define DIRECTMAP_VIRT_END_V3 (0xffff840000000000)
+#define DIRECTMAP_VIRT_END_V4 (0xffff880000000000)
+#define DIRECTMAP_VIRT_END (info->directmap_virt_end)
+#define XEN_VIRT_START (info->xen_virt_start)
+#define XEN_VIRT_END (XEN_VIRT_START + (1UL << 30))
+#define FRAMETABLE_VIRT_START_V3 0xffff82f600000000
+#define FRAMETABLE_VIRT_START_V4_3 0xffff82e000000000
#define is_xen_vaddr(x) \
((x) >= HYPERVISOR_VIRT_START && (x) < HYPERVISOR_VIRT_END)
--
1.7.10.4
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
^ permalink raw reply related [flat|nested] 26+ messages in thread
* [PATCH 4/7] xen: Enforce page size only when xen-syms file is used
2013-07-12 13:48 ` Daniel Kiper
@ 2013-07-12 13:48 ` Daniel Kiper
-1 siblings, 0 replies; 26+ messages in thread
From: Daniel Kiper @ 2013-07-12 13:48 UTC (permalink / raw)
To: kumagai-atsushi-biTfD1RFvDe45+QrQBaojngSJqDPrsil,
kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
xen-devel-GuqFBffKawuULHF6PoxzQEEOCMrvLtNR
Cc: Daniel Kiper
Enforce page size only when xen-syms file is used.
Otherwise its size could be read from VMCOREINFO
file or /proc/vmcore file.
Signed-off-by: Daniel Kiper <daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
---
makedumpfile.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/makedumpfile.c b/makedumpfile.c
index b42565c..b4abbe5 100644
--- a/makedumpfile.c
+++ b/makedumpfile.c
@@ -7324,8 +7324,6 @@ initial_xen(void)
#endif
if (!init_xen_crash_info())
return FALSE;
- if (!fallback_to_current_page_size())
- return FALSE;
/*
* Get the debug information for analysis from the vmcoreinfo file
*/
@@ -7340,6 +7338,8 @@ initial_xen(void)
set_dwarf_debuginfo("xen-syms", NULL,
info->name_xen_syms, info->fd_xen_syms);
+ if (!fallback_to_current_page_size())
+ return FALSE;
if (!get_symbol_info_xen())
return FALSE;
if (!get_structure_info_xen())
--
1.7.10.4
^ permalink raw reply related [flat|nested] 26+ messages in thread
* [PATCH 4/7] xen: Enforce page size only when xen-syms file is used
@ 2013-07-12 13:48 ` Daniel Kiper
0 siblings, 0 replies; 26+ messages in thread
From: Daniel Kiper @ 2013-07-12 13:48 UTC (permalink / raw)
To: kumagai-atsushi, kexec, xen-devel; +Cc: Daniel Kiper
Enforce page size only when xen-syms file is used.
Otherwise its size could be read from VMCOREINFO
file or /proc/vmcore file.
Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
---
makedumpfile.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/makedumpfile.c b/makedumpfile.c
index b42565c..b4abbe5 100644
--- a/makedumpfile.c
+++ b/makedumpfile.c
@@ -7324,8 +7324,6 @@ initial_xen(void)
#endif
if (!init_xen_crash_info())
return FALSE;
- if (!fallback_to_current_page_size())
- return FALSE;
/*
* Get the debug information for analysis from the vmcoreinfo file
*/
@@ -7340,6 +7338,8 @@ initial_xen(void)
set_dwarf_debuginfo("xen-syms", NULL,
info->name_xen_syms, info->fd_xen_syms);
+ if (!fallback_to_current_page_size())
+ return FALSE;
if (!get_symbol_info_xen())
return FALSE;
if (!get_structure_info_xen())
--
1.7.10.4
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
^ permalink raw reply related [flat|nested] 26+ messages in thread
* [PATCH 5/7] Mute some compiler warnings
2013-07-12 13:48 ` Daniel Kiper
@ 2013-07-12 13:48 ` Daniel Kiper
-1 siblings, 0 replies; 26+ messages in thread
From: Daniel Kiper @ 2013-07-12 13:48 UTC (permalink / raw)
To: kumagai-atsushi-biTfD1RFvDe45+QrQBaojngSJqDPrsil,
kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
xen-devel-GuqFBffKawuULHF6PoxzQEEOCMrvLtNR
Cc: Daniel Kiper
This patch mutes follwing compiler warnings:
- warning: assignment discards ‘const’ qualifier from
pointer target type [enabled by default],
- warning: variable ‘page_offset’ set but not used
[-Wunused-but-set-variable].
Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
---
dwarf_info.c | 4 ++--
sadump_info.c | 2 --
2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/dwarf_info.c b/dwarf_info.c
index 6e21b8a..86cae69 100644
--- a/dwarf_info.c
+++ b/dwarf_info.c
@@ -1427,7 +1427,7 @@ get_die_member(unsigned long long die_off, int index, long *offset,
if (!get_data_member_location(die, offset))
*offset = 0;
- *name = dwarf_diename(die);
+ *name = (char *)dwarf_diename(die);
/*
* Duplicate the string before we pass it to eppic layer. The
* original string returned by dwarf layer will become invalid
@@ -1513,7 +1513,7 @@ get_die_name(unsigned long long die_off)
return NULL;
}
- name = dwarf_diename(&result);
+ name = (char *)dwarf_diename(&result);
if (name)
name = strdup(name);
clean_dwfl_info();
diff --git a/sadump_info.c b/sadump_info.c
index be6cf55..01cf5eb 100644
--- a/sadump_info.c
+++ b/sadump_info.c
@@ -948,7 +948,6 @@ int
readpage_sadump(unsigned long long paddr, void *bufptr)
{
unsigned long long pfn, block, whole_offset, perdisk_offset;
- ulong page_offset;
int fd_memory;
if (si->kdump_backed_up &&
@@ -957,7 +956,6 @@ readpage_sadump(unsigned long long paddr, void *bufptr)
paddr += si->backup_offset - si->backup_src_start;
pfn = paddr_to_pfn(paddr);
- page_offset = paddr % info->page_size;
if (pfn >= si->sh_memory->max_mapnr)
return FALSE;
--
1.7.10.4
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
^ permalink raw reply related [flat|nested] 26+ messages in thread
* [PATCH 5/7] Mute some compiler warnings
@ 2013-07-12 13:48 ` Daniel Kiper
0 siblings, 0 replies; 26+ messages in thread
From: Daniel Kiper @ 2013-07-12 13:48 UTC (permalink / raw)
To: kumagai-atsushi, kexec, xen-devel; +Cc: Daniel Kiper
This patch mutes follwing compiler warnings:
- warning: assignment discards ‘const’ qualifier from
pointer target type [enabled by default],
- warning: variable ‘page_offset’ set but not used
[-Wunused-but-set-variable].
Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
---
dwarf_info.c | 4 ++--
sadump_info.c | 2 --
2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/dwarf_info.c b/dwarf_info.c
index 6e21b8a..86cae69 100644
--- a/dwarf_info.c
+++ b/dwarf_info.c
@@ -1427,7 +1427,7 @@ get_die_member(unsigned long long die_off, int index, long *offset,
if (!get_data_member_location(die, offset))
*offset = 0;
- *name = dwarf_diename(die);
+ *name = (char *)dwarf_diename(die);
/*
* Duplicate the string before we pass it to eppic layer. The
* original string returned by dwarf layer will become invalid
@@ -1513,7 +1513,7 @@ get_die_name(unsigned long long die_off)
return NULL;
}
- name = dwarf_diename(&result);
+ name = (char *)dwarf_diename(&result);
if (name)
name = strdup(name);
clean_dwfl_info();
diff --git a/sadump_info.c b/sadump_info.c
index be6cf55..01cf5eb 100644
--- a/sadump_info.c
+++ b/sadump_info.c
@@ -948,7 +948,6 @@ int
readpage_sadump(unsigned long long paddr, void *bufptr)
{
unsigned long long pfn, block, whole_offset, perdisk_offset;
- ulong page_offset;
int fd_memory;
if (si->kdump_backed_up &&
@@ -957,7 +956,6 @@ readpage_sadump(unsigned long long paddr, void *bufptr)
paddr += si->backup_offset - si->backup_src_start;
pfn = paddr_to_pfn(paddr);
- page_offset = paddr % info->page_size;
if (pfn >= si->sh_memory->max_mapnr)
return FALSE;
--
1.7.10.4
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
^ permalink raw reply related [flat|nested] 26+ messages in thread
* [PATCH 6/7] Use elf_getshdrstrndx() instead of elf_getshstrndx()
2013-07-12 13:48 ` Daniel Kiper
@ 2013-07-12 13:48 ` Daniel Kiper
-1 siblings, 0 replies; 26+ messages in thread
From: Daniel Kiper @ 2013-07-12 13:48 UTC (permalink / raw)
To: kumagai-atsushi-biTfD1RFvDe45+QrQBaojngSJqDPrsil,
kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
xen-devel-GuqFBffKawuULHF6PoxzQEEOCMrvLtNR
Cc: Daniel Kiper
Use elf_getshdrstrndx() instead of elf_getshstrndx()
because later is marked as deprecated.
Signed-off-by: Daniel Kiper <daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
---
dwarf_info.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dwarf_info.c b/dwarf_info.c
index 86cae69..3678cbe 100644
--- a/dwarf_info.c
+++ b/dwarf_info.c
@@ -944,7 +944,7 @@ get_debug_info(void)
elfd = dwarf_info.elfd;
dwarfd = dwarf_info.dwarfd;
- if (elf_getshstrndx(elfd, &shstrndx) < 0) {
+ if (elf_getshdrstrndx(elfd, &shstrndx) < 0) {
ERRMSG("Can't get the section index of the string table.\n");
goto out;
}
--
1.7.10.4
^ permalink raw reply related [flat|nested] 26+ messages in thread
* [PATCH 6/7] Use elf_getshdrstrndx() instead of elf_getshstrndx()
@ 2013-07-12 13:48 ` Daniel Kiper
0 siblings, 0 replies; 26+ messages in thread
From: Daniel Kiper @ 2013-07-12 13:48 UTC (permalink / raw)
To: kumagai-atsushi, kexec, xen-devel; +Cc: Daniel Kiper
Use elf_getshdrstrndx() instead of elf_getshstrndx()
because later is marked as deprecated.
Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
---
dwarf_info.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dwarf_info.c b/dwarf_info.c
index 86cae69..3678cbe 100644
--- a/dwarf_info.c
+++ b/dwarf_info.c
@@ -944,7 +944,7 @@ get_debug_info(void)
elfd = dwarf_info.elfd;
dwarfd = dwarf_info.dwarfd;
- if (elf_getshstrndx(elfd, &shstrndx) < 0) {
+ if (elf_getshdrstrndx(elfd, &shstrndx) < 0) {
ERRMSG("Can't get the section index of the string table.\n");
goto out;
}
--
1.7.10.4
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
^ permalink raw reply related [flat|nested] 26+ messages in thread
* [PATCH 7/7] Do not break progress messages
2013-07-12 13:48 ` Daniel Kiper
@ 2013-07-12 13:48 ` Daniel Kiper
-1 siblings, 0 replies; 26+ messages in thread
From: Daniel Kiper @ 2013-07-12 13:48 UTC (permalink / raw)
To: kumagai-atsushi-biTfD1RFvDe45+QrQBaojngSJqDPrsil,
kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
xen-devel-GuqFBffKawuULHF6PoxzQEEOCMrvLtNR
Cc: Daniel Kiper
DEBUG_MSG() displaying erase info size breaks progress messages.
Fix this by moving relevant DEBUG_MSG() to write_elf_eraseinfo().
Signed-off-by: Daniel Kiper <daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
---
makedumpfile.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/makedumpfile.c b/makedumpfile.c
index b4abbe5..a3bfc80 100644
--- a/makedumpfile.c
+++ b/makedumpfile.c
@@ -5045,7 +5045,6 @@ write_elf_header(struct cache_data *cd_header)
* function.
*/
info->size_elf_eraseinfo = size_eraseinfo;
- DEBUG_MSG("erase info size: %lu\n", info->size_elf_eraseinfo);
/*
* Write a PT_NOTE header.
@@ -6326,6 +6325,8 @@ write_elf_eraseinfo(struct cache_data *cd_header)
off_t offset_eraseinfo;
unsigned long note_header_size, size_written, size_note;
+ DEBUG_MSG("erase info size: %lu\n", info->size_elf_eraseinfo);
+
if (!info->size_elf_eraseinfo)
return TRUE;
--
1.7.10.4
^ permalink raw reply related [flat|nested] 26+ messages in thread
* [PATCH 7/7] Do not break progress messages
@ 2013-07-12 13:48 ` Daniel Kiper
0 siblings, 0 replies; 26+ messages in thread
From: Daniel Kiper @ 2013-07-12 13:48 UTC (permalink / raw)
To: kumagai-atsushi, kexec, xen-devel; +Cc: Daniel Kiper
DEBUG_MSG() displaying erase info size breaks progress messages.
Fix this by moving relevant DEBUG_MSG() to write_elf_eraseinfo().
Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
---
makedumpfile.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/makedumpfile.c b/makedumpfile.c
index b4abbe5..a3bfc80 100644
--- a/makedumpfile.c
+++ b/makedumpfile.c
@@ -5045,7 +5045,6 @@ write_elf_header(struct cache_data *cd_header)
* function.
*/
info->size_elf_eraseinfo = size_eraseinfo;
- DEBUG_MSG("erase info size: %lu\n", info->size_elf_eraseinfo);
/*
* Write a PT_NOTE header.
@@ -6326,6 +6325,8 @@ write_elf_eraseinfo(struct cache_data *cd_header)
off_t offset_eraseinfo;
unsigned long note_header_size, size_written, size_note;
+ DEBUG_MSG("erase info size: %lu\n", info->size_elf_eraseinfo);
+
if (!info->size_elf_eraseinfo)
return TRUE;
--
1.7.10.4
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
^ permalink raw reply related [flat|nested] 26+ messages in thread
* Re: [Xen-devel] [PATCH 0/7] Xen fixes and minor cleanups
2013-07-12 13:48 ` Daniel Kiper
@ 2013-07-12 14:01 ` Andrew Cooper
-1 siblings, 0 replies; 26+ messages in thread
From: Andrew Cooper @ 2013-07-12 14:01 UTC (permalink / raw)
To: Daniel Kiper
Cc: kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
xen-devel-GuqFBffKawuULHF6PoxzQEEOCMrvLtNR,
kumagai-atsushi-biTfD1RFvDe45+QrQBaojngSJqDPrsil
On 12/07/13 14:48, Daniel Kiper wrote:
> Hi,
>
> This patch series contains following Xen fixes and cleanups:
> - xen: Improve calculation of beginning of virtual address space,
> - elf: Increase buf size in get_pt_note_info(),
> - xen: Take into account new frame table address since Xen 4.3,
> - xen: Enforce page size only when xen-syms file is used,
> - Mute some compiler warnings,
> - Use elf_getshdrstrndx() instead of elf_getshstrndx(),
> - Do not break progress messages.
>
> All patches were tested with Xen versions up to 4.3.
>
> Daniel
I presume these are all kexec-tools fixes, given the files patched, but
no specific statement one way or another?
~Andrew
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel-GuqFBffKawuEi8DpZVb4nw@public.gmane.org
> http://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [Xen-devel] [PATCH 0/7] Xen fixes and minor cleanups
@ 2013-07-12 14:01 ` Andrew Cooper
0 siblings, 0 replies; 26+ messages in thread
From: Andrew Cooper @ 2013-07-12 14:01 UTC (permalink / raw)
To: Daniel Kiper; +Cc: kexec, xen-devel, kumagai-atsushi
On 12/07/13 14:48, Daniel Kiper wrote:
> Hi,
>
> This patch series contains following Xen fixes and cleanups:
> - xen: Improve calculation of beginning of virtual address space,
> - elf: Increase buf size in get_pt_note_info(),
> - xen: Take into account new frame table address since Xen 4.3,
> - xen: Enforce page size only when xen-syms file is used,
> - Mute some compiler warnings,
> - Use elf_getshdrstrndx() instead of elf_getshstrndx(),
> - Do not break progress messages.
>
> All patches were tested with Xen versions up to 4.3.
>
> Daniel
I presume these are all kexec-tools fixes, given the files patched, but
no specific statement one way or another?
~Andrew
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [Xen-devel] [PATCH 2/7] elf: Increase buf size in get_pt_note_info()
2013-07-12 13:48 ` Daniel Kiper
@ 2013-07-12 14:04 ` Andrew Cooper
-1 siblings, 0 replies; 26+ messages in thread
From: Andrew Cooper @ 2013-07-12 14:04 UTC (permalink / raw)
To: Daniel Kiper
Cc: kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
xen-devel-GuqFBffKawuULHF6PoxzQEEOCMrvLtNR,
kumagai-atsushi-biTfD1RFvDe45+QrQBaojngSJqDPrsil
On 12/07/13 14:48, Daniel Kiper wrote:
> get_pt_note_info() always ignores VMCOREINFO_XEN note
> because buf size is too small. It does not have place
> for \0 char which marks EOS. This patch fixes that bug
> and VMCOREINFO_XEN note living in /proc/vmcore file
> could be properly detected now.
>
> Signed-off-by: Daniel Kiper <daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
> ---
> elf_info.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/elf_info.c b/elf_info.c
> index 0c1e36a..70a6dd2 100644
> --- a/elf_info.c
> +++ b/elf_info.c
> @@ -310,7 +310,7 @@ get_pt_note_info(void)
> {
> int n_type, size_name, size_desc;
> off_t offset, offset_desc;
> - char buf[VMCOREINFO_XEN_NOTE_NAME_BYTES];
> + char buf[VMCOREINFO_XEN_NOTE_NAME_BYTES + 1];
> char note[MAX_SIZE_NHDR];
>
> nr_cpus = 0;
Elf Note namesz is defined to include the terminating null character, so
I would argue that VMCOREINFO_XEN_NOTE_NAME_BYTES is off-by-one.
~Andrew
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [Xen-devel] [PATCH 2/7] elf: Increase buf size in get_pt_note_info()
@ 2013-07-12 14:04 ` Andrew Cooper
0 siblings, 0 replies; 26+ messages in thread
From: Andrew Cooper @ 2013-07-12 14:04 UTC (permalink / raw)
To: Daniel Kiper; +Cc: kexec, xen-devel, kumagai-atsushi
On 12/07/13 14:48, Daniel Kiper wrote:
> get_pt_note_info() always ignores VMCOREINFO_XEN note
> because buf size is too small. It does not have place
> for \0 char which marks EOS. This patch fixes that bug
> and VMCOREINFO_XEN note living in /proc/vmcore file
> could be properly detected now.
>
> Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
> ---
> elf_info.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/elf_info.c b/elf_info.c
> index 0c1e36a..70a6dd2 100644
> --- a/elf_info.c
> +++ b/elf_info.c
> @@ -310,7 +310,7 @@ get_pt_note_info(void)
> {
> int n_type, size_name, size_desc;
> off_t offset, offset_desc;
> - char buf[VMCOREINFO_XEN_NOTE_NAME_BYTES];
> + char buf[VMCOREINFO_XEN_NOTE_NAME_BYTES + 1];
> char note[MAX_SIZE_NHDR];
>
> nr_cpus = 0;
Elf Note namesz is defined to include the terminating null character, so
I would argue that VMCOREINFO_XEN_NOTE_NAME_BYTES is off-by-one.
~Andrew
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [Xen-devel] [PATCH 5/7] Mute some compiler warnings
2013-07-12 13:48 ` Daniel Kiper
@ 2013-07-12 14:12 ` Andrew Cooper
-1 siblings, 0 replies; 26+ messages in thread
From: Andrew Cooper @ 2013-07-12 14:12 UTC (permalink / raw)
To: Daniel Kiper
Cc: kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
xen-devel-GuqFBffKawuULHF6PoxzQEEOCMrvLtNR,
kumagai-atsushi-biTfD1RFvDe45+QrQBaojngSJqDPrsil
On 12/07/13 14:48, Daniel Kiper wrote:
> This patch mutes follwing compiler warnings:
> - warning: assignment discards ‘const’ qualifier from
> pointer target type [enabled by default],
> - warning: variable ‘page_offset’ set but not used
> [-Wunused-but-set-variable].
>
> Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
> ---
> dwarf_info.c | 4 ++--
> sadump_info.c | 2 --
> 2 files changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/dwarf_info.c b/dwarf_info.c
> index 6e21b8a..86cae69 100644
> --- a/dwarf_info.c
> +++ b/dwarf_info.c
> @@ -1427,7 +1427,7 @@ get_die_member(unsigned long long die_off, int index, long *offset,
> if (!get_data_member_location(die, offset))
> *offset = 0;
>
> - *name = dwarf_diename(die);
> + *name = (char *)dwarf_diename(die);
Discarding a const qualifier like this is usually a good sign that you
are misusing name in the first place.
Indeed, name is merely non-const to strdup() and reuse the same variable.
This would be more clearly done using
const char * diename = dwarf_diename(&result) ;
and
name = strdup(diename);
~Andrew
> /*
> * Duplicate the string before we pass it to eppic layer. The
> * original string returned by dwarf layer will become invalid
> @@ -1513,7 +1513,7 @@ get_die_name(unsigned long long die_off)
> return NULL;
> }
>
> - name = dwarf_diename(&result);
> + name = (char *)dwarf_diename(&result);
> if (name)
> name = strdup(name);
> clean_dwfl_info();
> diff --git a/sadump_info.c b/sadump_info.c
> index be6cf55..01cf5eb 100644
> --- a/sadump_info.c
> +++ b/sadump_info.c
> @@ -948,7 +948,6 @@ int
> readpage_sadump(unsigned long long paddr, void *bufptr)
> {
> unsigned long long pfn, block, whole_offset, perdisk_offset;
> - ulong page_offset;
> int fd_memory;
>
> if (si->kdump_backed_up &&
> @@ -957,7 +956,6 @@ readpage_sadump(unsigned long long paddr, void *bufptr)
> paddr += si->backup_offset - si->backup_src_start;
>
> pfn = paddr_to_pfn(paddr);
> - page_offset = paddr % info->page_size;
>
> if (pfn >= si->sh_memory->max_mapnr)
> return FALSE;
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [Xen-devel] [PATCH 5/7] Mute some compiler warnings
@ 2013-07-12 14:12 ` Andrew Cooper
0 siblings, 0 replies; 26+ messages in thread
From: Andrew Cooper @ 2013-07-12 14:12 UTC (permalink / raw)
To: Daniel Kiper; +Cc: kexec, xen-devel, kumagai-atsushi
On 12/07/13 14:48, Daniel Kiper wrote:
> This patch mutes follwing compiler warnings:
> - warning: assignment discards ‘const’ qualifier from
> pointer target type [enabled by default],
> - warning: variable ‘page_offset’ set but not used
> [-Wunused-but-set-variable].
>
> Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
> ---
> dwarf_info.c | 4 ++--
> sadump_info.c | 2 --
> 2 files changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/dwarf_info.c b/dwarf_info.c
> index 6e21b8a..86cae69 100644
> --- a/dwarf_info.c
> +++ b/dwarf_info.c
> @@ -1427,7 +1427,7 @@ get_die_member(unsigned long long die_off, int index, long *offset,
> if (!get_data_member_location(die, offset))
> *offset = 0;
>
> - *name = dwarf_diename(die);
> + *name = (char *)dwarf_diename(die);
Discarding a const qualifier like this is usually a good sign that you
are misusing name in the first place.
Indeed, name is merely non-const to strdup() and reuse the same variable.
This would be more clearly done using
const char * diename = dwarf_diename(&result) ;
and
name = strdup(diename);
~Andrew
> /*
> * Duplicate the string before we pass it to eppic layer. The
> * original string returned by dwarf layer will become invalid
> @@ -1513,7 +1513,7 @@ get_die_name(unsigned long long die_off)
> return NULL;
> }
>
> - name = dwarf_diename(&result);
> + name = (char *)dwarf_diename(&result);
> if (name)
> name = strdup(name);
> clean_dwfl_info();
> diff --git a/sadump_info.c b/sadump_info.c
> index be6cf55..01cf5eb 100644
> --- a/sadump_info.c
> +++ b/sadump_info.c
> @@ -948,7 +948,6 @@ int
> readpage_sadump(unsigned long long paddr, void *bufptr)
> {
> unsigned long long pfn, block, whole_offset, perdisk_offset;
> - ulong page_offset;
> int fd_memory;
>
> if (si->kdump_backed_up &&
> @@ -957,7 +956,6 @@ readpage_sadump(unsigned long long paddr, void *bufptr)
> paddr += si->backup_offset - si->backup_src_start;
>
> pfn = paddr_to_pfn(paddr);
> - page_offset = paddr % info->page_size;
>
> if (pfn >= si->sh_memory->max_mapnr)
> return FALSE;
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [Xen-devel] [PATCH 0/7] Xen fixes and minor cleanups
2013-07-12 14:01 ` Andrew Cooper
@ 2013-07-12 14:30 ` Daniel Kiper
-1 siblings, 0 replies; 26+ messages in thread
From: Daniel Kiper @ 2013-07-12 14:30 UTC (permalink / raw)
To: Andrew Cooper
Cc: kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
xen-devel-GuqFBffKawuULHF6PoxzQEEOCMrvLtNR,
kumagai-atsushi-biTfD1RFvDe45+QrQBaojngSJqDPrsil
On Fri, Jul 12, 2013 at 03:01:22PM +0100, Andrew Cooper wrote:
> On 12/07/13 14:48, Daniel Kiper wrote:
> > Hi,
> >
> > This patch series contains following Xen fixes and cleanups:
> > - xen: Improve calculation of beginning of virtual address space,
> > - elf: Increase buf size in get_pt_note_info(),
> > - xen: Take into account new frame table address since Xen 4.3,
> > - xen: Enforce page size only when xen-syms file is used,
> > - Mute some compiler warnings,
> > - Use elf_getshdrstrndx() instead of elf_getshstrndx(),
> > - Do not break progress messages.
> >
> > All patches were tested with Xen versions up to 4.3.
> >
> > Daniel
>
> I presume these are all kexec-tools fixes, given the files patched, but
> no specific statement one way or another?
Sorry, I forgot to mention that this is makedumpfile patch series.
Daniel
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [Xen-devel] [PATCH 0/7] Xen fixes and minor cleanups
@ 2013-07-12 14:30 ` Daniel Kiper
0 siblings, 0 replies; 26+ messages in thread
From: Daniel Kiper @ 2013-07-12 14:30 UTC (permalink / raw)
To: Andrew Cooper; +Cc: kexec, xen-devel, kumagai-atsushi
On Fri, Jul 12, 2013 at 03:01:22PM +0100, Andrew Cooper wrote:
> On 12/07/13 14:48, Daniel Kiper wrote:
> > Hi,
> >
> > This patch series contains following Xen fixes and cleanups:
> > - xen: Improve calculation of beginning of virtual address space,
> > - elf: Increase buf size in get_pt_note_info(),
> > - xen: Take into account new frame table address since Xen 4.3,
> > - xen: Enforce page size only when xen-syms file is used,
> > - Mute some compiler warnings,
> > - Use elf_getshdrstrndx() instead of elf_getshstrndx(),
> > - Do not break progress messages.
> >
> > All patches were tested with Xen versions up to 4.3.
> >
> > Daniel
>
> I presume these are all kexec-tools fixes, given the files patched, but
> no specific statement one way or another?
Sorry, I forgot to mention that this is makedumpfile patch series.
Daniel
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [Xen-devel] [PATCH 2/7] elf: Increase buf size in get_pt_note_info()
2013-07-12 14:04 ` Andrew Cooper
@ 2013-07-12 19:09 ` Daniel Kiper
-1 siblings, 0 replies; 26+ messages in thread
From: Daniel Kiper @ 2013-07-12 19:09 UTC (permalink / raw)
To: Andrew Cooper
Cc: kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
xen-devel-GuqFBffKawuULHF6PoxzQEEOCMrvLtNR,
kumagai-atsushi-biTfD1RFvDe45+QrQBaojngSJqDPrsil
On Fri, Jul 12, 2013 at 03:04:41PM +0100, Andrew Cooper wrote:
> On 12/07/13 14:48, Daniel Kiper wrote:
> > get_pt_note_info() always ignores VMCOREINFO_XEN note
> > because buf size is too small. It does not have place
> > for \0 char which marks EOS. This patch fixes that bug
> > and VMCOREINFO_XEN note living in /proc/vmcore file
> > could be properly detected now.
> >
> > Signed-off-by: Daniel Kiper <daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
> > ---
> > elf_info.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/elf_info.c b/elf_info.c
> > index 0c1e36a..70a6dd2 100644
> > --- a/elf_info.c
> > +++ b/elf_info.c
> > @@ -310,7 +310,7 @@ get_pt_note_info(void)
> > {
> > int n_type, size_name, size_desc;
> > off_t offset, offset_desc;
> > - char buf[VMCOREINFO_XEN_NOTE_NAME_BYTES];
> > + char buf[VMCOREINFO_XEN_NOTE_NAME_BYTES + 1];
> > char note[MAX_SIZE_NHDR];
> >
> > nr_cpus = 0;
>
> Elf Note namesz is defined to include the terminating null character, so
> I would argue that VMCOREINFO_XEN_NOTE_NAME_BYTES is off-by-one.
I have checked that once again. By mistake I have assumed that
sizeof("string") does not take into account \0 char (like strlen()).
It means that in real buf could accommodate VMCOREINFO_XEN string
with EOS and relevant condition should be fixed instead of buf size.
I will fix it in second patch series release.
Thanks,
Daniel
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [Xen-devel] [PATCH 2/7] elf: Increase buf size in get_pt_note_info()
@ 2013-07-12 19:09 ` Daniel Kiper
0 siblings, 0 replies; 26+ messages in thread
From: Daniel Kiper @ 2013-07-12 19:09 UTC (permalink / raw)
To: Andrew Cooper; +Cc: kexec, xen-devel, kumagai-atsushi
On Fri, Jul 12, 2013 at 03:04:41PM +0100, Andrew Cooper wrote:
> On 12/07/13 14:48, Daniel Kiper wrote:
> > get_pt_note_info() always ignores VMCOREINFO_XEN note
> > because buf size is too small. It does not have place
> > for \0 char which marks EOS. This patch fixes that bug
> > and VMCOREINFO_XEN note living in /proc/vmcore file
> > could be properly detected now.
> >
> > Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
> > ---
> > elf_info.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/elf_info.c b/elf_info.c
> > index 0c1e36a..70a6dd2 100644
> > --- a/elf_info.c
> > +++ b/elf_info.c
> > @@ -310,7 +310,7 @@ get_pt_note_info(void)
> > {
> > int n_type, size_name, size_desc;
> > off_t offset, offset_desc;
> > - char buf[VMCOREINFO_XEN_NOTE_NAME_BYTES];
> > + char buf[VMCOREINFO_XEN_NOTE_NAME_BYTES + 1];
> > char note[MAX_SIZE_NHDR];
> >
> > nr_cpus = 0;
>
> Elf Note namesz is defined to include the terminating null character, so
> I would argue that VMCOREINFO_XEN_NOTE_NAME_BYTES is off-by-one.
I have checked that once again. By mistake I have assumed that
sizeof("string") does not take into account \0 char (like strlen()).
It means that in real buf could accommodate VMCOREINFO_XEN string
with EOS and relevant condition should be fixed instead of buf size.
I will fix it in second patch series release.
Thanks,
Daniel
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
^ permalink raw reply [flat|nested] 26+ messages in thread
end of thread, other threads:[~2013-07-12 19:10 UTC | newest]
Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-12 13:48 [PATCH 0/7] Xen fixes and minor cleanups Daniel Kiper
2013-07-12 13:48 ` Daniel Kiper
[not found] ` <1373636895-31682-1-git-send-email-daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2013-07-12 13:48 ` [PATCH 1/7] xen: Improve calculation of beginning of virtual address space Daniel Kiper
2013-07-12 13:48 ` Daniel Kiper
2013-07-12 13:48 ` [PATCH 2/7] elf: Increase buf size in get_pt_note_info() Daniel Kiper
2013-07-12 13:48 ` Daniel Kiper
[not found] ` <1373636895-31682-3-git-send-email-daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2013-07-12 14:04 ` [Xen-devel] " Andrew Cooper
2013-07-12 14:04 ` Andrew Cooper
[not found] ` <51E00CF9.7080604-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org>
2013-07-12 19:09 ` Daniel Kiper
2013-07-12 19:09 ` Daniel Kiper
2013-07-12 13:48 ` [PATCH 3/7] xen: Take into account new frame table address since Xen 4.3 Daniel Kiper
2013-07-12 13:48 ` Daniel Kiper
2013-07-12 13:48 ` [PATCH 4/7] xen: Enforce page size only when xen-syms file is used Daniel Kiper
2013-07-12 13:48 ` Daniel Kiper
2013-07-12 13:48 ` [PATCH 5/7] Mute some compiler warnings Daniel Kiper
2013-07-12 13:48 ` Daniel Kiper
[not found] ` <1373636895-31682-6-git-send-email-daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2013-07-12 14:12 ` [Xen-devel] " Andrew Cooper
2013-07-12 14:12 ` Andrew Cooper
2013-07-12 13:48 ` [PATCH 6/7] Use elf_getshdrstrndx() instead of elf_getshstrndx() Daniel Kiper
2013-07-12 13:48 ` Daniel Kiper
2013-07-12 13:48 ` [PATCH 7/7] Do not break progress messages Daniel Kiper
2013-07-12 13:48 ` Daniel Kiper
2013-07-12 14:01 ` [Xen-devel] [PATCH 0/7] Xen fixes and minor cleanups Andrew Cooper
2013-07-12 14:01 ` Andrew Cooper
[not found] ` <51E00C32.6090204-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org>
2013-07-12 14:30 ` Daniel Kiper
2013-07-12 14:30 ` Daniel Kiper
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.