binder_add_fixup(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ binder_add_fixup(9) β€” Kernel API Manual πŸŽ€

🌸 NAME 🌸

okay so the whole name vibe, bestie: binder_add_fixup β€” queue a fixup to be applied to sg copy. literally that. πŸ’–

✨ SYNOPSIS ✨

here's the exact signature, no cap:

int binder_add_fixup (struct list_head *pf_head , binder_size_t offset ,
binder_uintptr_t fixup , size_t skip_size );

πŸŽ€ ARGUMENTS πŸŽ€

  • pf_head β€” list_head of binder ptr fixup list. (the list, bestie 🫢)
  • offset β€” binder buffer offset in target process.
  • fixup β€” bytes to be copied for fixup.
  • skip_size β€” bytes to skip when copying (fixup will be applied later).

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so what it does: it adds the specified fixup to a list ordered by offset. When copying the scatter-gather buffers, the fixup will be copied instead of data from the source buffer. For BINDER_TYPE_FDA fixups, the fixup will be applied later (in target process context), so we just skip the bytes specified by skip_size. If skip_size is 0, we copy the value in fixup. πŸ’…

This function is called mostly in offset order, but there are exceptions. Since out-of-order inserts are relatively uncommon, we insert the new element by searching backward from the tail of the list. lowkey clever. 🫢

πŸ”₯ RETURN πŸ”₯

0=success, else -errno

that's the whole return deal, periodt. πŸ‘‘

🌈 SEE ALSO 🌈

Kernel file: ./drivers/android/binder.c


mwah πŸ’‹ β€” source/version ./drivers/android, date October 2026, page binder_add_fixup(9). periodt. πŸŽ€

πŸ“¦ where this page comes from