[RFC PATCH v2 1/2] kpartx: Use fixed size types in struct solaris_x86_slice

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



struct solaris_x86_slice defined in kernel uses fixed size types
(with specified byte order). We're not able to find original 32-bit
x86 Solaris sources, but expect struct definition in kernel is correct,
therefore use it as a source of size of struct items. (just don't use
original kernel byte order fixed types __le{16,32}, but normal user
space fixed size types)

129e6fe6 used __kernel_daddr_t instead of one of these: long / int / daddr_t,
which is IMHO wrong and tried to address only s_start struct member.

Fixes: 129e6fe6 ("kpartx: Use __kernel_daddr_t for solaris_x86_slice.s_start")

Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Cc: Baruch Even <baruch@xxxxxxxxx>
Signed-off-by: Petr Vorel <pvorel@xxxxxxx>
---
changes v1->v2:
* use user space types __le{16,32} => uint{16,32}_t

 kpartx/solaris.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/kpartx/solaris.c b/kpartx/solaris.c
index e7826c62..0fda10ad 100644
--- a/kpartx/solaris.c
+++ b/kpartx/solaris.c
@@ -1,16 +1,16 @@
 #include "kpartx.h"
+#include <stdint.h>
 #include <stdio.h>
-#include <linux/types.h>
 #include <time.h>		/* time_t */
 
 #define SOLARIS_X86_NUMSLICE	8
 #define SOLARIS_X86_VTOC_SANE	(0x600DDEEEUL)
 
 struct solaris_x86_slice {
-	unsigned short	s_tag;		/* ID tag of partition */
-	unsigned short	s_flag;		/* permission flags */
-	__kernel_daddr_t s_start;	/* start sector no of partition */
-	long		s_size;		/* # of blocks in partition */
+	uint16_t s_tag;		/* ID tag of partition */
+	uint16_t s_flag;	/* permission flags */
+	uint32_t s_start;	/* start sector no of partition */
+	uint32_t s_size;	/* # of blocks in partition */
 };
 
 struct solaris_x86_vtoc {
-- 
2.23.0

--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/dm-devel



[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux