aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux/falloc.h
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2019-04-21 19:24:03 -0400
committerArnd Bergmann <arnd@arndb.de>2019-10-23 17:15:57 +0200
commit011da44bc5b6520d00b42c584a4fefc85f7b332b (patch)
treeb427daf4e0a56740cf791e391c66b8ee4ba12bc3 /include/linux/falloc.h
parentdo_vfs_ioctl(): use saner types (diff)
downloadwireguard-linux-011da44bc5b6520d00b42c584a4fefc85f7b332b.tar.xz
wireguard-linux-011da44bc5b6520d00b42c584a4fefc85f7b332b.zip
compat: move FS_IOC_RESVSP_32 handling to fs/ioctl.c
... and lose the ridiculous games with compat_alloc_user_space() there. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'include/linux/falloc.h')
-rw-r--r--include/linux/falloc.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/include/linux/falloc.h b/include/linux/falloc.h
index 674d59f4d6ce..fc61fdb9d1e9 100644
--- a/include/linux/falloc.h
+++ b/include/linux/falloc.h
@@ -29,4 +29,24 @@ struct space_resv {
FALLOC_FL_INSERT_RANGE | \
FALLOC_FL_UNSHARE_RANGE)
+/* on ia32 l_start is on a 32-bit boundary */
+#if defined(CONFIG_X86_64)
+struct space_resv_32 {
+ __s16 l_type;
+ __s16 l_whence;
+ __s64 l_start __attribute__((packed));
+ /* len == 0 means until end of file */
+ __s64 l_len __attribute__((packed));
+ __s32 l_sysid;
+ __u32 l_pid;
+ __s32 l_pad[4]; /* reserve area */
+};
+
+#define FS_IOC_RESVSP_32 _IOW ('X', 40, struct space_resv_32)
+#define FS_IOC_RESVSP64_32 _IOW ('X', 42, struct space_resv_32)
+
+int compat_ioctl_preallocate(struct file *, struct space_resv_32 __user *);
+
+#endif
+
#endif /* _FALLOC_H_ */