A kiterjesztett attribútumok socketeken támogatása olyan szereplők régi igénye, mint a GNOME és a systemd. Ezek többek között a Varlink IPC használatát segítik, de más célokra is hasznosak. A funkció egyik korlátja eddig az volt, hogy a BPF programok nem tudták hatékonyan visszaolvasni ezeket a felhasználói kiterjesztett attribútum címkéket. A Linux 7.3-ban ezt orvosolják az új bpf_sock_read_xattr() kernel funkcióval.
Christian Brauner dolgozta ki a bpf_sock_read_xattr() támogatását, ami lehetővé teszi, hogy a BPF programok zárolás nélkül olvassák a user. kiterjesztett attribútumokat egy socket sockfs inode-járól. A kernel sorozatban így magyarázta az új funkciót:
„A systemd user. xattr-okat használ a socketeken a forgalomkorlátozás megvalósításához, illetve a socketek címkézéséhez más célokra, például egy varlink registry megvalósításához. Jelenleg nincs hatékony módja annak, hogy egy BPF program ezeket a címkéket visszaolvassa. Az új helper lehetővé teszi, hogy egy kiterjesztett attribútummal megjelölt, figyelő socketet a bind/connect során visszaolvassunk, majd ennek alapján lépjünk a connect()-elő socketen. A kiterjesztett attribútumok lehetővé teszik, hogy egy nem privilegizált felhasználói menedzser, például a systemd --user, felhasználói térből megjelölje a socketeket, majd később újra megtalálja őket, vagy szabályokat valósítson meg.
A kfunc KF_RCU-ként van regisztrálva, és kizárólag BPF LSM programok számára érhető el. A struct socket csak akkor garantáltan a sockfs-ben él, amikor egy LSM socket hook adja át, ez tartja érvényben a SOCK_INODE() használatát. Azok a socketek, amelyek a struct socketet a sockfs-en kívül ágyazzák be (tun, tap), csak tracing programokból érhetők el, és a regisztráció kizárja őket. (Mellékesen: a következetesség kedvéért jó lenne kikényszeríteni, hogy a struct socketet mindig a sockfs-ből allokáljuk, ahelyett hogy például a struct tun_file-ba ágyazzuk. Ez a SOCKFS_I() mintát veszélyessé teszi – legalábbis a sockfs függvényein kívül.)
Az olvasás soha nem alszik, és nem vesz fel zárolást. A sockfs esetében az érték az inode memóriában lévő xattr-tárában él, és a simple_xattr_get() egy RCU-val védett rhashtable-kereséssel oldja fel, nem veszi fel sem az inode lockot, sem bármilyen xattr lockot. A kfunc ezért használható mind alvó, mind nem alvó LSM hookokból.”
A bpf_sock_read_xattr támogatást mostanra beolvasztották a Linux 7.3 kernel-ba ezzel a pull kéréssel.

