aboutsummaryrefslogtreecommitdiff
path: root/include/uapi/linux/android
Commit message (Collapse)AuthorAgeFilesLines
* [BACKPORT]: binder: create node flag to request sender's security contextTodd Kjos2019-06-201-0/+19
| | | | | | | | | | | | | | | | | | | | To allow servers to verify client identity, allow a node flag to be set that causes the sender's security context to be delivered with the transaction. The BR_TRANSACTION command is extended in BR_TRANSACTION_SEC_CTX to contain a pointer to the security context string. Signed-off-by: Todd Kjos <tkjos@google.com> Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> (cherry picked from commit ec74136ded792deed80780a2f8baf3521eeb72f9 https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master) Change-Id: I44496546e2d0dc0022f818a45cd52feb1c1a92cb Signed-off-by: Todd Kjos <tkjos@google.com> [@dev-harsh1998]: Adjust context for 3.10 Signed-off-by: dev-harsh1998 <harshitjain6751@gmail.com>
* [BACKPORT]: ANDROID: binder: Add BINDER_GET_NODE_INFO_FOR_REF ioctl.Martijn Coenen2019-06-201-0/+10
| | | | | | | | | | | | | | | | | This allows the context manager to retrieve information about nodes that it holds a reference to, such as the current number of references to those nodes. Such information can for example be used to determine whether the servicemanager is the only process holding a reference to a node. This information can then be passed on to the process holding the node, which can in turn decide whether it wants to shut down to reduce resource usage. Signed-off-by: Martijn Coenen <maco@android.com> [@dev-harsh1998]: Adjust for our backport. Signed-off-by: dev-harsh1998 <dev-harsh1998@hotmail.com> Change-Id: Ic599039c0bffa61b618703987577f96b32a454f2
* binder: make FIFO inheritance a per-context optionTim Murray2019-06-201-0/+1
| | | | | | | | | | | | | Add a new ioctl to binder to control whether FIFO inheritance should happen. In particular, hwbinder should inherit FIFO priority from callers, but standard binder threads should not. Test: boots bug 36516194 Signed-off-by: Tim Murray <timmurray@google.com> Change-Id: I8100c4364b7d15d1bf00a8ca5c286e4d4b23ce85
* Add BINDER_GET_NODE_DEBUG_INFO ioctlColin Cross2019-06-201-0/+14
| | | | | | | | | | | | | The BINDER_GET_NODE_DEBUG_INFO ioctl will return debug info on a node. Each successive call reusing the previous return value will return the next node. The data will be used by libmemunreachable to mark the pointers with kernel references as reachable. Bug: 28275695 Change-Id: Idbbafa648a33822dc023862cd92b51a595cf7c1c Signed-off-by: Colin Cross <ccross@android.com> Signed-off-by: Martijn Coenen <maco@android.com>
* ANDROID: binder: add RT inheritance flag to node.Martijn Coenen2019-06-201-0/+8
| | | | | | | | Allows a binder node to specify whether it wants to inherit real-time scheduling policy from a caller. Change-Id: I375b6094bf441c19f19cba06d5a6be02cd07d714 Signed-off-by: Martijn Coenen <maco@android.com>
* ANDROID: binder: add min sched_policy to node.Martijn Coenen2019-06-201-1/+40
| | | | | | | | | | | | | | | | This change adds flags to flat_binder_object.flags to allow indicating a minimum scheduling policy for the node. It also clarifies the valid value range for the priority bits in the flags. Internally, we use the priority map that the kernel uses, e.g. [0..99] for real-time policies and [100..139] for the SCHED_NORMAL/SCHED_BATCH policies. Bug: 34461621 Bug: 37293077 Change-Id: I12438deecb53df432da18c6fc77460768ae726d2 Signed-off-by: Martijn Coenen <maco@google.com>
* android: binder: add padding to binder_fd_array_object.Martijn Coenen2017-11-141-0/+2
| | | | | | | | | | | | | | | | | | | binder_fd_array_object starts with a 4-byte header, followed by a few fields that are 8 bytes when ANDROID_BINDER_IPC_32BIT=N. This can cause alignment issues in a 64-bit kernel with a 32-bit userspace, as on x86_32 an 8-byte primitive may be aligned to a 4-byte address. Pad with a __u32 to fix this. Signed-off-by: Martijn Coenen <maco@android.com> Git-commit: a388cf91c7fd5279e923e167af59925826b055d5 Git-repo: https://android.googlesource.com/kernel/common Change-Id: I4374ed2cc3ccd3c6a1474cb7209b53ebfd91077b Signed-off-by: Nirmal Abraham <nabrah@codeaurora.org> [code change is done in relocated file] Signed-off-by: Srinivasarao P <spathi@codeaurora.org>
* android: binder: support for file-descriptor arrays.Martijn Coenen2017-11-141-0/+28
| | | | | | | | | | | | This patch introduces a new binder_fd_array object, that allows us to support one or more file descriptors embedded in a buffer that is scatter-gathered. Change-Id: I647a53cf0d905c7be0dfd9333806982def68dd74 Signed-off-by: Martijn Coenen <maco@google.com> Git-commit: 274d9fe58c752246db888696a1bc441b041f8215 Git-repo: https://android.googlesource.com/kernel/common.git Signed-off-by: Srinivasarao P <spathi@codeaurora.org>
* android: binder: support for scatter-gather.Martijn Coenen2017-11-141-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously all data passed over binder needed to be serialized, with the exception of Binder objects and file descriptors. This patchs adds support for scatter-gathering raw memory buffers into a binder transaction, avoiding the need to first serialize them into a Parcel. To remain backwards compatibile with existing binder clients, it introduces two new command ioctls for this purpose - BC_TRANSACTION_SG and BC_REPLY_SG. These commands may only be used with the new binder_transaction_data_sg structure, which adds a field for the total size of the buffers we are scatter-gathering. Because memory buffers may contain pointers to other buffers, we allow callers to specify a parent buffer and an offset into it, to indicate this is a location pointing to the buffer that we are fixing up. The kernel will then take care of fixing up the pointer to that buffer as well. Change-Id: I02417f28cff14688f2e1d6fcb959438fd96566cc Signed-off-by: Martijn Coenen <maco@google.com> Git-commit: d66d033983974c48ed375aa2503beb57347d23ac Git-repo: https://android.googlesource.com/kernel/common.git Signed-off-by: Srinivasarao P <spathi@codeaurora.org>
* android: binder: split flat_binder_object.Martijn Coenen2017-11-141-3/+28
| | | | | | | | | | | | | | | | | | | flat_binder_object is used for both handling binder objects and file descriptors, even though the two are mostly independent. Since we'll have more fixup objects in binder in the future, instead of extending flat_binder_object again, split out file descriptors to their own object while retaining backwards compatibility to existing user-space clients. All binder objects just share a header. Change-Id: If3c55f27a2aa8f21815383e0e807be47895e4786 Signed-off-by: Martijn Coenen <maco@google.com> Git-commit: ac07149f9cd19a747b967e81afe35199adafeb8b Git-repo: https://android.googlesource.com/kernel/common.git [resolved trivial merge conflicts] Signed-off-by: Srinivasarao P <spathi@codeaurora.org>
* staging: android: binder: move to the "real" part of the kernelGreg Kroah-Hartman2015-08-122-0/+351
The Android binder code has been "stable" for many years now. No matter what comes in the future, we are going to have to support this API, so might as well move it to the "real" part of the kernel as there's no real work that needs to be done to the existing code. Change-Id: I36d5c6fc05aff26dd01a227201be18e86c9f9994 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Git-commit: a8363b44d11a212b1d44d7823fa1795de6887185 Git-repo: https://android.googlesource.com/kernel/common.git [imaund@codeaurora.org: Resolved context conflicts] Signed-off-by: Ian Maund <imaund@codeaurora.org>