Lines Matching defs:fixup
1590 struct binder_txn_fd_fixup *fixup, *tmp;
1592 list_for_each_entry_safe(fixup, tmp, &t->fd_fixups, fixup_entry) {
1593 fput(fixup->file);
1594 if (fixup->target_fd >= 0)
1595 put_unused_fd(fixup->target_fd);
1596 list_del(&fixup->fixup_entry);
1597 kfree(fixup);
1846 * @last_min_offset: minimum fixup offset in object at @last_obj_offset
1848 * Return: %true if a fixup in buffer @buffer at offset @offset is
1852 * at increasing offsets; additionally, we only allow fixup on the last
2308 struct binder_txn_fd_fixup *fixup;
2340 * Add fixup record for this transaction. The allocation
2344 fixup = kzalloc(sizeof(*fixup), GFP_KERNEL);
2345 if (!fixup) {
2349 fixup->file = file;
2350 fixup->offset = fd_offset;
2351 fixup->target_fd = -1;
2352 trace_binder_transaction_fd_send(t, fd, fixup->offset);
2353 list_add_tail(&fixup->fixup_entry, &t->fd_fixups);
2367 * @offset offset in target buffer to fixup
2368 * @skip_size bytes to skip in copy (fixup will be written later)
2369 * @fixup_data data to write at fixup offset
2372 * This is used for the pointer fixup list (pf) which is created and consumed
2406 * binder_do_deferred_txn_copies() - copy and fixup scatter-gather data
2410 * @pf_head: list_head of pointer fixup list
2441 * We copy up to the fixup (pointed to by pf)
2454 /* we stopped at a fixup offset */
2464 /* apply the fixup indicated by pf */
2495 * @pf_head: list_head of pointer fixup list
2557 * binder_add_fixup() - queue a fixup to be applied to sg copy
2558 * @pf_head: list_head of binder ptr fixup list
2560 * @fixup: bytes to be copied for fixup
2561 * @skip_size: bytes to skip when copying (fixup will be applied later)
2563 * Add the specified fixup to a list ordered by @offset. When copying
2564 * the scatter-gather buffers, the fixup will be copied instead of
2565 * data from the source buffer. For BINDER_TYPE_FDA fixups, the fixup
2568 * value in @fixup.
2578 binder_uintptr_t fixup, size_t skip_size)
2587 pf->fixup_data = fixup;
2709 binder_user_error("%d:%d got transaction with out-of-order buffer fixup\n",
3517 binder_user_error("%d:%d got transaction with out-of-order buffer fixup\n",
3605 binder_txn_error("%d:%d failed to fixup parent\n",
4394 * list of fds to translate and fixup the buffer with the
4403 struct binder_txn_fd_fixup *fixup, *tmp;
4406 list_for_each_entry(fixup, &t->fd_fixups, fixup_entry) {
4411 "failed fd fixup txn %d fd %d\n",
4417 "fd fixup txn %d fd %d\n",
4419 trace_binder_transaction_fd_recv(t, fd, fixup->offset);
4420 fixup->target_fd = fd;
4422 fixup->offset, &fd,
4428 list_for_each_entry_safe(fixup, tmp, &t->fd_fixups, fixup_entry) {
4429 fd_install(fixup->target_fd, fixup->file);
4430 list_del(&fixup->fixup_entry);
4431 kfree(fixup);