mirror of
https://github.com/xemu-project/xemu.git
synced 2026-07-11 01:24:41 +02:00
linux-user: Use correct type for FIBMAP and FIGETBSZ emulation
Both the FIBMAP and FIGETBSZ ioctl get "int *" (pointer to 32bit integer) as argument, not "long *" as specified in qemu. Using the correct type makes the emulation work in cross endian context. Both ioctl does not seem to be documented. However the kernel implementation has always used "int *". Signed-off-by: Bastian Blank <waldi@debian.org> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/3185 Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Helge Deller <deller@gmx.de> Reviwed-by: Michael Tokarev <mjt@tls.msk.ru> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
This commit is contained in:
committed by
Michael Tokarev
parent
aba49488cb
commit
7c70893216
+2
-2
@@ -130,7 +130,7 @@
|
|||||||
IOCTL(FDTWADDLE, 0, TYPE_NULL)
|
IOCTL(FDTWADDLE, 0, TYPE_NULL)
|
||||||
IOCTL(FDEJECT, 0, TYPE_NULL)
|
IOCTL(FDEJECT, 0, TYPE_NULL)
|
||||||
|
|
||||||
IOCTL(FIBMAP, IOC_W | IOC_R, MK_PTR(TYPE_LONG))
|
IOCTL(FIBMAP, IOC_W | IOC_R, MK_PTR(TYPE_INT))
|
||||||
#ifdef FICLONE
|
#ifdef FICLONE
|
||||||
IOCTL(FICLONE, IOC_W, TYPE_INT)
|
IOCTL(FICLONE, IOC_W, TYPE_INT)
|
||||||
IOCTL(FICLONERANGE, IOC_W, MK_PTR(MK_STRUCT(STRUCT_file_clone_range)))
|
IOCTL(FICLONERANGE, IOC_W, MK_PTR(MK_STRUCT(STRUCT_file_clone_range)))
|
||||||
@@ -145,7 +145,7 @@
|
|||||||
IOCTL(FITRIM, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_fstrim_range)))
|
IOCTL(FITRIM, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_fstrim_range)))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
IOCTL(FIGETBSZ, IOC_R, MK_PTR(TYPE_LONG))
|
IOCTL(FIGETBSZ, IOC_R, MK_PTR(TYPE_INT))
|
||||||
#ifdef CONFIG_FIEMAP
|
#ifdef CONFIG_FIEMAP
|
||||||
IOCTL_SPECIAL(FS_IOC_FIEMAP, IOC_W | IOC_R, do_ioctl_fs_ioc_fiemap,
|
IOCTL_SPECIAL(FS_IOC_FIEMAP, IOC_W | IOC_R, do_ioctl_fs_ioc_fiemap,
|
||||||
MK_PTR(MK_STRUCT(STRUCT_fiemap)))
|
MK_PTR(MK_STRUCT(STRUCT_fiemap)))
|
||||||
|
|||||||
Reference in New Issue
Block a user