[PATCH Makedumpfile 02/10] read_vmcoreinfo_long: Allow to read hex values as well
Pratyush Anand
panand at redhat.com
Tue Oct 25 00:22:54 PDT 2016
Kernel can also write a hex value in NUMBER(X) string, for example:
vmcoreinfo_append_str("NUMBER(PHYS_OFFSET)=0x%llx\n",PHYS_OFFSET);
Therefore, allow read_vmcoreinfo_long() to read 'base 16' values if, 'base
10' read resulted in a read of invalid character.
Signed-off-by: Pratyush Anand <panand at redhat.com>
---
makedumpfile.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/makedumpfile.c b/makedumpfile.c
index ab9719bb678e..b2ea3ebdd4cb 100644
--- a/makedumpfile.c
+++ b/makedumpfile.c
@@ -2433,6 +2433,8 @@ read_vmcoreinfo_long(char *str_structure)
buf[i - 1] = '\0';
if (strncmp(buf, str_structure, strlen(str_structure)) == 0) {
data = strtol(buf + strlen(str_structure), &endp, 10);
+ if (strlen(endp) != 0)
+ data = strtol(buf + strlen(str_structure), &endp, 16);
if ((data == LONG_MAX) || strlen(endp) != 0) {
ERRMSG("Invalid data in %s: %s",
info->name_vmcoreinfo, buf);
--
2.7.4
More information about the kexec
mailing list