From fe77a05bbe00a3b6c4c4a81537d95004835a5f61 Mon Sep 17 00:00:00 2001 From: Alice Ryhl Date: Fri, 13 Sep 2024 13:13:38 +0000 Subject: [PATCH] ANDROID: ashmem_rust: add compat_ioctl On 32-bit systems, some of the ioctls are slightly different. Bug: 370906207 Change-Id: Ibff577177a2e12f63156a99e5ffeeb8392ded4c2 Signed-off-by: Alice Ryhl --- drivers/staging/android/ashmem_rust.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/staging/android/ashmem_rust.rs b/drivers/staging/android/ashmem_rust.rs index 8085e05d8c3a..7efa00b5d36c 100644 --- a/drivers/staging/android/ashmem_rust.rs +++ b/drivers/staging/android/ashmem_rust.rs @@ -109,6 +109,16 @@ impl MiscDevice for Ashmem { _ => Err(EINVAL), } } + + #[cfg(CONFIG_COMPAT)] + fn compat_ioctl(me: Pin<&Ashmem>, file: &File, compat_cmd: u32, arg: usize) -> Result { + let cmd = match compat_cmd { + bindings::COMPAT_ASHMEM_SET_SIZE => bindings::ASHMEM_SET_SIZE, + bindings::COMPAT_ASHMEM_SET_PROT_MASK => bindings::ASHMEM_SET_PROT_MASK, + _ => compat_cmd, + }; + Self::ioctl(me, file, cmd, arg) + } } impl Ashmem {