Martin KaFai Lau
c79f67ecb4
UPSTREAM: bpf: Introduce BPF_MAP_TYPE_STRUCT_OPS
...
The patch introduces BPF_MAP_TYPE_STRUCT_OPS. The map value
is a kernel struct with its func ptr implemented in bpf prog.
This new map is the interface to register/unregister/introspect
a bpf implemented kernel struct.
The kernel struct is actually embedded inside another new struct
(or called the "value" struct in the code). For example,
"struct tcp_congestion_ops" is embbeded in:
struct bpf_struct_ops_tcp_congestion_ops {
refcount_t refcnt;
enum bpf_struct_ops_state state;
struct tcp_congestion_ops data; /* <-- kernel subsystem struct here */
}
The map value is "struct bpf_struct_ops_tcp_congestion_ops".
The "bpftool map dump" will then be able to show the
state ("inuse"/"tobefree") and the number of subsystem's refcnt (e.g.
number of tcp_sock in the tcp_congestion_ops case). This "value" struct
is created automatically by a macro. Having a separate "value" struct
will also make extending "struct bpf_struct_ops_XYZ" easier (e.g. adding
"void (*init)(void)" to "struct bpf_struct_ops_XYZ" to do some
initialization works before registering the struct_ops to the kernel
subsystem). The libbpf will take care of finding and populating the
"struct bpf_struct_ops_XYZ" from "struct XYZ".
Register a struct_ops to a kernel subsystem:
1. Load all needed BPF_PROG_TYPE_STRUCT_OPS prog(s)
2. Create a BPF_MAP_TYPE_STRUCT_OPS with attr->btf_vmlinux_value_type_id
set to the btf id "struct bpf_struct_ops_tcp_congestion_ops" of the
running kernel.
Instead of reusing the attr->btf_value_type_id,
btf_vmlinux_value_type_id s added such that attr->btf_fd can still be
used as the "user" btf which could store other useful sysadmin/debug
info that may be introduced in the furture,
e.g. creation-date/compiler-details/map-creator...etc.
3. Create a "struct bpf_struct_ops_tcp_congestion_ops" object as described
in the running kernel btf. Populate the value of this object.
The function ptr should be populated with the prog fds.
4. Call BPF_MAP_UPDATE with the object created in (3) as
the map value. The key is always "0".
During BPF_MAP_UPDATE, the code that saves the kernel-func-ptr's
args as an array of u64 is generated. BPF_MAP_UPDATE also allows
the specific struct_ops to do some final checks in "st_ops->init_member()"
(e.g. ensure all mandatory func ptrs are implemented).
If everything looks good, it will register this kernel struct
to the kernel subsystem. The map will not allow further update
from this point.
Unregister a struct_ops from the kernel subsystem:
BPF_MAP_DELETE with key "0".
Introspect a struct_ops:
BPF_MAP_LOOKUP_ELEM with key "0". The map value returned will
have the prog _id_ populated as the func ptr.
The map value state (enum bpf_struct_ops_state) will transit from:
INIT (map created) =>
INUSE (map updated, i.e. reg) =>
TOBEFREE (map value deleted, i.e. unreg)
The kernel subsystem needs to call bpf_struct_ops_get() and
bpf_struct_ops_put() to manage the "refcnt" in the
"struct bpf_struct_ops_XYZ". This patch uses a separate refcnt
for the purose of tracking the subsystem usage. Another approach
is to reuse the map->refcnt and then "show" (i.e. during map_lookup)
the subsystem's usage by doing map->refcnt - map->usercnt to filter out
the map-fd/pinned-map usage. However, that will also tie down the
future semantics of map->refcnt and map->usercnt.
The very first subsystem's refcnt (during reg()) holds one
count to map->refcnt. When the very last subsystem's refcnt
is gone, it will also release the map->refcnt. All bpf_prog will be
freed when the map->refcnt reaches 0 (i.e. during map_free()).
Here is how the bpftool map command will look like:
[root@arch-fb-vm1 bpf]# bpftool map show
6: struct_ops name dctcp flags 0x0
key 4B value 256B max_entries 1 memlock 4096B
btf_id 6
[root@arch-fb-vm1 bpf]# bpftool map dump id 6
[{
"value": {
"refcnt": {
"refs": {
"counter": 1
}
},
"state": 1,
"data": {
"list": {
"next": 0,
"prev": 0
},
"key": 0,
"flags": 2,
"init": 24,
"release": 0,
"ssthresh": 25,
"cong_avoid": 30,
"set_state": 27,
"cwnd_event": 28,
"in_ack_event": 26,
"undo_cwnd": 29,
"pkts_acked": 0,
"min_tso_segs": 0,
"sndbuf_expand": 0,
"cong_control": 0,
"get_info": 0,
"name": [98,112,102,95,100,99,116,99,112,0,0,0,0,0,0,0
],
"owner": 0
}
}
}
]
Misc Notes:
* bpf_struct_ops_map_sys_lookup_elem() is added for syscall lookup.
It does an inplace update on "*value" instead returning a pointer
to syscall.c. Otherwise, it needs a separate copy of "zero" value
for the BPF_STRUCT_OPS_STATE_INIT to avoid races.
* The bpf_struct_ops_map_delete_elem() is also called without
preempt_disable() from map_delete_elem(). It is because
the "->unreg()" may requires sleepable context, e.g.
the "tcp_unregister_congestion_control()".
* "const" is added to some of the existing "struct btf_func_model *"
function arg to avoid a compiler warning caused by this patch.
Change-Id: I37e794d44fbb24b829d90dde37c70d96d4e91655
Signed-off-by: Martin KaFai Lau <kafai@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Andrii Nakryiko <andriin@fb.com>
Acked-by: Yonghong Song <yhs@fb.com>
Link: https://lore.kernel.org/bpf/20200109003505.3855919-1-kafai@fb.com
Signed-off-by: Sorayukii <sorayukii69@gmail.com>
2026-05-15 17:59:24 +07:00
..
android
UPSTREAM: binder: add flag to clear buffer on txn complete
2022-11-30 02:27:36 +02:00
byteorder
uapi: export all headers under uapi directories
2020-04-09 15:39:35 +05:30
caif
uapi: export all headers under uapi directories
2020-04-09 15:39:35 +05:30
can
uapi: export all headers under uapi directories
2020-04-09 15:39:35 +05:30
cifs
install several missing uapi headers
2020-08-21 11:01:49 +02:00
dvb
Merge branch 'android-4.9-q' of https://android.googlesource.com/kernel/common into lineage-17.1-caf-sdm845
2021-01-17 05:04:08 +02:00
genwqe
install several missing uapi headers
2020-08-21 11:01:49 +02:00
hdlc
uapi: export all headers under uapi directories
2020-04-09 15:39:35 +05:30
hsi
uapi: export all headers under uapi directories
2020-04-09 15:39:35 +05:30
iio
uapi: export all headers under uapi directories
2020-04-09 15:39:35 +05:30
isdn
uapi: export all headers under uapi directories
2020-04-09 15:39:35 +05:30
mfd
ASoC: wcd: add audio codec drivers for MSM targets
2017-01-27 11:28:43 -08:00
mmc
Merge "Merge android-4.9.227(892702560) into msm-4.9"
2020-07-08 02:20:36 -07:00
netfilter
Merge branch 'android-4.9-q' of https://android.googlesource.com/kernel/common into lineage-18.1-caf-sdm845
2021-04-26 01:27:02 +03:00
netfilter_arp
uapi: export all headers under uapi directories
2020-04-09 15:39:35 +05:30
netfilter_bridge
uapi: export all headers under uapi directories
2020-04-09 15:39:35 +05:30
netfilter_ipv4
uapi: export all headers under uapi directories
2020-04-09 15:39:35 +05:30
netfilter_ipv6
uapi: export all headers under uapi directories
2020-04-09 15:39:35 +05:30
nfc
NFC: Add snapshot of NQxxx NFC driver
2017-05-26 15:05:08 +05:30
nfsd
uapi: export all headers under uapi directories
2020-04-09 15:39:35 +05:30
raid
uapi: export all headers under uapi directories
2020-04-09 15:39:35 +05:30
spi
uapi: export all headers under uapi directories
2020-04-09 15:39:35 +05:30
sunrpc
uapi: export all headers under uapi directories
2020-04-09 15:39:35 +05:30
tc_act
UPSTREAM: net:sched: add action inheritdsfield to skbedit
2026-05-15 17:57:02 +07:00
tc_ematch
uapi: export all headers under uapi directories
2020-04-09 15:39:35 +05:30
usb
Merge branch 'android-4.9-q' of https://android.googlesource.com/kernel/common into lineage-18.1-caf-sdm845
2021-04-26 01:27:02 +03:00
wimax
uapi: export all headers under uapi directories
2020-04-09 15:39:35 +05:30
a.out.h
acct.h
adb.h
adfs_fs.h
affs_hardblocks.h
agpgart.h
aio_abi.h
am437x-vpfe.h
apm_bios.h
arcfb.h
atalk.h
atm.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_tcp.h
atm_zatm.h
Revert "include/uapi/linux/atm_zatm.h: include linux/time.h"
2016-11-13 12:35:13 -05:00
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
audit.h
UPSTREAM: bpf: Emit audit messages upon successful prog load and unload
2026-05-15 17:59:18 +07:00
auto_dev-ioctl.h
autofs4: move linux/auto_dev-ioctl.h to uapi/linux
2016-10-11 15:06:31 -07:00
auto_fs.h
autofs: move inclusion of linux/limits.h to uapi
2016-10-11 15:06:31 -07:00
auto_fs4.h
auxvec.h
ax25.h
b1lli.h
batman_adv.h
batterydata-interface.h
power: vm-bms: Add snapshot of qpnp-vm-bms driver
2018-05-02 17:19:36 +05:30
baycom.h
bcache.h
uapi: includes linux/types.h before exporting files
2020-08-21 11:01:49 +02:00
bcm933xx_hcs.h
bfs_fs.h
bgcom_interface.h
soc: qcom: bgdaemon: add uevent support for TWM BG
2020-03-16 20:57:55 -07:00
binfmts.h
blkpg.h
blktrace_api.h
bpf.h
UPSTREAM: bpf: Introduce BPF_MAP_TYPE_STRUCT_OPS
2026-05-15 17:59:24 +07:00
bpf_common.h
UPSTREAM: bpf: add comments to BPF ld/ldx sizes
2026-05-15 17:56:05 +07:00
bpf_perf_event.h
BACKPORT: bpf: correct broken uapi for BPF_PROG_TYPE_PERF_EVENT program type
2026-05-15 17:59:13 +07:00
bpfilter.h
UPSTREAM: net: add skeleton of bpfilter kernel module
2026-05-15 17:56:31 +07:00
bpqether.h
net: bpqether.h: remove if_ether.h guard
2016-11-13 00:57:53 -05:00
bsg.h
bt-bmc.h
ipmi: add an Aspeed BT IPMI BMC driver
2016-09-29 19:05:06 -05:00
btf.h
UPSTREAM: bpf: add specification for BTF Var and DataSec kinds
2026-05-15 17:57:36 +07:00
btrfs.h
Btrfs: catch invalid free space trees
2016-10-03 18:52:14 +02:00
btrfs_tree.h
uapi: includes linux/types.h before exporting files
2020-08-21 11:01:49 +02:00
can.h
can: raw: raw_setsockopt: limit number of can_filter that can be set
2016-12-07 10:45:57 +01:00
capability.h
capabilities: fix undefined behavior in bit shift for CAP_TO_MASK
2022-11-25 17:35:35 +01:00
capi.h
cciss_defs.h
cciss_ioctl.h
cdrom.h
cec-funcs.h
cec: move cec headers to uapi directory
2020-06-22 14:15:29 +05:30
cec.h
cec: move cec headers to uapi directory
2020-06-22 14:15:29 +05:30
cgroupstats.h
chio.h
cm4000_cs.h
cn_proc.h
coda.h
coda_psdev.h
uapi linux/coda_psdev.h: move upc_req definition from uapi to kernel side headers
2019-08-06 18:29:38 +02:00
coff.h
connector.h
const.h
uapi: move constants from <linux/kernel.h> to <linux/const.h>
2021-01-09 13:35:49 +01:00
coresight-stm.h
Merge android-4.9.219(6ee8be4) into msm-4.9
2020-04-28 15:06:13 +08:00
cramfs_fs.h
cryptouser.h
uapi: includes linux/types.h before exporting files
2020-08-21 11:01:49 +02:00
cuda.h
cyclades.h
cycx_cfm.h
dcbnl.h
dccp.h
devlink.h
dlm.h
dlm_device.h
dlm_netlink.h
dlm_plock.h
dlmconstants.h
dm-ioctl.h
dm-log-userspace.h
dma-buf.h
dn.h
dqblk_xfs.h
edd.h
efs_fs_sb.h
elf-em.h
elf-fdpic.h
elf.h
elfcore.h
errno.h
errqueue.h
BACKPORT: sock: add MSG_ZEROCOPY
2026-05-15 17:55:01 +07:00
esoc_ctrl.h
esoc: Add provision to handle shutdown request in userspace
2017-10-27 16:39:16 -07:00
ethtool.h
uapi: move constants from <linux/kernel.h> to <linux/const.h>
2021-01-09 13:35:49 +01:00
eventpoll.h
eventpoll.h: fix epoll event masks
2018-03-22 09:17:38 +01:00
fadvise.h
falloc.h
vfs: add a FALLOC_FL_UNSHARE mode to fallocate to unshare a range of blocks
2016-10-03 09:11:14 -07:00
fanotify.h
UPSTREAM: audit: Record fanotify access control decisions
2026-05-15 17:59:18 +07:00
fb.h
fcntl.h
statx: Add a system call to make enhanced file info available
2025-07-10 14:15:39 -04:00
fd.h
fdreg.h
fib_rules.h
include: fib: Remove the deprecated UID fields
2017-09-06 15:09:16 -07:00
fiemap.h
filter.h
fips_status.h
crypto: msm: Add QTI crypto drivers
2017-04-11 16:49:21 -07:00
firewire-cdev.h
firewire-constants.h
flat.h
fou.h
fs.h
Merge android-4.9.149 ( ed0b11d) into msm-4.9
2019-02-12 11:18:51 +08:00
fsl_hypervisor.h
fuse.h
Merge android-4.9.181 ( 6ccab84) into msm-4.9
2019-08-07 15:58:44 +08:00
futex.h
gameport.h
gen_stats.h
genetlink.h
gfs2_ondisk.h
gigaset_dev.h
gpio.h
gsmmux.h
gtp.h
hash_info.h
hbtp_input.h
input: misc: hbtp_input: support active blob flag
2018-02-28 14:42:44 -08:00
hdlc.h
hdlcdrv.h
hdreg.h
hid.h
hiddev.h
hidraw.h
hpet.h
hsr_netlink.h
hw_breakpoint.h
UPSTREAM: hw_breakpoint: Allow watchpoint of length 3,5,6 and 7
2017-03-13 15:31:05 -07:00
hyperv.h
hysdn_if.h
i2c-dev.h
i2c.h
i2o-dev.h
i8k.h
icmp.h
icmpv6.h
if.h
uapi glibc compat: fix outer guard of net device flags enum
2016-12-06 10:43:32 -05:00
if_addr.h
if_addrlabel.h
if_alg.h
if_arcnet.h
if_arp.h
msm_rmnet: merge support for RAWIP msm_rmnet device
2016-11-01 13:52:41 -06:00
if_bonding.h
if_bridge.h
if_cablemodem.h
if_eql.h
if_ether.h
Merge android-4.9.160 ( fd5657a) into msm-4.9
2019-03-21 14:06:06 +08:00
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_link.h
BACKPORT: xdp: support simultaneous driver and hw XDP attachment
2026-05-15 17:57:52 +07:00
if_ltalk.h
if_macsec.h
if_packet.h
if_phonet.h
if_plip.h
if_ppp.h
if_pppol2tp.h
net: l2tp: deprecate PPPOL2TP_MSG_* in favour of L2TP_MSG_*
2020-05-27 16:41:53 +02:00
if_pppolac.h
ANDROID: net: move PPPoLAC and PPPoPNS headers to uapi
2017-01-19 13:32:06 -08:00
if_pppopns.h
ANDROID: net: move PPPoLAC and PPPoPNS headers to uapi
2017-01-19 13:32:06 -08:00
if_pppox.h
ANDROID: net: add PPP on PPTP Network Server (PPPoPNS) driver.
2017-01-19 13:32:03 -08:00
if_slip.h
if_team.h
if_tun.h
if_tunnel.h
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2016-09-25 23:34:19 +02:00
if_vlan.h
if_x25.h
if_xdp.h
UPSTREAM: xsk: Fix umem fill/completion queue mmap on 32-bit
2026-05-15 17:57:49 +07:00
igmp.h
ila.h
in.h
in6.h
in_route.h
inet_diag.h
UPSTREAM: tcp_diag: report TCP MD5 signing keys and addresses
2026-05-15 17:55:21 +07:00
inotify.h
input-event-codes.h
Revert "ANDROID: ALSA: jack: Update supported jack switch types"
2026-01-06 16:27:45 +02:00
input.h
UPSTREAM: HID: sony: Report DS4 motion sensors through a separate device
2018-10-24 17:03:59 -07:00
ioctl.h
ion.h
ion: add snapshot of ion support for MSM
2016-11-03 12:43:03 -07:00
ip.h
netfilter: nf_defrag_ipv4: Add sysctl to disable per interface
2018-01-10 19:42:37 -07:00
ip6_tunnel.h
ip_vs.h
ipa_qmi_service_v01.h
msm: ipa: add support for HW stats to QMI
2018-05-04 16:09:13 +05:30
ipc.h
ipmi.h
ipmi_msgdefs.h
ipsec.h
ipv6.h
BACKPORT: ipv6: implement dataplane support for rthdr type 4 (Segment Routing Header)
2026-05-15 17:54:16 +07:00
ipv6_route.h
net: ipv6: RTF_PCPU should not be settable from userspace
2017-05-03 08:36:36 -07:00
ipx.h
irda.h
irqnr.h
isdn.h
isdn_divertif.h
isdn_ppp.h
isdnif.h
iso_fs.h
ivtv.h
ivtvfb.h
ixjuser.h
jffs2.h
joystick.h
Kbuild
install several missing uapi headers
2020-08-21 11:01:49 +02:00
kcm.h
kcmp.h
kcov.h
UPSTREAM: kcov: support comparison operands collection
2017-12-18 15:21:35 -08:00
kd.h
kdev_t.h
kernel-page-flags.h
kernel.h
uapi: move constants from <linux/kernel.h> to <linux/const.h>
2021-01-09 13:35:49 +01:00
kernelcapi.h
kexec.h
keyboard.h
keyctl.h
kfd_ioctl.h
kvm.h
x86/kvm/hyper-v: Explicitly align hcall param for kvm_hyperv_exit
2020-06-20 10:24:14 +02:00
kvm_para.h
l2tp.h
uapi: fix linux/if_pppol2tp.h userspace compilation errors
2020-06-03 08:16:33 +02:00
libc-compat.h
uapi/if_ether.h: move __UAPI_DEF_ETHHDR libc define
2019-02-20 10:18:35 +01:00
lightnvm.h
uapi: move constants from <linux/kernel.h> to <linux/const.h>
2021-01-09 13:35:49 +01:00
limits.h
lirc.h
llc.h
loop.h
BACKPORT: loop: Add LOOP_CONFIGURE ioctl
2020-08-11 09:26:34 +02:00
lp.h
lwtunnel.h
BACKPORT: bpf: BPF for lightweight tunnel infrastructure
2026-05-15 17:54:17 +07:00
magic.h
ANDROID: sdcardfs: Change magic value
2017-01-31 10:47:24 -08:00
major.h
map_to_7segment.h
matroxfb.h
mdio.h
mdss_rotator.h
uapi: Add display-related uapi headers for Android compilation
2017-03-23 13:55:19 -07:00
media-bus-format.h
media.h
mei.h
membarrier.h
memfd.h
mempolicy.h
meye.h
mhi.h
msm: mhi_dev: Add cv2x HW channel support in MHI driver
2019-07-30 05:53:20 -07:00
mic_common.h
mic_ioctl.h
mii.h
minix_fs.h
mman.h
mmtimer.h
module.h
mpls.h
mpls_iptunnel.h
mqueue.h
mroute.h
mroute6.h
uapi: move constants from <linux/kernel.h> to <linux/const.h>
2021-01-09 13:35:49 +01:00
msdos_fs.h
block: Move SECTOR_SIZE and SECTOR_SHIFT definitions into <linux/blkdev.h>
2020-09-12 11:47:36 +02:00
msg.h
msm-core-interface.h
drivers: soc: qcom: Snapshot of idle/sleep driver as of msm-4.4
2017-02-23 08:41:47 -07:00
msm_dsps.h
uapi: Add missing header file msm_dsps.h.
2017-03-23 13:52:08 -07:00
msm_ion.h
ion: add snapshot of ion support for MSM
2016-11-03 12:43:03 -07:00
msm_ipa.h
msm: ipa3: Send pipe info based on tethering protocol
2020-04-02 23:57:00 +05:30
msm_ipc.h
net: ipc_router: Add snapshot of IPC Router
2016-11-11 17:02:27 -08:00
msm_kgsl.h
msm: kgsl: Log context type in case of GPU faults
2018-10-15 16:06:11 +05:30
msm_mdp.h
msm: mdss: Allow resource update during secure UI
2020-03-05 05:50:00 +05:30
msm_mdp_ext.h
msm: mdss: Add support to update backlight when display commit
2018-06-20 17:51:10 +05:30
msm_rmnet.h
net: rmnet_data: Add snapshot of rmnet_data driver
2016-11-01 20:02:26 -06:00
msm_rotator.h
uapi: Add display-related uapi headers for Android compilation
2017-03-23 13:55:19 -07:00
msm_vidc_dec.h
include: Add snapshot of vidc encoder and decoder headers in msm-4.9
2018-05-22 20:34:11 -07:00
msm_vidc_enc.h
include: Add snapshot of vidc encoder and decoder headers in msm-4.9
2018-05-22 20:34:11 -07:00
mtio.h
n_r3964.h
nbd.h
ncp.h
ncp_fs.h
ncp_mount.h
ncp_no.h
ndctl.h
neighbour.h
net.h
net_dropmon.h
net_map.h
net: rmnet_data: Add snapshot of rmnet_data driver
2016-11-01 20:02:26 -06:00
net_namespace.h
net_tstamp.h
UPSTREAM: net: add new control message for incoming HW-timestamped packets
2026-05-15 17:55:02 +07:00
netconf.h
netdevice.h
netfilter.h
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h
Merge branch 'android-4.9-q' of https://android.googlesource.com/kernel/common into lineage-17.1-caf-sdm845
2021-01-17 05:04:08 +02:00
netlink_diag.h
netrom.h
nfc.h
uapi: fix linux/nfc.h userspace compilation errors
2022-01-05 12:31:25 +01:00
nfs.h
nfs2.h
nfs3.h
nfs4.h
nfs: add a new NFS4_OPEN_RESULT_MAY_NOTIFY_LOCK constant
2016-09-26 15:20:37 -04:00
nfs4_mount.h
nfs_fs.h
nfs_idmap.h
nfs_mount.h
nfsacl.h
nilfs2_api.h
nilfs2_ondisk.h
nilfs2: do not use unexported cpu_to_le32()/le32_to_cpu() in uapi header
2019-07-21 09:06:04 +02:00
nl80211.h
nl80211: add WPA3 definition for SAE authentication
2024-12-13 22:46:35 +01:00
nsfs.h
nubus.h
nvme_ioctl.h
nvram.h
okl4-link-shbuf.h
drivers misc: add okl4-link-shbuf driver
2018-12-09 18:41:17 -08:00
omap3isp.h
omapfb.h
oom.h
openvswitch.h
BACKPORT: openvswitch: add erspan version I and II support
2026-05-15 17:56:40 +07:00
packet_diag.h
uapi: fix linux/packet_diag.h userspace compilation error
2017-03-22 12:43:34 +01:00
param.h
parport.h
patchkey.h
pci.h
pci_regs.h
Merge remote-tracking branch 'common/android-4.9-q' into lineage-18.1-caf-sdm845
2021-12-27 02:07:39 +02:00
perf_event.h
BACKPORT: perf, bpf: Introduce PERF_RECORD_BPF_EVENT
2026-05-15 17:58:54 +07:00
personality.h
pfkeyv2.h
pg.h
phantom.h
phonet.h
pkt_cls.h
UPSTREAM: bpf: expose prog id for cls_bpf and act_bpf
2026-05-15 17:54:51 +07:00
pkt_sched.h
net_sched: Add flow control support to prio qdisc
2017-03-22 17:37:14 -06:00
pktcdvd.h
pmu.h
poll.h
posix_acl.h
posix_acl: uapi header split
2016-09-27 21:52:00 -04:00
posix_acl_xattr.h
posix_acl: uapi header split
2016-09-27 21:52:00 -04:00
posix_types.h
ppdev.h
ppp-comp.h
ppp-ioctl.h
ppp_defs.h
pps.h
pr.h
uapi: includes linux/types.h before exporting files
2020-08-21 11:01:49 +02:00
prctl.h
Merge android-4.9.176 ( e0625b3) into msm-4.9
2019-06-13 14:31:04 +08:00
psci.h
arm/arm64: KVM: Add PSCI_VERSION helper
2018-04-20 08:21:04 +02:00
ptp_clock.h
ptrace.h
qbg-profile.h
include: uapi: Add QBG UAPI headers
2021-06-29 14:18:55 +05:30
qbg.h
include: uapi: Add QBG UAPI headers
2021-06-29 14:18:55 +05:30
qbt1000.h
qbt1000: Add support for fingerprint gestures
2018-02-14 20:40:01 +05:30
qcedev.h
msm: crypto: Add support for map and unmap ioctls
2018-04-20 10:56:50 -07:00
qcota.h
uapi: Add missing Secure System uapi header files for sdm845
2017-03-13 18:08:32 -07:00
qg-profile.h
power: qpnp-qg: Add support for PMI632 v2.0
2018-06-18 11:37:25 +05:30
qg.h
power: qpnp-qg: Add support for voltage-only mode of QG
2019-01-17 17:27:28 +05:30
qnx4_fs.h
qnxtypes.h
qrng.h
uapi: Add missing Secure System uapi header files for sdm845
2017-03-13 18:08:32 -07:00
qrtr.h
Merge branch 'android-4.9-q' of https://android.googlesource.com/kernel/common into lineage-17.1-caf-sdm845
2021-01-17 05:04:08 +02:00
qseecom.h
ice: msm: Encrypt only userdata
2018-06-01 14:39:35 +05:30
quota.h
radeonfb.h
random.h
random: ignore GRND_RANDOM in getentropy(2)
2022-06-25 11:45:02 +02:00
raw.h
rds.h
uapi: fix linux/rds.h userspace compilation errors
2017-11-21 09:23:28 +01:00
reboot.h
reiserfs_fs.h
reiserfs_xattr.h
resource.h
rfkill.h
rio_cm_cdev.h
rio_mport_cdev.h
rmnet_data.h
net: rmnet_data: Add support to configure custom device name
2017-03-22 12:26:21 -06:00
rmnet_ipa_fd_ioctl.h
msm: ipa: Add support for per client lan statistics
2017-10-30 23:23:51 +05:30
romfs_fs.h
rose.h
route.h
rtc.h
rtnetlink.h
UPSTREAM: net: ipv4: add new RTM_F_FIB_MATCH flag for use with RTM_GETROUTE
2026-05-15 17:54:44 +07:00
scc.h
sched.h
BACKPORT: clone: add CLONE_PIDFD
2019-09-03 13:44:48 -07:00
scif_ioctl.h
screen_info.h
sctp.h
sdla.h
seccomp.h
seccomp: Add filter flag to opt-out of SSB mitigation
2018-05-22 16:58:01 +02:00
securebits.h
seemp_api.h
seemp: read hypervisor rooting detections
2017-07-12 10:12:23 -07:00
seemp_param_id.h
seemp: read hypervisor rooting detections
2017-07-12 10:12:23 -07:00
seg6.h
UPSTREAM: ipv6: sr: remove cleanup flag and fix HMAC computation
2026-05-15 17:54:25 +07:00
seg6_genl.h
UPSTREAM: ipv6: sr: add code base for control plane support of SR-IPv6
2026-05-15 17:54:16 +07:00
seg6_hmac.h
BACKPORT: ipv6: sr: add core files for SR HMAC support
2026-05-15 17:54:16 +07:00
seg6_iptunnel.h
UPSTREAM: ipv6: sr: add support for SRH encapsulation and injection with lwtunnels
2026-05-15 17:54:16 +07:00
selinux_netlink.h
sem.h
serial.h
serial_core.h
serial_reg.h
serial: 8250: Define RX trigger levels for OxSemi 950 devices
2021-09-22 11:43:06 +02:00
serio.h
shm.h
signal.h
signalfd.h
slatecom_interface.h
uapi: Add UAPI headers for slatecom_interface driver
2021-09-09 15:16:49 +05:30
smcinvoke.h
uapi: Add missing Secure System uapi header files for sdm845
2017-03-13 18:08:32 -07:00
smiapp.h
snmp.h
BACKPORT: tcp: export packets delivery info
2026-05-15 17:58:43 +07:00
sock_diag.h
socket.h
sockev.h
net: Add snapshot of sockev module
2017-03-29 16:54:34 -07:00
sockios.h
sonet.h
sonypi.h
sound.h
soundcard.h
spcom.h
spcom: move SPCOM_MAX_CHANNELS define to uapi/linux/spcom.h
2017-08-13 08:35:44 -07:00
stat.h
statx: Add a system call to make enhanced file info available
2025-07-10 14:15:39 -04:00
stddef.h
stm.h
string.h
suspend_ioctls.h
swab.h
include/uapi/linux/swab: Fix potentially missing __always_inline
2023-01-07 12:07:28 +01:00
sync_file.h
synclink.h
sysctl.h
Merge branch 'android-4.9-q' of https://android.googlesource.com/kernel/common into lineage-17.1-caf-sdm845
2021-01-17 05:04:08 +02:00
sysinfo.h
target_core_user.h
taskstats.h
BACKPORT: delayacct: track delays from thrashing cache pages
2019-03-22 14:08:39 -07:00
tcp.h
BACKPORT: tcp: add dsack blocks received stats
2026-05-15 17:58:44 +07:00
tcp_metrics.h
tee.h
BACKPORT: tee: add register user memory
2018-02-21 15:40:42 +00:00
telephony.h
termios.h
thermal.h
time.h
Revert "rtc: alarm: Add power-on alarm feature"
2017-11-01 01:19:42 -07:00
times.h
timex.h
tiocl.h
tipc.h
tipc_config.h
tipc: Avoid copying bytes beyond the supplied data
2019-06-11 12:22:34 +02:00
tipc_netlink.h
tls.h
UPSTREAM: tls: RX path for ktls
2026-05-15 17:58:23 +07:00
toshiba.h
tty.h
tty_flags.h
tty: actually undefine superseded ASYNC flags
2021-05-22 10:40:24 +02:00
types.h
udf_fs_i.h
udp.h
uhid.h
uinput.h
uio.h
ultrasound.h
un.h
unistd.h
unix_diag.h
usbdevice_fs.h
usbip.h
userfaultfd.h
userio.h
utime.h
utsname.h
uuid.h
uvcvideo.h
v4l2-common.h
v4l2-controls.h
msm: vidc: Add support for setting dynamic QP range
2019-05-19 14:09:11 +05:30
v4l2-dv-timings.h
v4l2-mediabus.h
v4l2-subdev.h
veth.h
vfio.h
vhost.h
videodev2.h
Merge remote-tracking branch 'common/android-4.9-q' into android13-4.9-sdm845
2022-11-09 19:25:28 +02:00
virtio_9p.h
virtio_balloon.h
virtio_blk.h
virtio_config.h
virtio_console.h
virtio_gpu.h
virtio_ids.h
virtio_input.h
virtio_net.h
virtio_pci.h
virtio_ring.h
virtio_rng.h
virtio_scsi.h
virtio_types.h
virtio_vsock.h
vm_bms.h
power: vm-bms: Add snapshot of qpnp-vm-bms driver
2018-05-02 17:19:36 +05:30
vm_sockets.h
vt.h
vtpm_proxy.h
wait.h
wanrouter.h
watchdog.h
wil6210_uapi.h
wimax.h
wireguard.h
UPSTREAM: wireguard: global: fix spelling mistakes in comments
2021-03-23 02:09:21 +02:00
wireless.h
x25.h
xattr.h
xfrm.h
BACKPORT: xfrm: Add a new lookup key to match xfrm interfaces.
2018-10-26 21:39:51 -07:00
xilinx-v4l2-controls.h
zorro.h
zorro_ids.h