platform_bionic/libc/kernel/android
Elliott Hughes 0f0c18f695 uapi headers: simplify the <linux/compiler.h> stuff.
We don't really need <linux/compiler.h> and <linux/compiler_types.h>. We
already have a mechanism to remove unused macros, so let's do that. We
don't currently have a way to remove unused #includes, so we still need
<linux/compiler.h> and <linux/compiler_types.h> files (but I've clarified
the comments in them).

I've kept the empty definitions of `__user` and `__force` for source
compatibility. (We had one security test at least that was assuming
a kernel struct definition will "just work".)

Bug: http://b/262917450
Test: treehugger
Change-Id: Iacbbbc1aeef9a4fac52dabd7811ab875cc267d4f
2023-03-30 12:47:08 -07:00
..
scsi/scsi uapi headers: simplify the <linux/compiler.h> stuff. 2023-03-30 12:47:08 -07:00
uapi/linux uapi headers: simplify the <linux/compiler.h> stuff. 2023-03-30 12:47:08 -07:00
BUILD Declare libc's contributions to API surface(s) in Multi-tree 2022-06-29 20:40:11 +00:00
README.md Move kernel README files to Markdown. 2019-04-11 13:38:25 -07:00

The files under the uapi directory are android kernel uapi header files that exist in android kernels, but have not been upstreamed into the regular kernel.

None of these files are updated automatically, and are frozen at their current value.

The files under the scsi directory are frozen copies of kernel scsi headers. Linux's scsi headers are a mix of userspace-facing and kernel-facing declarations that can't be directly used by userspace. The glibc maintainers manually copy-and-pasted these definitions into their own scsi headers and haven't substantially updated them in 15 years. The musl libc project has a similar set of definitions in its scsi headers.

These files are actually maintained in external/kernel-headers/modified/scsi/. Any modification should first be made there then copied into the scsi directory.