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

[patch] ioctl BLKGETSIZE64 fix



Hello,

Two years ago, "[PATCH] use size_t for the broken ioctl numbers" brought in the problem.
<http://lkml.org/lkml/2003/9/7/14> (also FYI: <https://lwn.net/Articles/48360/>)

The patch below fixes the bug on BLKGETSIZE64. typeof(size_t) == 32, but we expect 64. 
The choice of `size_t' is also a mistake. We should have taken `int'.  This also affects
userland linux-kernel-headers.

Or am I missing something? Thanks.

	Coywolf

Signed-off-by: Coywolf Qi Hunt <qiyong@fc-cn.com>
---
diff -pruN 2.6.15-rc5-mm3/include/linux/fs.h 2.6.15-rc5-mm3~BLKGETSIZE64-fix/include/linux/fs.h
--- 2.6.15-rc5-mm3/include/linux/fs.h	2005-12-15 16:55:22.000000000 +0800
+++ 2.6.15-rc5-mm3~BLKGETSIZE64-fix/include/linux/fs.h	2005-12-15 20:08:52.000000000 +0800
@@ -197,7 +197,7 @@ extern int dir_notify_enable;
 /* A jump here: 108-111 have been used for various private purposes. */
 #define BLKBSZGET  _IOR(0x12,112,size_t)
 #define BLKBSZSET  _IOW(0x12,113,size_t)
-#define BLKGETSIZE64 _IOR(0x12,114,size_t)	/* return device size in bytes (u64 *arg) */
+#define BLKGETSIZE64 _IOR(0x12,114,u64)	/* return device size in bytes (u64 *arg) */
 #define BLKSTARTTRACE _IOWR(0x12,115,struct blk_user_trace_setup)
 #define BLKSTOPTRACE _IO(0x12,116)
 



Reply to: