2023-05-26 02:26:34

by Haibo Li

[permalink] [raw]
Subject: [PATCH] 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,
};

--
2.25.1



2023-05-26 19:48:53

by David Hildenbrand

[permalink] [raw]
Subject: Re: [PATCH] mm/gup_test:fix ioctl fail for compat task

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