autfs: Replace use of cfg_if with hardened cast

The previous code seemed to guesstimate the C type blksize_t, type of
stat::st_blksize (see stat64(2)), by using Rust config flags so that it
could cast explicitly a u64 constant to it.

Instead, trust that the libc crate got the type width right and cast the
constant to it in a safe way by relying on .try_into().unwrap() instead
of `as`, which removes the risk of unexpected information loss ("modulo
2^(WIDTH) behavior"). Panicking instead of returning an error is fine as
it is deterministic for a given build and very unlikely.

As this was the only user of cfg_if, remove it from the Android.bp.

Note: no behavioral change intended.

Test: banchan com.android.virt aosp_arm64 && m apps_only dist
Change-Id: I6f92fc1a78297b852b26d6fd5f10e3284e8737fe
2 files changed
tree: a671143b9411b951531dfcab4bdf786e0d7d7737
  1. android/
  2. build/
  3. docs/
  4. guest/
  5. libs/
  6. microfuchsia/
  7. tests/
  8. .clang-format
  9. .gitignore
  10. Android.bp
  11. dice_for_avf_guest.cddl
  12. OWNERS
  13. PREUPLOAD.cfg
  14. README.md
  15. rustfmt.toml
  16. TEST_MAPPING
README.md

Android Virtualization Framework (AVF)

Android Virtualization Framework (AVF) provides secure and private execution environments for executing code. AVF is ideal for security-oriented use cases that require stronger isolation assurances over those offered by Android’s app sandbox.

Visit our public doc site to learn more about what AVF is, what it is for, and how it is structured. This repository contains source code for userspace components of AVF.

If you want a quick start, see the getting started guideline and follow the steps there.

For in-depth explanations about individual topics and components, visit the following links.

AVF components:

AVF APIs:

How-Tos: