dac7c66bc9
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>
26 lines
826 B
C
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);
|
|
}
|