mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-05 18:39:59 +00:00
![]() On 32-bit powerpc the ELF PLT sections of binaries (built with --bss-plt, or with a toolchain which defaults to it) look like this: [17] .sbss NOBITS 0002aff8 01aff8 000014 00 WA 0 0 4 [18] .plt NOBITS 0002b00c 01aff8 000084 00 WAX 0 0 4 [19] .bss NOBITS 0002b090 01aff8 0000a4 00 WA 0 0 4 Which results in an ELF load header: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x019c70 0x00029c70 0x00029c70 0x01388 0x014c4 RWE 0x10000 This is all correct, the load region containing the PLT is marked as executable. Note that the PLT starts at 0002b00c but the file mapping ends at 0002aff8, so the PLT falls in the 0 fill section described by the load header, and after a page boundary. Unfortunately the generic ELF loader ignores the X bit in the load headers when it creates the 0 filled non-file backed mappings. It assumes all of these mappings are RW BSS sections, which is not the case for PPC. gcc/ld has an option (--secure-plt) to not do this, this is said to incur a small performance penalty. Currently, to support 32-bit binaries with PLT in BSS kernel maps *entire brk area* with executable rights for all binaries, even --secure-plt ones. Stop doing that. Teach the ELF loader to check the X bit in the relevant load header and create 0 filled anonymous mappings that are executable if the load header requests that. Test program showing the difference in /proc/$PID/maps: int main() { char buf[16*1024]; char *p = malloc(123); /* make "[heap]" mapping appear */ int fd = open("/proc/self/maps", O_RDONLY); int len = read(fd, buf, sizeof(buf)); write(1, buf, len); printf("%p\n", p); return 0; } Compiled using: gcc -mbss-plt -m32 -Os test.c -otest Unpatched ppc64 kernel: 00100000-00120000 r-xp 00000000 00:00 0 [vdso] 0fe10000-0ffd0000 r-xp 00000000 fd:00 67898094 /usr/lib/libc-2.17.so 0ffd0000-0ffe0000 r--p 001b0000 fd:00 67898094 /usr/lib/libc-2.17.so 0ffe0000-0fff0000 rw-p 001c0000 fd:00 67898094 /usr/lib/libc-2.17.so 10000000-10010000 r-xp 00000000 fd:00 100674505 /home/user/test 10010000-10020000 r--p 00000000 fd:00 100674505 /home/user/test 10020000-10030000 rw-p 00010000 fd:00 100674505 /home/user/test 10690000-106c0000 rwxp 00000000 00:00 0 [heap] f7f70000-f7fa0000 r-xp 00000000 fd:00 67898089 /usr/lib/ld-2.17.so f7fa0000-f7fb0000 r--p 00020000 fd:00 67898089 /usr/lib/ld-2.17.so f7fb0000-f7fc0000 rw-p 00030000 fd:00 67898089 /usr/lib/ld-2.17.so ffa90000-ffac0000 rw-p 00000000 00:00 0 [stack] 0x10690008 Patched ppc64 kernel: 00100000-00120000 r-xp 00000000 00:00 0 [vdso] 0fe10000-0ffd0000 r-xp 00000000 fd:00 67898094 /usr/lib/libc-2.17.so 0ffd0000-0ffe0000 r--p 001b0000 fd:00 67898094 /usr/lib/libc-2.17.so 0ffe0000-0fff0000 rw-p 001c0000 fd:00 67898094 /usr/lib/libc-2.17.so 10000000-10010000 r-xp 00000000 fd:00 100674505 /home/user/test 10010000-10020000 r--p 00000000 fd:00 100674505 /home/user/test 10020000-10030000 rw-p 00010000 fd:00 100674505 /home/user/test 10180000-101b0000 rw-p 00000000 00:00 0 [heap] ^^^^ this has changed f7c60000-f7c90000 r-xp 00000000 fd:00 67898089 /usr/lib/ld-2.17.so f7c90000-f7ca0000 r--p 00020000 fd:00 67898089 /usr/lib/ld-2.17.so f7ca0000-f7cb0000 rw-p 00030000 fd:00 67898089 /usr/lib/ld-2.17.so ff860000-ff890000 rw-p 00000000 00:00 0 [stack] 0x10180008 The patch was originally posted in 2012 by Jason Gunthorpe and apparently ignored: https://lkml.org/lkml/2012/9/30/138 Lightly run-tested. Link: http://lkml.kernel.org/r/20161215131950.23054-1-dvlasenk@redhat.com Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com> Acked-by: Kees Cook <keescook@chromium.org> Acked-by: Michael Ellerman <mpe@ellerman.id.au> Tested-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com> Cc: Oleg Nesterov <oleg@redhat.com> Cc: Florian Weimer <fweimer@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
||
---|---|---|
.. | ||
amba | ||
bcma | ||
byteorder | ||
can | ||
ceph | ||
clk | ||
crush | ||
decompress | ||
dma | ||
extcon | ||
firmware/meson | ||
fpga | ||
fsl | ||
gpio | ||
hsi | ||
i2c | ||
iio | ||
input | ||
irqchip | ||
isdn | ||
lockd | ||
mailbox | ||
mfd | ||
mlx4 | ||
mlx5 | ||
mmc | ||
mtd | ||
netfilter | ||
netfilter_arp | ||
netfilter_bridge | ||
netfilter_ipv4 | ||
netfilter_ipv6 | ||
perf | ||
phy | ||
pinctrl | ||
platform_data | ||
power | ||
qed | ||
raid | ||
regulator | ||
remoteproc | ||
reset | ||
rpmsg | ||
rtc | ||
sched | ||
soc | ||
spi | ||
ssb | ||
sunrpc | ||
ulpi | ||
unaligned | ||
usb | ||
uwb | ||
wimax | ||
8250_pci.h | ||
a.out.h | ||
acct.h | ||
acpi.h | ||
acpi_dma.h | ||
acpi_iort.h | ||
acpi_pmtmr.h | ||
adb.h | ||
adfs_fs.h | ||
aer.h | ||
agp_backend.h | ||
agpgart.h | ||
ahci-remap.h | ||
ahci_platform.h | ||
aio.h | ||
alarmtimer.h | ||
altera_jtaguart.h | ||
altera_uart.h | ||
amd-iommu.h | ||
amifd.h | ||
amifdreg.h | ||
amigaffs.h | ||
anon_inodes.h | ||
apm-emulation.h | ||
apm_bios.h | ||
apple-gmux.h | ||
apple_bl.h | ||
arm-cci.h | ||
arm-smccc.h | ||
asn1.h | ||
asn1_ber_bytecode.h | ||
asn1_decoder.h | ||
assoc_array.h | ||
assoc_array_priv.h | ||
async.h | ||
async_tx.h | ||
ata.h | ||
ata_platform.h | ||
atalk.h | ||
ath9k_platform.h | ||
atm.h | ||
atm_suni.h | ||
atm_tcp.h | ||
atmdev.h | ||
atmel-mci.h | ||
atmel-ssc.h | ||
atmel_pdc.h | ||
atmel_serial.h | ||
atmel_tc.h | ||
atomic.h | ||
attribute_container.h | ||
audit.h | ||
auto_dev-ioctl.h | ||
auto_fs.h | ||
auxvec.h | ||
average.h | ||
b1pcmcia.h | ||
backing-dev-defs.h | ||
backing-dev.h | ||
backlight.h | ||
badblocks.h | ||
balloon_compaction.h | ||
bcd.h | ||
bch.h | ||
bcm47xx_nvram.h | ||
bcm47xx_sprom.h | ||
bcm47xx_wdt.h | ||
bcm963xx_nvram.h | ||
bcm963xx_tag.h | ||
bfin_mac.h | ||
binfmts.h | ||
bio.h | ||
bit_spinlock.h | ||
bitfield.h | ||
bitmap.h | ||
bitops.h | ||
bitrev.h | ||
blk-cgroup.h | ||
blk-mq-pci.h | ||
blk-mq.h | ||
blk_types.h | ||
blkdev.h | ||
blkpg.h | ||
blktrace_api.h | ||
blockgroup_lock.h | ||
bma150.h | ||
bootmem.h | ||
bottom_half.h | ||
bpf-cgroup.h | ||
bpf.h | ||
bpf_trace.h | ||
bpf_verifier.h | ||
brcmphy.h | ||
bsearch.h | ||
bsg-lib.h | ||
bsg.h | ||
btree-128.h | ||
btree-type.h | ||
btree.h | ||
btrfs.h | ||
buffer_head.h | ||
bug.h | ||
bvec.h | ||
c2port.h | ||
cache.h | ||
cacheinfo.h | ||
capability.h | ||
cb710.h | ||
cciss_ioctl.h | ||
ccp.h | ||
cdev.h | ||
cdrom.h | ||
cfag12864b.h | ||
cgroup-defs.h | ||
cgroup.h | ||
cgroup_subsys.h | ||
circ_buf.h | ||
cleancache.h | ||
clk-provider.h | ||
clk.h | ||
clkdev.h | ||
clock_cooling.h | ||
clockchips.h | ||
clocksource.h | ||
cm4000_cs.h | ||
cma.h | ||
cmdline-parser.h | ||
cn_proc.h | ||
cnt32_to_63.h | ||
coda.h | ||
coda_psdev.h | ||
compaction.h | ||
compat.h | ||
compiler-clang.h | ||
compiler-gcc.h | ||
compiler-intel.h | ||
compiler.h | ||
completion.h | ||
component.h | ||
concap.h | ||
configfs.h | ||
connector.h | ||
console.h | ||
console_struct.h | ||
consolemap.h | ||
container.h | ||
context_tracking.h | ||
context_tracking_state.h | ||
cordic.h | ||
coredump.h | ||
coresight-pmu.h | ||
coresight-stm.h | ||
coresight.h | ||
count_zeros.h | ||
cper.h | ||
cpu.h | ||
cpu_cooling.h | ||
cpu_pm.h | ||
cpu_rmap.h | ||
cpufeature.h | ||
cpufreq.h | ||
cpuhotplug.h | ||
cpuidle.h | ||
cpumask.h | ||
cpuset.h | ||
cputime.h | ||
crash_dump.h | ||
crc-ccitt.h | ||
crc-itu-t.h | ||
crc-t10dif.h | ||
crc7.h | ||
crc8.h | ||
crc16.h | ||
crc32.h | ||
crc32c.h | ||
cred.h | ||
crypto.h | ||
cryptohash.h | ||
cs5535.h | ||
ctype.h | ||
cuda.h | ||
cyclades.h | ||
davinci_emac.h | ||
dax.h | ||
dca.h | ||
dcache.h | ||
dccp.h | ||
dcookies.h | ||
debug_locks.h | ||
debugfs.h | ||
debugobjects.h | ||
delay.h | ||
delayacct.h | ||
delayed_call.h | ||
dell-led.h | ||
devcoredump.h | ||
devfreq-event.h | ||
devfreq.h | ||
devfreq_cooling.h | ||
device-mapper.h | ||
device.h | ||
device_cgroup.h | ||
devpts_fs.h | ||
digsig.h | ||
dio.h | ||
dirent.h | ||
dlm.h | ||
dlm_plock.h | ||
dm-dirty-log.h | ||
dm-io.h | ||
dm-kcopyd.h | ||
dm-region-hash.h | ||
dm9000.h | ||
dma-buf.h | ||
dma-contiguous.h | ||
dma-debug.h | ||
dma-direction.h | ||
dma-fence-array.h | ||
dma-fence.h | ||
dma-iommu.h | ||
dma-mapping.h | ||
dma_remapping.h | ||
dmaengine.h | ||
dmapool.h | ||
dmar.h | ||
dmi.h | ||
dnotify.h | ||
dns_resolver.h | ||
dqblk_qtree.h | ||
dqblk_v1.h | ||
dqblk_v2.h | ||
drbd.h | ||
drbd_genl.h | ||
drbd_genl_api.h | ||
drbd_limits.h | ||
ds2782_battery.h | ||
dtlk.h | ||
dw_apb_timer.h | ||
dynamic_debug.h | ||
dynamic_queue_limits.h | ||
earlycpio.h | ||
ecryptfs.h | ||
edac.h | ||
edd.h | ||
edma.h | ||
eeprom_93cx6.h | ||
eeprom_93xx46.h | ||
efi-bgrt.h | ||
efi.h | ||
efs_vh.h | ||
eisa.h | ||
elevator.h | ||
elf-fdpic.h | ||
elf-randomize.h | ||
elf.h | ||
elfcore-compat.h | ||
elfcore.h | ||
elfnote.h | ||
enclosure.h | ||
err.h | ||
errno.h | ||
errqueue.h | ||
etherdevice.h | ||
ethtool.h | ||
eventfd.h | ||
eventpoll.h | ||
evm.h | ||
export.h | ||
exportfs.h | ||
ext2_fs.h | ||
extable.h | ||
extcon.h | ||
f2fs_fs.h | ||
f75375s.h | ||
falloc.h | ||
fanotify.h | ||
fault-inject.h | ||
fb.h | ||
fcdevice.h | ||
fcntl.h | ||
fd.h | ||
fddidevice.h | ||
fdtable.h | ||
fec.h | ||
file.h | ||
filter.h | ||
fips.h | ||
firewire.h | ||
firmware-map.h | ||
firmware.h | ||
fixp-arith.h | ||
flat.h | ||
flex_array.h | ||
flex_proportions.h | ||
fmc-sdb.h | ||
fmc.h | ||
font.h | ||
frame.h | ||
freezer.h | ||
frontswap.h | ||
fs.h | ||
fs_enet_pd.h | ||
fs_pin.h | ||
fs_stack.h | ||
fs_struct.h | ||
fs_uart_pd.h | ||
fscache-cache.h | ||
fscache.h | ||
fscrypt_common.h | ||
fscrypt_notsupp.h | ||
fscrypt_supp.h | ||
fsi.h | ||
fsl-diu-fb.h | ||
fsl_devices.h | ||
fsl_hypervisor.h | ||
fsl_ifc.h | ||
fsldma.h | ||
fsnotify.h | ||
fsnotify_backend.h | ||
ftrace.h | ||
ftrace_irq.h | ||
futex.h | ||
fwnode.h | ||
gameport.h | ||
gcd.h | ||
genalloc.h | ||
genetlink.h | ||
genhd.h | ||
genl_magic_func.h | ||
genl_magic_struct.h | ||
getcpu.h | ||
gfp.h | ||
glob.h | ||
goldfish.h | ||
gpio-fan.h | ||
gpio-pxa.h | ||
gpio.h | ||
gpio_keys.h | ||
gpio_mouse.h | ||
hardirq.h | ||
hash.h | ||
hashtable.h | ||
hdlc.h | ||
hdlcdrv.h | ||
hdmi.h | ||
hid-debug.h | ||
hid-roccat.h | ||
hid-sensor-hub.h | ||
hid-sensor-ids.h | ||
hid.h | ||
hiddev.h | ||
hidraw.h | ||
highmem.h | ||
highuid.h | ||
hil.h | ||
hil_mlc.h | ||
hippidevice.h | ||
host1x.h | ||
hp_sdc.h | ||
hpet.h | ||
hrtimer.h | ||
htcpld.h | ||
htirq.h | ||
huge_mm.h | ||
hugetlb.h | ||
hugetlb_cgroup.h | ||
hugetlb_inline.h | ||
hw_breakpoint.h | ||
hw_random.h | ||
hwmon-sysfs.h | ||
hwmon-vid.h | ||
hwmon.h | ||
hwspinlock.h | ||
hyperv.h | ||
hypervisor.h | ||
i2c-algo-bit.h | ||
i2c-algo-pca.h | ||
i2c-algo-pcf.h | ||
i2c-dev.h | ||
i2c-gpio.h | ||
i2c-mux-gpio.h | ||
i2c-mux-pinctrl.h | ||
i2c-mux.h | ||
i2c-ocores.h | ||
i2c-omap.h | ||
i2c-pca-platform.h | ||
i2c-pnx.h | ||
i2c-pxa.h | ||
i2c-smbus.h | ||
i2c-xiic.h | ||
i2c.h | ||
i7300_idle.h | ||
i8042.h | ||
i8253.h | ||
icmp.h | ||
icmpv6.h | ||
ide.h | ||
idr.h | ||
ieee80211.h | ||
ieee802154.h | ||
if_arp.h | ||
if_bridge.h | ||
if_eql.h | ||
if_ether.h | ||
if_fddi.h | ||
if_frad.h | ||
if_link.h | ||
if_ltalk.h | ||
if_macvlan.h | ||
if_phonet.h | ||
if_pppol2tp.h | ||
if_pppox.h | ||
if_tap.h | ||
if_team.h | ||
if_tun.h | ||
if_tunnel.h | ||
if_vlan.h | ||
igmp.h | ||
ihex.h | ||
ima.h | ||
in.h | ||
in6.h | ||
inet.h | ||
inet_diag.h | ||
inetdevice.h | ||
init.h | ||
init_ohci1394_dma.h | ||
init_task.h | ||
initrd.h | ||
inotify.h | ||
input-polldev.h | ||
input.h | ||
integrity.h | ||
intel-iommu.h | ||
intel-svm.h | ||
interrupt.h | ||
interval_tree.h | ||
interval_tree_generic.h | ||
io-64-nonatomic-hi-lo.h | ||
io-64-nonatomic-lo-hi.h | ||
io-mapping.h | ||
io.h | ||
ioc3.h | ||
ioc4.h | ||
iocontext.h | ||
iomap.h | ||
iommu-common.h | ||
iommu-helper.h | ||
iommu.h | ||
iopoll.h | ||
ioport.h | ||
ioprio.h | ||
iova.h | ||
ip.h | ||
ipack.h | ||
ipc.h | ||
ipc_namespace.h | ||
ipmi-fru.h | ||
ipmi.h | ||
ipmi_smi.h | ||
ipv6.h | ||
ipv6_route.h | ||
irq.h | ||
irq_cpustat.h | ||
irq_poll.h | ||
irq_work.h | ||
irqbypass.h | ||
irqchip.h | ||
irqdesc.h | ||
irqdomain.h | ||
irqflags.h | ||
irqhandler.h | ||
irqnr.h | ||
irqreturn.h | ||
isa.h | ||
isapnp.h | ||
iscsi_boot_sysfs.h | ||
iscsi_ibft.h | ||
isdn.h | ||
isdn_divertif.h | ||
isdn_ppp.h | ||
isdnif.h | ||
isicom.h | ||
jbd2.h | ||
jhash.h | ||
jiffies.h | ||
journal-head.h | ||
joystick.h | ||
jump_label.h | ||
jump_label_ratelimit.h | ||
jz4740-adc.h | ||
jz4780-nemc.h | ||
kallsyms.h | ||
kasan-checks.h | ||
kasan.h | ||
kbd_diacr.h | ||
kbd_kern.h | ||
kbuild.h | ||
kconfig.h | ||
kcore.h | ||
kcov.h | ||
kd.h | ||
kdb.h | ||
kdebug.h | ||
kdev_t.h | ||
kern_levels.h | ||
kernel-page-flags.h | ||
kernel.h | ||
kernel_stat.h | ||
kernelcapi.h | ||
kernfs.h | ||
kexec.h | ||
key-type.h | ||
key.h | ||
keyboard.h | ||
kfifo.h | ||
kgdb.h | ||
khugepaged.h | ||
klist.h | ||
kmemcheck.h | ||
kmemleak.h | ||
kmod.h | ||
kmsg_dump.h | ||
kobj_map.h | ||
kobject.h | ||
kobject_ns.h | ||
kprobes.h | ||
kref.h | ||
ks0108.h | ||
ks8842.h | ||
ks8851_mll.h | ||
ksm.h | ||
kthread.h | ||
ktime.h | ||
kvm_host.h | ||
kvm_irqfd.h | ||
kvm_para.h | ||
kvm_types.h | ||
l2tp.h | ||
lapb.h | ||
latencytop.h | ||
lcd.h | ||
lcm.h | ||
led-class-flash.h | ||
led-lm3530.h | ||
leds-bd2802.h | ||
leds-lp3944.h | ||
leds-lp3952.h | ||
leds-pca9532.h | ||
leds-regulator.h | ||
leds-tca6507.h | ||
leds.h | ||
leds_pwm.h | ||
lguest.h | ||
lguest_launcher.h | ||
libata.h | ||
libfdt.h | ||
libfdt_env.h | ||
libnvdimm.h | ||
libps2.h | ||
license.h | ||
lightnvm.h | ||
linkage.h | ||
linux_logo.h | ||
lis3lv02d.h | ||
list.h | ||
list_bl.h | ||
list_lru.h | ||
list_nulls.h | ||
list_sort.h | ||
livepatch.h | ||
llc.h | ||
llist.h | ||
lockdep.h | ||
lockref.h | ||
log2.h | ||
lp.h | ||
lru_cache.h | ||
lsm_audit.h | ||
lsm_hooks.h | ||
lz4.h | ||
lzo.h | ||
mailbox_client.h | ||
mailbox_controller.h | ||
maple.h | ||
marvell_phy.h | ||
math64.h | ||
max17040_battery.h | ||
mbcache.h | ||
mbus.h | ||
mc6821.h | ||
mc146818rtc.h | ||
mcb.h | ||
mdev.h | ||
mdio-bitbang.h | ||
mdio-mux.h | ||
mdio.h | ||
mei_cl_bus.h | ||
memblock.h | ||
memcontrol.h | ||
memory.h | ||
memory_hotplug.h | ||
mempolicy.h | ||
mempool.h | ||
memremap.h | ||
memstick.h | ||
mg_disk.h | ||
mic_bus.h | ||
micrel_phy.h | ||
microchipphy.h | ||
migrate.h | ||
migrate_mode.h | ||
mii.h | ||
miscdevice.h | ||
mISDNdsp.h | ||
mISDNhw.h | ||
mISDNif.h | ||
mm-arch-hooks.h | ||
mm.h | ||
mm_inline.h | ||
mm_types.h | ||
mman.h | ||
mmdebug.h | ||
mmiotrace.h | ||
mmu_context.h | ||
mmu_notifier.h | ||
mmzone.h | ||
mnt_namespace.h | ||
mod_devicetable.h | ||
module.h | ||
moduleloader.h | ||
moduleparam.h | ||
mount.h | ||
mpage.h | ||
mpi.h | ||
mpls.h | ||
mpls_iptunnel.h | ||
mroute.h | ||
mroute6.h | ||
msdos_fs.h | ||
msg.h | ||
msi.h | ||
mutex.h | ||
mv643xx.h | ||
mv643xx_eth.h | ||
mv643xx_i2c.h | ||
mvebu-pmsu.h | ||
mxm-wmi.h | ||
n_r3964.h | ||
namei.h | ||
nd.h | ||
net.h | ||
netdev_features.h | ||
netdevice.h | ||
netfilter.h | ||
netfilter_bridge.h | ||
netfilter_defs.h | ||
netfilter_ingress.h | ||
netfilter_ipv4.h | ||
netfilter_ipv6.h | ||
netlink.h | ||
netpoll.h | ||
nfs.h | ||
nfs3.h | ||
nfs4.h | ||
nfs_fs.h | ||
nfs_fs_i.h | ||
nfs_fs_sb.h | ||
nfs_iostat.h | ||
nfs_page.h | ||
nfs_xdr.h | ||
nfsacl.h | ||
nl802154.h | ||
nls.h | ||
nmi.h | ||
node.h | ||
nodemask.h | ||
notifier.h | ||
ns_common.h | ||
nsc_gpio.h | ||
nsproxy.h | ||
ntb.h | ||
ntb_transport.h | ||
nubus.h | ||
numa.h | ||
nvme-fc-driver.h | ||
nvme-fc.h | ||
nvme-rdma.h | ||
nvme.h | ||
nvmem-consumer.h | ||
nvmem-provider.h | ||
nvram.h | ||
of.h | ||
of_address.h | ||
of_device.h | ||
of_dma.h | ||
of_fdt.h | ||
of_gpio.h | ||
of_graph.h | ||
of_iommu.h | ||
of_irq.h | ||
of_mdio.h | ||
of_net.h | ||
of_pci.h | ||
of_pdt.h | ||
of_platform.h | ||
of_reserved_mem.h | ||
oid_registry.h | ||
olpc-ec.h | ||
omap-dma.h | ||
omap-dmaengine.h | ||
omap-gpmc.h | ||
omap-iommu.h | ||
omap-mailbox.h | ||
omapfb.h | ||
once.h | ||
oom.h | ||
openvswitch.h | ||
oprofile.h | ||
osq_lock.h | ||
oxu210hp.h | ||
padata.h | ||
page-flags-layout.h | ||
page-flags.h | ||
page-isolation.h | ||
page_counter.h | ||
page_ext.h | ||
page_idle.h | ||
page_owner.h | ||
page_ref.h | ||
pageblock-flags.h | ||
pagemap.h | ||
pagevec.h | ||
parman.h | ||
parport.h | ||
parport_pc.h | ||
parser.h | ||
pata_arasan_cf_data.h | ||
patchkey.h | ||
path.h | ||
pch_dma.h | ||
pci-acpi.h | ||
pci-aspm.h | ||
pci-ats.h | ||
pci-dma-compat.h | ||
pci-dma.h | ||
pci-ecam.h | ||
pci.h | ||
pci_hotplug.h | ||
pci_ids.h | ||
pcieport_if.h | ||
pda_power.h | ||
pe.h | ||
percpu-defs.h | ||
percpu-refcount.h | ||
percpu-rwsem.h | ||
percpu.h | ||
percpu_counter.h | ||
percpu_ida.h | ||
perf_event.h | ||
perf_regs.h | ||
personality.h | ||
pfn.h | ||
pfn_t.h | ||
phonet.h | ||
phy.h | ||
phy_fixed.h | ||
phy_led_triggers.h | ||
pid.h | ||
pid_namespace.h | ||
pim.h | ||
pipe_fs_i.h | ||
pkeys.h | ||
pktcdvd.h | ||
pl320-ipc.h | ||
platform_device.h | ||
plist.h | ||
pm-trace.h | ||
pm.h | ||
pm2301_charger.h | ||
pm_clock.h | ||
pm_domain.h | ||
pm_opp.h | ||
pm_qos.h | ||
pm_runtime.h | ||
pm_wakeirq.h | ||
pm_wakeup.h | ||
pmem.h | ||
pmu.h | ||
pnfs_osd_xdr.h | ||
pnp.h | ||
poison.h | ||
poll.h | ||
posix-clock.h | ||
posix-timers.h | ||
posix_acl.h | ||
posix_acl_xattr.h | ||
power_supply.h | ||
powercap.h | ||
ppp-comp.h | ||
ppp_channel.h | ||
ppp_defs.h | ||
pps-gpio.h | ||
pps_kernel.h | ||
pr.h | ||
preempt.h | ||
prefetch.h | ||
printk.h | ||
proc_fs.h | ||
proc_ns.h | ||
profile.h | ||
projid.h | ||
property.h | ||
psci.h | ||
pstore.h | ||
pstore_ram.h | ||
pti.h | ||
ptp_classify.h | ||
ptp_clock_kernel.h | ||
ptr_ring.h | ||
ptrace.h | ||
pvclock_gtod.h | ||
pwm.h | ||
pwm_backlight.h | ||
pxa2xx_ssp.h | ||
pxa168_eth.h | ||
qcom_scm.h | ||
qnx6_fs.h | ||
quicklist.h | ||
quota.h | ||
quotaops.h | ||
radix-tree.h | ||
raid_class.h | ||
ramfs.h | ||
random.h | ||
range.h | ||
ras.h | ||
ratelimit.h | ||
rational.h | ||
rbtree.h | ||
rbtree_augmented.h | ||
rbtree_latch.h | ||
rcu_sync.h | ||
rculist.h | ||
rculist_bl.h | ||
rculist_nulls.h | ||
rcupdate.h | ||
rcutiny.h | ||
rcutree.h | ||
rcuwait.h | ||
reboot.h | ||
reciprocal_div.h | ||
refcount.h | ||
regmap.h | ||
regset.h | ||
relay.h | ||
remoteproc.h | ||
reservation.h | ||
reset-controller.h | ||
reset.h | ||
resource.h | ||
resource_ext.h | ||
restart_block.h | ||
rfkill.h | ||
rhashtable.h | ||
ring_buffer.h | ||
rio.h | ||
rio_drv.h | ||
rio_ids.h | ||
rio_regs.h | ||
rmap.h | ||
rmi.h | ||
rndis.h | ||
root_dev.h | ||
rpmsg.h | ||
rslib.h | ||
rtc.h | ||
rtmutex.h | ||
rtnetlink.h | ||
rwlock.h | ||
rwlock_api_smp.h | ||
rwlock_types.h | ||
rwsem-spinlock.h | ||
rwsem.h | ||
rxrpc.h | ||
s3c_adc_battery.h | ||
sa11x0-dma.h | ||
sbitmap.h | ||
scatterlist.h | ||
scc.h | ||
sched.h | ||
sched_clock.h | ||
scif.h | ||
scpi_protocol.h | ||
screen_info.h | ||
sctp.h | ||
scx200.h | ||
scx200_gpio.h | ||
sdb.h | ||
sdla.h | ||
seccomp.h | ||
securebits.h | ||
security.h | ||
sed-opal.h | ||
seg6.h | ||
seg6_genl.h | ||
seg6_hmac.h | ||
seg6_iptunnel.h | ||
selection.h | ||
selinux.h | ||
sem.h | ||
semaphore.h | ||
seq_buf.h | ||
seq_file.h | ||
seq_file_net.h | ||
seqlock.h | ||
seqno-fence.h | ||
serdev.h | ||
serial.h | ||
serial_8250.h | ||
serial_bcm63xx.h | ||
serial_core.h | ||
serial_max3100.h | ||
serial_pnx8xxx.h | ||
serial_s3c.h | ||
serial_sci.h | ||
serio.h | ||
sfi.h | ||
sfi_acpi.h | ||
sh_clk.h | ||
sh_dma.h | ||
sh_eth.h | ||
sh_intc.h | ||
sh_timer.h | ||
shdma-base.h | ||
shm.h | ||
shmem_fs.h | ||
shrinker.h | ||
signal.h | ||
signalfd.h | ||
siphash.h | ||
sirfsoc_dma.h | ||
sizes.h | ||
skb_array.h | ||
skbuff.h | ||
slab.h | ||
slab_def.h | ||
slub_def.h | ||
sm501-regs.h | ||
sm501.h | ||
smc91x.h | ||
smc911x.h | ||
smp.h | ||
smpboot.h | ||
smsc911x.h | ||
smscphy.h | ||
sock_diag.h | ||
socket.h | ||
sonet.h | ||
sony-laptop.h | ||
sonypi.h | ||
sort.h | ||
sound.h | ||
soundcard.h | ||
spinlock.h | ||
spinlock_api_smp.h | ||
spinlock_api_up.h | ||
spinlock_types.h | ||
spinlock_types_up.h | ||
spinlock_up.h | ||
splice.h | ||
spmi.h | ||
sram.h | ||
srcu.h | ||
ssbi.h | ||
stackdepot.h | ||
stackprotector.h | ||
stacktrace.h | ||
start_kernel.h | ||
stat.h | ||
statfs.h | ||
static_key.h | ||
stddef.h | ||
ste_modem_shm.h | ||
stm.h | ||
stmmac.h | ||
stmp3xxx_rtc_wdt.h | ||
stmp_device.h | ||
stop_machine.h | ||
string.h | ||
string_helpers.h | ||
stringhash.h | ||
stringify.h | ||
sudmac.h | ||
sungem_phy.h | ||
sunserialcore.h | ||
sunxi-rsb.h | ||
superhyway.h | ||
suspend.h | ||
svga.h | ||
sw842.h | ||
swab.h | ||
swait.h | ||
swap.h | ||
swap_cgroup.h | ||
swapfile.h | ||
swapops.h | ||
swiotlb.h | ||
sxgbe_platform.h | ||
sync_file.h | ||
synclink.h | ||
sys.h | ||
sys_soc.h | ||
syscalls.h | ||
syscore_ops.h | ||
sysctl.h | ||
sysfs.h | ||
syslog.h | ||
sysrq.h | ||
sysv_fs.h | ||
t10-pi.h | ||
task_io_accounting.h | ||
task_io_accounting_ops.h | ||
task_work.h | ||
taskstats_kern.h | ||
tboot.h | ||
tc.h | ||
tca6416_keypad.h | ||
tcp.h | ||
textsearch.h | ||
textsearch_fsm.h | ||
tfrc.h | ||
thermal.h | ||
thinkpad_acpi.h | ||
thread_info.h | ||
threads.h | ||
ti_wilink_st.h | ||
tick.h | ||
tifm.h | ||
timb_dma.h | ||
timb_gpio.h | ||
time.h | ||
time64.h | ||
timecounter.h | ||
timekeeper_internal.h | ||
timekeeping.h | ||
timer.h | ||
timerfd.h | ||
timeriomem-rng.h | ||
timerqueue.h | ||
timex.h | ||
topology.h | ||
torture.h | ||
toshiba.h | ||
tpm.h | ||
tpm_command.h | ||
trace.h | ||
trace_clock.h | ||
trace_events.h | ||
trace_seq.h | ||
tracefs.h | ||
tracehook.h | ||
tracepoint-defs.h | ||
tracepoint.h | ||
transport_class.h | ||
tsacct_kern.h | ||
tty.h | ||
tty_driver.h | ||
tty_flip.h | ||
tty_ldisc.h | ||
typecheck.h | ||
types.h | ||
u64_stats_sync.h | ||
uaccess.h | ||
ucb1400.h | ||
ucs2_string.h | ||
udp.h | ||
uidgid.h | ||
uinput.h | ||
uio.h | ||
uio_driver.h | ||
uprobes.h | ||
usb.h | ||
usb_usual.h | ||
usbdevice_fs.h | ||
user-return-notifier.h | ||
user.h | ||
user_namespace.h | ||
userfaultfd_k.h | ||
util_macros.h | ||
uts.h | ||
utsname.h | ||
uuid.h | ||
uwb.h | ||
verification.h | ||
vermagic.h | ||
vexpress.h | ||
vfio.h | ||
vfs.h | ||
vga_switcheroo.h | ||
vgaarb.h | ||
via-core.h | ||
via-gpio.h | ||
via.h | ||
via_i2c.h | ||
videodev2.h | ||
virtio.h | ||
virtio_byteorder.h | ||
virtio_caif.h | ||
virtio_config.h | ||
virtio_console.h | ||
virtio_mmio.h | ||
virtio_net.h | ||
virtio_ring.h | ||
virtio_vsock.h | ||
vlynq.h | ||
vm_event_item.h | ||
vm_sockets.h | ||
vmacache.h | ||
vmalloc.h | ||
vme.h | ||
vmpressure.h | ||
vmstat.h | ||
vmw_vmci_api.h | ||
vmw_vmci_defs.h | ||
vringh.h | ||
vt.h | ||
vt_buffer.h | ||
vt_kern.h | ||
vtime.h | ||
w1-gpio.h | ||
wait.h | ||
wanrouter.h | ||
watchdog.h | ||
win_minmax.h | ||
wireless.h | ||
wkup_m3_ipc.h | ||
wl12xx.h | ||
wm97xx.h | ||
workqueue.h | ||
writeback.h | ||
ww_mutex.h | ||
xattr.h | ||
xz.h | ||
yam.h | ||
z2_battery.h | ||
zbud.h | ||
zconf.h | ||
zlib.h | ||
zorro.h | ||
zpool.h | ||
zsmalloc.h | ||
zutil.h |