Lines Matching defs:fixup
588 * struct binder_txn_fd_fixup - transaction fd fixup list element
591 * @offset: offset in buffer data to this fixup
1963 struct binder_txn_fd_fixup *fixup, *tmp;
1965 list_for_each_entry_safe(fixup, tmp, &t->fd_fixups, fixup_entry) {
1966 fput(fixup->file);
1967 list_del(&fixup->fixup_entry);
1968 kfree(fixup);
2197 * @last_min_offset: minimum fixup offset in object at @last_obj_offset
2199 * Return: %true if a fixup in buffer @buffer at offset @offset is
2203 * at increasing offsets; additionally, we only allow fixup on the last
2657 struct binder_txn_fd_fixup *fixup;
2689 * Add fixup record for this transaction. The allocation
2693 fixup = kzalloc(sizeof(*fixup), GFP_KERNEL);
2694 if (!fixup) {
2698 fixup->file = file;
2699 fixup->offset = fd_offset;
2700 trace_binder_transaction_fd_send(t, fd, fixup->offset);
2701 list_add_tail(&fixup->fixup_entry, &t->fd_fixups);
2715 * @offset offset in target buffer to fixup
2716 * @skip_size bytes to skip in copy (fixup will be written later)
2717 * @fixup_data data to write at fixup offset
2720 * This is used for the pointer fixup list (pf) which is created and consumed
2754 * binder_do_deferred_txn_copies() - copy and fixup scatter-gather data
2758 * @pf_head: list_head of pointer fixup list
2789 * We copy up to the fixup (pointed to by pf)
2802 /* we stopped at a fixup offset */
2812 /* apply the fixup indicated by pf */
2843 * @pf_head: list_head of pointer fixup list
2905 * binder_add_fixup() - queue a fixup to be applied to sg copy
2906 * @pf_head: list_head of binder ptr fixup list
2908 * @fixup: bytes to be copied for fixup
2909 * @skip_size: bytes to skip when copying (fixup will be applied later)
2911 * Add the specified fixup to a list ordered by @offset. When copying
2912 * the scatter-gather buffers, the fixup will be copied instead of
2913 * data from the source buffer. For BINDER_TYPE_FDA fixups, the fixup
2916 * value in @fixup.
2926 binder_uintptr_t fixup, size_t skip_size)
2935 pf->fixup_data = fixup;
3057 binder_user_error("%d:%d got transaction with out-of-order buffer fixup\n",
3718 binder_user_error("%d:%d got transaction with out-of-order buffer fixup\n",
4560 * list of fds to translate and fixup the buffer with the
4570 struct binder_txn_fd_fixup *fixup, *tmp;
4573 list_for_each_entry(fixup, &t->fd_fixups, fixup_entry) {
4578 "failed fd fixup txn %d fd %d\n",
4584 "fd fixup txn %d fd %d\n",
4586 trace_binder_transaction_fd_recv(t, fd, fixup->offset);
4587 fd_install(fd, fixup->file);
4588 fixup->file = NULL;
4590 fixup->offset, &fd,
4596 list_for_each_entry_safe(fixup, tmp, &t->fd_fixups, fixup_entry) {
4597 if (fixup->file) {
4598 fput(fixup->file);
4605 fixup->offset,
4611 list_del(&fixup->fixup_entry);
4612 kfree(fixup);