twx-linux/include/linux
Hannes Frederic Sowa a48e42920f net: introduce new macro net_get_random_once
net_get_random_once is a new macro which handles the initialization
of secret keys. It is possible to call it in the fast path. Only the
initialization depends on the spinlock and is rather slow. Otherwise
it should get used just before the key is used to delay the entropy
extration as late as possible to get better randomness. It returns true
if the key got initialized.

The usage of static_keys for net_get_random_once is a bit uncommon so
it needs some further explanation why this actually works:

=== In the simple non-HAVE_JUMP_LABEL case we actually have ===
no constrains to use static_key_(true|false) on keys initialized with
STATIC_KEY_INIT_(FALSE|TRUE). So this path just expands in favor of
the likely case that the initialization is already done. The key is
initialized like this:

___done_key = { .enabled = ATOMIC_INIT(0) }

The check

                if (!static_key_true(&___done_key))                     \

expands into (pseudo code)

                if (!likely(___done_key > 0))

, so we take the fast path as soon as ___done_key is increased from the
helper function.

=== If HAVE_JUMP_LABELs are available this depends ===
on patching of jumps into the prepared NOPs, which is done in
jump_label_init at boot-up time (from start_kernel). It is forbidden
and dangerous to use net_get_random_once in functions which are called
before that!

At compilation time NOPs are generated at the call sites of
net_get_random_once. E.g. net/ipv6/inet6_hashtable.c:inet6_ehashfn (we
need to call net_get_random_once two times in inet6_ehashfn, so two NOPs):

      71:       0f 1f 44 00 00          nopl   0x0(%rax,%rax,1)
      76:       0f 1f 44 00 00          nopl   0x0(%rax,%rax,1)

Both will be patched to the actual jumps to the end of the function to
call __net_get_random_once at boot time as explained above.

arch_static_branch is optimized and inlined for false as return value and
actually also returns false in case the NOP is placed in the instruction
stream. So in the fast case we get a "return false". But because we
initialize ___done_key with (enabled != (entries & 1)) this call-site
will get patched up at boot thus returning true. The final check looks
like this:

                if (!static_key_true(&___done_key))                     \
                        ___ret = __net_get_random_once(buf,             \

expands to

                if (!!static_key_false(&___done_key))                     \
                        ___ret = __net_get_random_once(buf,             \

So we get true at boot time and as soon as static_key_slow_inc is called
on the key it will invert the logic and return false for the fast path.
static_key_slow_inc will change the branch because it got initialized
with .enabled == 0. After static_key_slow_inc is called on the key the
branch is replaced with a nop again.

=== Misc: ===
The helper defers the increment into a workqueue so we don't
have problems calling this code from atomic sections. A seperate boolean
(___done) guards the case where we enter net_get_random_once again before
the increment happend.

Cc: Ingo Molnar <mingo@redhat.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Jason Baron <jbaron@redhat.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Eric Dumazet <edumazet@google.com>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-10-19 19:45:35 -04:00
..
amba dmaengine: PL08x: Add support for PL080S variant 2013-09-02 11:49:56 +05:30
bcma bcma: make bcma_core_pci_{up,down}() callable from atomic context 2013-09-26 14:02:33 -04:00
byteorder
can
ceph libceph: add function to ensure notifies are complete 2013-09-09 11:15:49 -07:00
clk
crush
decompress
dma
extcon
fsl/bestcomm
hsi
i2c ARM: SoC cleanups for 3.12 2013-09-06 13:21:16 -07:00
iio
input
irqchip ARM: SoC late changes for v3.12 2013-09-09 16:35:29 -07:00
isdn
lockd
mfd MMC highlights for 3.12: 2013-09-10 13:33:09 -07:00
mlx4 net/mlx4: Fix typo, move similar defs to same location 2013-10-17 15:10:50 -04:00
mlx5
mmc
mtd
netfilter netfilter: nfnetlink: add batch support and use it from nf_tables 2013-10-14 18:01:01 +02:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
nfsd
pinctrl
platform_data Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds 2013-09-12 11:35:33 -07:00
power
raid md update for v3.12 2013-09-10 13:03:41 -07:00
regulator regulator: fix fatal kernel-doc error 2013-09-17 11:49:25 +01:00
rtc
sched
spi MMC highlights for 3.12: 2013-09-10 13:33:09 -07:00
ssb ssb: provide phy address for Gigabit Ethernet driver 2013-10-02 15:40:57 -04:00
sunrpc Merge branch 'nfsd-next' of git://linux-nfs.org/~bfields/linux 2013-09-10 20:04:59 -07:00
unaligned
usb USBNET: fix handling padding packet 2013-09-28 15:42:49 -04:00
uwb
wimax
8250_pci.h
a.out.h
acct.h
acpi_dma.h
acpi_gpio.h
acpi_io.h
acpi_pmtmr.h
acpi.h
adb.h
adfs_fs.h
aer.h
agp_backend.h
agpgart.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_bios.h
apm-emulation.h
apple_bl.h
arcdevice.h
arm-cci.h
asn1_ber_bytecode.h
asn1_decoder.h
asn1.h
async_tx.h
async.h
ata_platform.h
ata.h
atalk.h
ath9k_platform.h
atm_suni.h
atm_tcp.h
atm.h
atmdev.h
atmel_pdc.h
atmel_pwm.h
atmel_serial.h
atmel_tc.h
atmel-mci.h
atmel-pwm-bl.h
atmel-ssc.h
atomic.h
attribute_container.h
audit.h
auto_dev-ioctl.h
auto_fs.h
auxvec.h
average.h
b1pcmcia.h
backing-dev.h mm/page-writeback.c: add strictlimit feature 2013-09-11 15:58:04 -07:00
backlight.h
balloon_compaction.h mm: avoid reinserting isolated balloon pages into LRU lists 2013-09-30 14:31:02 -07:00
basic_mmio_gpio.h
bcd.h
bch.h
bcm47xx_wdt.h
bfin_mac.h
binfmts.h exec: kill "int depth" in search_binary_handler() 2013-09-11 15:59:04 -07:00
bio.h
bit_spinlock.h
bitmap.h
bitops.h
bitrev.h
blk_types.h
blk-iopoll.h
blkdev.h block: Add nr_bios to block_rq_remap tracepoint 2013-09-21 13:57:47 -06:00
blktrace_api.h
blockgroup_lock.h
bma150.h
bootmem.h
bottom_half.h
brcmphy.h
bsearch.h
bsg-lib.h
bsg.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h direct-io: Implement generic deferred AIO completions 2013-09-04 09:23:46 -04:00
bug.h
c2port.h
cache.h
capability.h
cb710.h
cciss_ioctl.h
cdev.h
cdrom.h
cfag12864b.h
cgroup_subsys.h
cgroup.h
circ_buf.h
cleancache.h
clk-private.h
clk-provider.h
clk.h
clkdev.h
clksrc-dbx500-prcmu.h
clockchips.h
clocksource.h
cm4000_cs.h
cmdline-parser.h block: support embedded device command line partition 2013-09-11 15:56:57 -07:00
cn_proc.h
cnt32_to_63.h
coda_psdev.h
coda.h
com20020.h
compaction.h
compat.h syscalls.h: add forward declarations for inplace syscall wrappers 2013-09-11 15:58:25 -07:00
compiler-gcc3.h
compiler-gcc4.h
compiler-gcc.h
compiler-intel.h
compiler.h
completion.h
concap.h
configfs.h
connector.h
console_struct.h
console.h
consolemap.h
context_tracking_state.h
context_tracking.h
cordic.h
coredump.h
cper.h
cpu_cooling.h
cpu_pm.h
cpu_rmap.h Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
cpu.h
cpufreq.h Revert "cpufreq: make sure frequency transitions are serialized" 2013-09-10 02:54:50 +02:00
cpuidle.h
cpumask.h
cpuset.h
cramfs_fs_sb.h
cramfs_fs.h
crash_dump.h vmcore: introduce remap_oldmem_pfn_range() 2013-09-11 15:59:10 -07:00
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h Reinstate "crypto: crct10dif - Wrap crc_t10dif function all to use crypto transform framework" 2013-09-07 12:56:26 +10:00
cred.h
crypto.h
cryptohash.h
cryptouser.h
cs5535.h
ctype.h
cuda.h
cyclades.h
cycx_x25.h
davinci_emac.h
dca.h
dcache.h super: fix calculation of shrinkable objects for small numbers 2013-09-10 18:56:29 -04:00
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
devfreq.h
device_cgroup.h
device-mapper.h dm mpath: disable WRITE SAME if it fails 2013-09-20 10:36:34 -04:00
device.h Merge branch 'for-v3.12' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping 2013-09-09 10:26:33 -07:00
devpts_fs.h
digsig.h
dio.h
dirent.h
dlm_plock.h
dlm.h
dm9000.h
dm-dirty-log.h
dm-io.h
dm-kcopyd.h
dm-region-hash.h
dma_remapping.h
dma-attrs.h
dma-buf.h
dma-contiguous.h
dma-debug.h
dma-direction.h
dma-mapping.h
dmaengine.h Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma 2013-09-10 13:37:36 -07:00
dmapool.h
dmar.h
dmi.h
dnotify.h
dns_resolver.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
drbd_genl_api.h
drbd_genl.h
drbd_limits.h
drbd.h
ds1286.h
ds2782_battery.h
ds17287rtc.h
dtlk.h
dw_apb_timer.h
dw_dmac.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.h
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
err.h
errno.h
errqueue.h
etherdevice.h [networking]device.h: Remove extern from function prototypes 2013-09-26 15:06:58 -07:00
ethtool.h
eventfd.h Kill indirect include of file.h from eventfd.h, use fdget() in cgroup.c 2013-09-07 19:54:57 -04:00
eventpoll.h
evm.h
export.h
exportfs.h
ext2_fs.h
extcon.h
f2fs_fs.h
f75375s.h
falloc.h
fanotify.h
fault-inject.h
fb.h
fcdevice.h [networking]device.h: Remove extern from function prototypes 2013-09-26 15:06:58 -07:00
fcntl.h
fd.h
fddidevice.h [networking]device.h: Remove extern from function prototypes 2013-09-26 15:06:58 -07:00
fdtable.h
fec.h
file.h
filter.h net: fix unsafe set_memory_rw from softirq 2013-10-07 15:16:45 -04:00
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
freezer.h
frontswap.h
fs_enet_pd.h
fs_stack.h
fs_struct.h vfs: move get_fs_root_and_pwd() to single caller 2013-09-12 10:12:47 -07:00
fs_uart_pd.h
fs.h a trivial writeback fix 2013-09-13 23:06:40 -04:00
fscache-cache.h FS-Cache: Add interface to check consistency of a cached object 2013-09-06 09:17:30 +01:00
fscache.h fscache: Netfs function for cleanup post readpages 2013-09-06 09:17:30 +01:00
fsl_devices.h
fsl_hypervisor.h
fsl-diu-fb.h
fsnotify_backend.h
fsnotify.h
ftrace_event.h Merge branch 'rcu/next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu 2013-09-03 07:41:11 +02:00
ftrace_irq.h
ftrace.h
futex.h
gameport.h
gcd.h
genalloc.h lib/genalloc.c: fix overflow of ending address of memory chunk 2013-09-11 15:57:35 -07:00
generic_acl.h
genetlink.h
genhd.h
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h
gpio_keys.h
gpio_mouse.h
gpio-fan.h
gpio-pxa.h
gpio.h
gsmmux.h
hardirq.h Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
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 HID: provide a helper for validating hid reports 2013-09-13 15:11:21 +02:00
hiddev.h
hidraw.h
highmem.h
highuid.h
hil_mlc.h
hil.h
hippidevice.h [networking]device.h: Remove extern from function prototypes 2013-09-26 15:06:58 -07:00
hp_sdc.h
hpet.h
hrtimer.h
htcpld.h
htirq.h
huge_mm.h thp: consolidate code between handle_mm_fault() and do_huge_pmd_anonymous_page() 2013-09-12 15:38:03 -07:00
hugetlb_cgroup.h
hugetlb_inline.h
hugetlb.h mm: migrate: check movability of hugepage in unmap_and_move_huge_page() 2013-09-11 15:57:49 -07:00
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h Drivers: hv: util: Correctly support ws2008R2 and earlier 2013-09-26 14:20:21 -07:00
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
i2o.h
i7300_idle.h
i8042.h
i8253.h
i82593.h
icmp.h
icmpv6.h
ide.h
idr.h
ieee80211.h ieee80211: fix vht cap definitions 2013-10-01 12:17:08 +02:00
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_team.h
if_tun.h
if_tunnel.h
if_vlan.h
igmp.h
ihex.h
ima.h
in6.h
in.h
inet_diag.h
inet_lro.h
inet.h
inetdevice.h [networking]device.h: Remove extern from function prototypes 2013-09-26 15:06:58 -07:00
init_ohci1394_dma.h
init_task.h
init.h initmpfs: move rootfs code from fs/ramfs/ to init/ 2013-09-11 15:59:37 -07:00
initrd.h
inotify.h
input-polldev.h
input.h
integrity.h
intel_mid_dma.h
intel_pmic_gpio.h
intel-iommu.h
interrupt.h Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
interval_tree_generic.h
interval_tree.h
io-mapping.h
io.h
ioc3.h
ioc4.h
iocontext.h
iommu-helper.h
iommu.h
ioport.h
ioprio.h
iova.h
ip.h
ipack.h
ipc_namespace.h ipc: rename ids->rw_mutex 2013-09-11 15:59:42 -07:00
ipc.h
ipmi_smi.h
ipmi-fru.h
ipmi.h
ipv6_route.h
ipv6.h inet: includes a sock_common in request_sock 2013-10-10 00:08:07 -04:00
irq_cpustat.h
irq_work.h
irq.h Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
irqchip.h
irqdesc.h Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
irqdomain.h
irqflags.h
irqnr.h Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
irqreturn.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
isdn_divertif.h
isdn_ppp.h
isdn.h
isdnif.h
isicom.h
jbd2.h
jbd_common.h
jbd.h
jhash.h
jiffies.h
journal-head.h
joystick.h
jump_label_ratelimit.h static_key: WARN on usage before jump_label_init was called 2013-10-19 19:45:35 -04:00
jump_label.h static_key: WARN on usage before jump_label_init was called 2013-10-19 19:45:35 -04:00
jz4740-adc.h
kallsyms.h
kbd_diacr.h
kbd_kern.h
kbuild.h
kcmp.h
kconfig.h
kcore.h
kd.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h
kernel_stat.h Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
kernel-page-flags.h
kernel.h lib: introduce upper case hex ascii helpers 2013-09-20 15:38:26 -04:00
kernelcapi.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_ns.h
kobject.h
kprobes.h kprobes: allow to specify custom allocator for insn caches 2013-09-11 15:58:52 -07:00
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kthread.h
ktime.h
kvm_host.h KVM: mmu: allow page tables to be in read-only slots 2013-09-17 12:52:31 +03:00
kvm_para.h
kvm_types.h
l2tp.h
lapb.h
latencytop.h
lcd.h
lcm.h
led-lm3530.h
leds_pwm.h
leds-bd2802.h
leds-lp3944.h
leds-pca9532.h
leds-regulator.h
leds-tca6507.h
leds.h
lglock.h
lguest_launcher.h
lguest.h
libata.h
libfdt_env.h
libfdt.h
libps2.h
license.h
linkage.h
linux_logo.h
lis3lv02d.h
list_bl.h
list_lru.h list_lru: dynamically adjust node arrays 2013-09-10 18:56:32 -04:00
list_nulls.h
list_sort.h
list.h
llc.h
llist.h
lockdep.h
lockref.h lockref: add ability to mark lockrefs "dead" 2013-09-07 15:49:18 -07:00
log2.h
lp.h
lru_cache.h
lsm_audit.h
lz4.h lz4: fix compression/decompression signedness mismatch 2013-09-11 15:59:45 -07:00
lzo.h
m48t86.h
mailbox.h
maple.h
marvell_phy.h
math64.h
max17040_battery.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mdio-bitbang.h
mdio-gpio.h
mdio-mux.h
mdio.h
mei_cl_bus.h
memblock.h memblock, numa: binary search node id 2013-09-11 15:57:51 -07:00
memcontrol.h revert "memcg, vmscan: integrate soft reclaim tighter with zone shrinking code" 2013-09-24 17:00:26 -07:00
memory_hotplug.h
memory.h
mempolicy.h mm: migrate: remove VM_HUGETLB from vma flag check in vma_migratable() 2013-09-11 15:57:48 -07:00
mempool.h
memstick.h
mg_disk.h
micrel_phy.h
migrate_mode.h
migrate.h Merge git://git.kvack.org/~bcrl/aio-next 2013-09-13 10:55:58 -07:00
mii.h
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm_inline.h mm: vmscan: fix do_try_to_free_pages() livelock 2013-09-11 15:58:01 -07:00
mm_types.h Merge git://git.kvack.org/~bcrl/aio-next 2013-09-13 10:55:58 -07:00
mm.h thp: consolidate code between handle_mm_fault() and do_huge_pmd_anonymous_page() 2013-09-12 15:38:03 -07:00
mman.h
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h
mmzone.h mm: vmscan: fix do_try_to_free_pages() livelock 2013-09-11 15:58:01 -07:00
mnt_namespace.h
mod_devicetable.h Revert "Input: introduce BTN/ABS bits for drums and guitars" 2013-09-07 09:48:41 -07:00
module.h module: Fix mod->mkobj.kobj potentially freed too early 2013-09-03 16:35:47 +09:30
moduleloader.h
moduleparam.h
mount.h
mpage.h
mpi.h
mroute6.h
mroute.h
msdos_fs.h
msg.h
msi.h
msm_mdp.h
mutex-debug.h
mutex.h mutex: replace CONFIG_HAVE_ARCH_MUTEX_CPU_RELAX with simple ifdef 2013-09-28 12:46:21 +02:00
mv643xx_eth.h
mv643xx_i2c.h
mv643xx.h
mxm-wmi.h
n_r3964.h
namei.h introduce kern_path_mountpoint() 2013-09-08 20:20:23 -04:00
nbd.h
net.h net: introduce new macro net_get_random_once 2013-10-19 19:45:35 -04:00
netdev_features.h ipip: add GSO/TSO support 2013-10-19 19:36:19 -04:00
netdevice.h net: Delete trailing semi-colon from definition of netdev_WARN() 2013-10-18 00:13:21 -04:00
netfilter_bridge.h netfilter: Remove extern from function prototypes 2013-09-26 14:48:15 -07:00
netfilter_ipv4.h netfilter: Remove extern from function prototypes 2013-09-26 14:48:15 -07:00
netfilter_ipv6.h netfilter: Remove extern from function prototypes 2013-09-26 14:48:15 -07:00
netfilter.h netfilter: add nftables 2013-10-14 17:15:48 +02:00
netlink.h
netpoll.h
nfs3.h
nfs4.h
nfs_fs_i.h
nfs_fs_sb.h NFSv4.1 Use MDS auth flavor for data server connection 2013-09-06 14:49:16 -04:00
nfs_fs.h NFS: Ensure that rmdir() waits for sillyrenames to complete 2013-09-03 15:26:29 -04:00
nfs_idmap.h
nfs_iostat.h
nfs_page.h
nfs_xdr.h NFSv4: Honour the 'opened' parameter in the atomic_open() filesystem method 2013-09-26 10:20:18 -04:00
nfs.h
nfsacl.h
nilfs2_fs.h
nl802154.h
nls.h
nmi.h
node.h
nodemask.h
notifier.h
nsc_gpio.h
nsproxy.h
ntb.h
nubus.h
numa.h
nvme.h NVMe: Use normal shutdown 2013-09-03 16:40:32 -04:00
nvram.h
nwpserial.h
nx842.h
of_address.h
of_device.h
of_dma.h
of_fdt.h Device tree core updates for v3.12 2013-09-10 13:53:52 -07:00
of_gpio.h
of_iommu.h
of_irq.h of: clean-up ifdefs in of_irq.h 2013-09-24 21:12:32 -05:00
of_mdio.h
of_mtd.h
of_net.h
of_pci.h
of_pdt.h
of_platform.h
of_reserved_mem.h
of.h Device tree core updates for v3.12 2013-09-10 13:53:52 -07:00
oid_registry.h
olpc-ec.h
omap-dma.h
omap-iommu.h
omap-mailbox.h
omapfb.h
oom.h
openvswitch.h
opp.h
oprofile.h oprofile: get rid of pointless forward declarations of struct super_block 2013-09-03 22:52:48 -04:00
oxu210hp.h
padata.h
page_cgroup.h
page-debug-flags.h
page-flags-layout.h
page-flags.h
page-isolation.h
pageblock-flags.h
pagemap.h
pagevec.h
parport_pc.h
parport.h
parser.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci_hotplug.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2013-09-05 14:54:29 -07:00
pci_ids.h SCSI misc on 20130915 2013-09-15 17:41:30 -04:00
pci-acpi.h
pci-aspm.h
pci-ats.h
pci-dma.h
pci.h ARM: SoC platform changes for 3.12 2013-09-06 13:30:06 -07:00
pcieport_if.h
pda_power.h
percpu_counter.h
percpu_ida.h idr: Percpu ida 2013-09-09 14:29:15 -07:00
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h
percpu.h
perf_event.h Merge branch 'x86-spinlocks-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-09-04 11:55:10 -07:00
perf_regs.h
personality.h
pfn.h
phonedev.h
phonet.h
phy_fixed.h
phy.h
pid_namespace.h
pid.h
pim.h
pipe_fs_i.h
pktcdvd.h
platform_device.h
plist.h
pm2301_charger.h
pm_clock.h
pm_domain.h
pm_qos.h
pm_runtime.h
pm_wakeup.h
pm.h
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h
poll.h
posix_acl_xattr.h
posix_acl.h
posix-clock.h
posix-timers.h
power_supply.h
ppp_channel.h
ppp_defs.h
ppp-comp.h
pps_kernel.h
pps-gpio.h
preempt_mask.h
preempt.h
prefetch.h
printk.h
prio_heap.h
proc_fs.h
proc_ns.h
profile.h
projid.h
proportions.h
pstore_ram.h
pstore.h
pti.h
ptp_classify.h
ptp_clock_kernel.h
ptrace.h
pvclock_gtod.h
pwm_backlight.h
pwm.h
pxa2xx_ssp.h
pxa168_eth.h
qnx6_fs.h
quicklist.h
quota.h
quotaops.h
radix-tree.h lib/radix-tree.c: make radix_tree_node_alloc() work correctly within interrupt 2013-09-11 15:59:36 -07:00
raid_class.h
ramfs.h initmpfs: move rootfs code from fs/ramfs/ to init/ 2013-09-11 15:59:37 -07:00
random.h
range.h
ratelimit.h
rational.h
rbtree_augmented.h
rbtree.h rbtree: add rbtree_postorder_for_each_entry_safe() helper 2013-09-11 15:59:20 -07:00
rculist_bl.h
rculist_nulls.h
rculist.h
rcupdate.h
rcutiny.h
rcutree.h
reboot.h
reciprocal_div.h
regmap.h regmap: Updates for v3.12 2013-09-03 10:07:40 -07:00
regset.h
relay.h
remoteproc.h
res_counter.h memcg: rename RESOURCE_MAX to RES_COUNTER_MAX 2013-09-12 15:38:02 -07:00
reservation.h
reset-controller.h
reset.h
resource.h
resume-trace.h
rfkill-gpio.h
rfkill-regulator.h
rfkill.h
ring_buffer.h
rio_drv.h
rio_ids.h
rio_regs.h
rio.h
rmap.h
rndis.h
root_dev.h
rotary_encoder.h
rpmsg.h
rslib.h
rtc-ds2404.h
rtc-v3020.h
rtc.h
rtmutex.h
rtnetlink.h
rwlock_api_smp.h
rwlock_types.h
rwlock.h
rwsem-spinlock.h
rwsem.h
rxrpc.h
s3c_adc_battery.h
sa11x0-dma.h
scatterlist.h
scc.h
sched_clock.h
sched.h mm: memcg: do not trap chargers with full callstack on OOM 2013-09-12 15:38:02 -07:00
screen_info.h
sctp.h
scx200_gpio.h
scx200.h
sdb.h
sdla.h
seccomp.h
securebits.h
security.h
selection.h
selinux.h
sem.h
semaphore.h
seq_file_net.h
seq_file.h
seqlock.h seqlock: Add a new locking reader type 2013-09-12 09:25:23 -07:00
serial_8250.h
serial_core.h
serial_max3100.h
serial_mfd.h
serial_pnx8xxx.h
serial_s3c.h
serial_sci.h
serial.h
serio.h
sfi_acpi.h
sfi.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 shrinker: Kill old ->shrink API. 2013-09-10 18:56:32 -04:00
signal.h Introduce [compat_]save_altstack_ex() to unbreak x86 SMAP 2013-09-01 14:16:33 -07:00
signalfd.h
sirfsoc_dma.h
sizes.h
skbuff.h ipip: add GSO/TSO support 2013-10-19 19:36:19 -04:00
slab_def.h mm/sl[aou]b: Move kmallocXXX functions to common code 2013-09-04 20:51:33 +03:00
slab.h slab: Use correct GFP_DMA constant 2013-09-04 23:11:42 +03:00
slub_def.h slub: remove verify_mem_not_deleted() 2013-09-04 20:53:16 +03:00
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h watchdog: update watchdog_thresh properly 2013-09-24 17:00:25 -07:00
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_api_smp.h
spinlock_api_up.h
spinlock_types_up.h
spinlock_types.h
spinlock_up.h
spinlock.h
splice.h
srcu.h
ssbi.h
stackprotector.h
stacktrace.h
start_kernel.h
stat.h
statfs.h
static_key.h
stddef.h
ste_modem_shm.h
stmmac.h
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string_helpers.h
string.h
stringify.h
sudmac.h
sungem_phy.h
sunserialcore.h
superhyway.h
suspend.h
svga.h
swab.h
swap.h mm: make lru_add_drain_all() selective 2013-09-12 15:38:02 -07:00
swapfile.h
swapops.h
swiotlb.h
synclink.h
sys_soc.h
sys.h
syscalls.h syscalls.h: add forward declarations for inplace syscall wrappers 2013-09-11 15:58:25 -07:00
syscore_ops.h
sysctl.h
sysfs.h
syslog.h
sysrq.h
sysv_fs.h
task_io_accounting_ops.h
task_io_accounting.h
task_work.h
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h
tegra-ahb.h
tegra-cpuidle.h
tegra-powergate.h
tegra-soc.h
textsearch_fsm.h
textsearch.h
tfrc.h
thermal.h thermal: thermal_core: allow binding with limits on bind_params 2013-09-03 09:10:24 -04:00
thread_info.h
threads.h
ti_wilink_st.h
tick.h
tifm.h
timb_dma.h
timb_gpio.h
time.h
timekeeper_internal.h
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h timekeeping: Fix HRTICK related deadlock from ntp lock changes 2013-09-12 07:49:51 +02:00
topology.h
toshiba.h
tpm_command.h
tpm.h
trace_clock.h
trace_seq.h
tracehook.h
tracepoint.h
transport_class.h
tsacct_kern.h
tty_driver.h
tty_flip.h
tty_ldisc.h
tty.h
typecheck.h
types.h
u64_stats_sync.h
uaccess.h
ucb1400.h
ucs2_string.h
udp.h
uidgid.h
uinput.h
uio_driver.h
uio.h
uprobes.h
usb_usual.h
usb.h
usbdevice_fs.h
user_namespace.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace 2013-09-07 14:35:32 -07:00
user-return-notifier.h
user.h
uts.h
utsname.h
uuid.h
uwb.h
vermagic.h
vexpress.h
vfio.h
vfs.h
vga_switcheroo.h
vgaarb.h i915: Update VGA arbiter support for newer devices 2013-09-03 19:17:59 +02:00
via_i2c.h
via-core.h
via-gpio.h
via.h
video_output.h
videodev2.h
virtio_caif.h
virtio_config.h
virtio_console.h
virtio_mmio.h
virtio_ring.h
virtio_scsi.h
virtio.h
vlynq.h
vm_event_item.h mm: vmstats: track TLB flush stats on UP too 2013-09-11 15:57:09 -07:00
vm_sockets.h
vmalloc.h
vme.h
vmpressure.h Merge branch 'for-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup 2013-09-03 18:25:03 -07:00
vmstat.h mm: vmscan: fix do_try_to_free_pages() livelock 2013-09-11 15:58:01 -07:00
vmw_vmci_api.h
vmw_vmci_defs.h
vringh.h
vt_buffer.h
vt_kern.h
vt.h
vtime.h
w1-gpio.h
wait.h
wanrouter.h
watchdog.h
wireless.h
wl12xx.h
wm97xx.h
workqueue.h
writeback.h mm/writeback: make writeback_inodes_wb static 2013-09-11 15:58:02 -07:00
ww_mutex.h
xattr.h
xilinxfb.h
xz.h
yam.h
z2_battery.h
zbud.h
zconf.h
zlib.h
zorro_ids.h
zorro.h
zutil.h