When tools/testing/selftests/mm/gup_test.c is compiled as 32bit,
then run on arm64 kernel,
it reports "ioctl: Inappropriate ioctl for device".
Fix it by filling compat_ioctl in gup_test_fops
Signed-off-by: Haibo Li <[email protected]>
---
mm/gup_test.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/mm/gup_test.c b/mm/gup_test.c
index 8ae7307a1bb6..c0421b786dcd 100644
--- a/mm/gup_test.c
+++ b/mm/gup_test.c
@@ -381,6 +381,7 @@ static int gup_test_release(struct inode *inode, struct file *file)
static const struct file_operations gup_test_fops = {
.open = nonseekable_open,
.unlocked_ioctl = gup_test_ioctl,
+ .compat_ioctl = compat_ptr_ioctl,
.release = gup_test_release,
};
--
2.25.1
On 26.05.23 04:21, Haibo Li wrote:
Nit: "mm/gup_test: fix ioctl fail for compat task"
> When tools/testing/selftests/mm/gup_test.c is compiled as 32bit,
> then run on arm64 kernel,
> it reports "ioctl: Inappropriate ioctl for device".
>
> Fix it by filling compat_ioctl in gup_test_fops
>
> Signed-off-by: Haibo Li <[email protected]>
> ---
> mm/gup_test.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/mm/gup_test.c b/mm/gup_test.c
> index 8ae7307a1bb6..c0421b786dcd 100644
> --- a/mm/gup_test.c
> +++ b/mm/gup_test.c
> @@ -381,6 +381,7 @@ static int gup_test_release(struct inode *inode, struct file *file)
> static const struct file_operations gup_test_fops = {
> .open = nonseekable_open,
> .unlocked_ioctl = gup_test_ioctl,
> + .compat_ioctl = compat_ptr_ioctl,
> .release = gup_test_release,
> };
>
Acked-by: David Hildenbrand <[email protected]>
--
Thanks,
David / dhildenb