vmcore-dmesg: struct_val_u64() not casting u64 to u32
This is a backport of the following upstream commit: commit 158d763 Author: WANG Chao <chaowang@redhat.com> Date: Tue Jan 7 01:37:34 2014 +0800 vmcore-dmesg: struct_val_u64() not casting u64 to u32 It seems gcc doesn't check return type from inline function. struct_val_u64() should return u64 otherwise upper 32bit is lost. Signed-off-by: WANG Chao <chaowang@redhat.com> Acked-by: Vivek Goyal <vgoyal@redhat.com> Signed-off-by: Simon Horman <horms@verge.net.au> timestamp in vmcore-dmesg is u64 type but it's truncated to u32, which results in wrong time stamp. So let's backport this patch to fix this issue. Signed-off-by: WANG Chao <chaowang@redhat.com> Acked-by: Vivek Goyal <vgoyal@redhat.com>
This commit is contained in:
parent
dd7eee7e4a
commit
6752e5562e
@ -0,0 +1,31 @@
|
|||||||
|
From 158d7638f1669a8d34def55ab81f10993e68e76a Mon Sep 17 00:00:00 2001
|
||||||
|
From: WANG Chao <chaowang@redhat.com>
|
||||||
|
Date: Tue, 7 Jan 2014 01:37:34 +0800
|
||||||
|
Subject: [PATCH] vmcore-dmesg: struct_val_u64() not casting u64 to u32
|
||||||
|
|
||||||
|
It seems gcc doesn't check return type from inline function.
|
||||||
|
struct_val_u64() should return u64 otherwise upper 32bit is lost.
|
||||||
|
|
||||||
|
Signed-off-by: WANG Chao <chaowang@redhat.com>
|
||||||
|
Acked-by: Vivek Goyal <vgoyal@redhat.com>
|
||||||
|
Signed-off-by: Simon Horman <horms@verge.net.au>
|
||||||
|
---
|
||||||
|
vmcore-dmesg/vmcore-dmesg.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/vmcore-dmesg/vmcore-dmesg.c b/vmcore-dmesg/vmcore-dmesg.c
|
||||||
|
index 0f477c0..df14c89 100644
|
||||||
|
--- a/vmcore-dmesg/vmcore-dmesg.c
|
||||||
|
+++ b/vmcore-dmesg/vmcore-dmesg.c
|
||||||
|
@@ -529,7 +529,7 @@ static inline uint32_t struct_val_u32(char *ptr, unsigned int offset)
|
||||||
|
return(file32_to_cpu(*(uint32_t *)(ptr + offset)));
|
||||||
|
}
|
||||||
|
|
||||||
|
-static inline uint32_t struct_val_u64(char *ptr, unsigned int offset)
|
||||||
|
+static inline uint64_t struct_val_u64(char *ptr, unsigned int offset)
|
||||||
|
{
|
||||||
|
return(file64_to_cpu(*(uint64_t *)(ptr + offset)));
|
||||||
|
}
|
||||||
|
--
|
||||||
|
1.8.4.2
|
||||||
|
|
@ -94,6 +94,7 @@ Patch613: kexec-tools-2.0.4-makedumpfile-Assign-non-printable-value-as-short-opt
|
|||||||
Patch614: kexec-tools-2.0.4-makedumpfile-Add-help-and-man-message-for-help.patch
|
Patch614: kexec-tools-2.0.4-makedumpfile-Add-help-and-man-message-for-help.patch
|
||||||
Patch615: kexec-tools-2.0.4-makedumpfile-Add-non-mmap-option-to-disable-mmap-manually.patch
|
Patch615: kexec-tools-2.0.4-makedumpfile-Add-non-mmap-option-to-disable-mmap-manually.patch
|
||||||
Patch616: kexec-tools-2.0.4-makedumpfile-Fall-back-to-read-when-mmap-fails.patch
|
Patch616: kexec-tools-2.0.4-makedumpfile-Fall-back-to-read-when-mmap-fails.patch
|
||||||
|
Patch617: kexec-tools-2.0.4-vmcore-dmesg-struct_val_u64-not-casting-u64-to-u32.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
kexec-tools provides /sbin/kexec binary that facilitates a new
|
kexec-tools provides /sbin/kexec binary that facilitates a new
|
||||||
@ -141,6 +142,7 @@ tar -z -x -v -f %{SOURCE19}
|
|||||||
%patch614 -p1
|
%patch614 -p1
|
||||||
%patch615 -p1
|
%patch615 -p1
|
||||||
%patch616 -p1
|
%patch616 -p1
|
||||||
|
%patch617 -p1
|
||||||
|
|
||||||
tar -z -x -v -f %{SOURCE13}
|
tar -z -x -v -f %{SOURCE13}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user