Files
ack-tegra/drivers/android/binder/page_range_helper.c
Alice Ryhl dac7c66bc9 ANDROID: rust_binder: move Rust Binder in preparation for GKI module
This moves the code from the common-modules/binder branch verbatim. The
code is not yet added to the build system as it requires some adjusments
before it can built as a GKI module.

Bug: 388786466
Change-Id: I6b49b1b6ff0e35fbae2b9efc13d6bbde984b5196
Signed-off-by: Alice Ryhl <aliceryhl@google.com>
2025-05-16 10:31:04 -07:00

26 lines
826 B
C

// SPDX-License-Identifier: GPL-2.0
/* C helper for page_range.rs to work around a CFI violation.
*
* Bindgen currently pretends that `enum lru_status` is the same as an integer.
* This assumption is fine ABI-wise, but once you add CFI to the mix, it
* triggers a CFI violation because `enum lru_status` gets a different CFI tag.
*
* This file contains a workaround until bindgen can be fixed.
*
* Copyright (C) 2024 Google LLC.
*/
#include <linux/list_lru.h>
#include <linux/spinlock.h>
unsigned int rust_shrink_free_page(struct list_head *item,
struct list_lru_one *list, spinlock_t *lock,
void *cb_arg);
enum lru_status
rust_shrink_free_page_wrap(struct list_head *item, struct list_lru_one *list,
spinlock_t *lock, void *cb_arg)
{
return rust_shrink_free_page(item, list, lock, cb_arg);
}