android_kernel_google_msm/include/linux
Theodore Ts'o 86739403f2 BACKPORT: random: introduce getrandom(2) system call
Almost clean cherry pick of c6e9d6f388,
includes change made by merge 0891ad829d.

The getrandom(2) system call was requested by the LibreSSL Portable
developers.  It is analoguous to the getentropy(2) system call in
OpenBSD.

The rationale of this system call is to provide resiliance against
file descriptor exhaustion attacks, where the attacker consumes all
available file descriptors, forcing the use of the fallback code where
/dev/[u]random is not available.  Since the fallback code is often not
well-tested, it is better to eliminate this potential failure mode
entirely.

The other feature provided by this new system call is the ability to
request randomness from the /dev/urandom entropy pool, but to block
until at least 128 bits of entropy has been accumulated in the
/dev/urandom entropy pool.  Historically, the emphasis in the
/dev/urandom development has been to ensure that urandom pool is
initialized as quickly as possible after system boot, and preferably
before the init scripts start execution.

This is because changing /dev/urandom reads to block represents an
interface change that could potentially break userspace which is not
acceptable.  In practice, on most x86 desktop and server systems, in
general the entropy pool can be initialized before it is needed (and
in modern kernels, we will printk a warning message if not).  However,
on an embedded system, this may not be the case.  And so with this new
interface, we can provide the functionality of blocking until the
urandom pool has been initialized.  Any userspace program which uses
this new functionality must take care to assure that if it is used
during the boot process, that it will not cause the init scripts or
other portions of the system startup to hang indefinitely.

SYNOPSIS
	#include <linux/random.h>

	int getrandom(void *buf, size_t buflen, unsigned int flags);

DESCRIPTION
	The system call getrandom() fills the buffer pointed to by buf
	with up to buflen random bytes which can be used to seed user
	space random number generators (i.e., DRBG's) or for other
	cryptographic uses.  It should not be used for Monte Carlo
	simulations or other programs/algorithms which are doing
	probabilistic sampling.

	If the GRND_RANDOM flags bit is set, then draw from the
	/dev/random pool instead of the /dev/urandom pool.  The
	/dev/random pool is limited based on the entropy that can be
	obtained from environmental noise, so if there is insufficient
	entropy, the requested number of bytes may not be returned.
	If there is no entropy available at all, getrandom(2) will
	either block, or return an error with errno set to EAGAIN if
	the GRND_NONBLOCK bit is set in flags.

	If the GRND_RANDOM bit is not set, then the /dev/urandom pool
	will be used.  Unlike using read(2) to fetch data from
	/dev/urandom, if the urandom pool has not been sufficiently
	initialized, getrandom(2) will block (or return -1 with the
	errno set to EAGAIN if the GRND_NONBLOCK bit is set in flags).

	The getentropy(2) system call in OpenBSD can be emulated using
	the following function:

            int getentropy(void *buf, size_t buflen)
            {
                    int     ret;

                    if (buflen > 256)
                            goto failure;
                    ret = getrandom(buf, buflen, 0);
                    if (ret < 0)
                            return ret;
                    if (ret == buflen)
                            return 0;
            failure:
                    errno = EIO;
                    return -1;
            }

RETURN VALUE
       On success, the number of bytes that was filled in the buf is
       returned.  This may not be all the bytes requested by the
       caller via buflen if insufficient entropy was present in the
       /dev/random pool, or if the system call was interrupted by a
       signal.

       On error, -1 is returned, and errno is set appropriately.

ERRORS
	EINVAL		An invalid flag was passed to getrandom(2)

	EFAULT		buf is outside the accessible address space.

	EAGAIN		The requested entropy was not available, and
			getentropy(2) would have blocked if the
			GRND_NONBLOCK flag was not set.

	EINTR		While blocked waiting for entropy, the call was
			interrupted by a signal handler; see the description
			of how interrupted read(2) calls on "slow" devices
			are handled with and without the SA_RESTART flag
			in the signal(7) man page.

NOTES
	For small requests (buflen <= 256) getrandom(2) will not
	return EINTR when reading from the urandom pool once the
	entropy pool has been initialized, and it will return all of
	the bytes that have been requested.  This is the recommended
	way to use getrandom(2), and is designed for compatibility
	with OpenBSD's getentropy() system call.

	However, if you are using GRND_RANDOM, then getrandom(2) may
	block until the entropy accounting determines that sufficient
	environmental noise has been gathered such that getrandom(2)
	will be operating as a NRBG instead of a DRBG for those people
	who are working in the NIST SP 800-90 regime.  Since it may
	block for a long time, these guarantees do *not* apply.  The
	user may want to interrupt a hanging process using a signal,
	so blocking until all of the requested bytes are returned
	would be unfriendly.

	For this reason, the user of getrandom(2) MUST always check
	the return value, in case it returns some error, or if fewer
	bytes than requested was returned.  In the case of
	!GRND_RANDOM and small request, the latter should never
	happen, but the careful userspace code (and all crypto code
	should be careful) should check for this anyway!

	Finally, unless you are doing long-term key generation (and
	perhaps not even then), you probably shouldn't be using
	GRND_RANDOM.  The cryptographic algorithms used for
	/dev/urandom are quite conservative, and so should be
	sufficient for all purposes.  The disadvantage of GRND_RANDOM
	is that it can block, and the increased complexity required to
	deal with partially fulfilled getrandom(2) requests.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Zach Brown <zab@zabbo.net>

Bug: http://b/29621447
Change-Id: I189ba74070dd6d918b0fdf83ff30bb74ec0f7556
(cherry picked from commit 4af712e8df)
[flex1911]: backport to 3.4
2017-10-27 21:48:02 +03:00
..
amba
bcma
byteorder
caif
can
ceph
crush
decompress
dvb media: dvb: mpq: Secure demux support 2013-03-15 17:05:25 -07:00
fsl
hdlc
hsi
i2c Cap1106: Disable RF Noise filter in sensnor's setting 2013-07-03 16:06:33 +00:00
input Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
isdn
lockd
mfd power: pm8921-bms: expose coulomb counter based charge 2013-07-17 10:23:28 -07:00
mlx4
mmc mmc: add force poweroff notify and sw reset for some card 2015-05-15 22:34:45 +00:00
mtd
netfilter
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
nfc mako: nfc: add new nfc broadcom driver 2013-03-04 12:43:35 -08:00
nfsd
pinctrl
platform_data display: slimport: update phy register values for flo 2013-06-05 15:26:15 +00:00
power Revert "msm: power: Revert LGE power patches" 2013-03-15 17:13:25 -07:00
qpnp Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
raid
regulator Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
rtc
slimbus Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
spi
ssb
sunrpc sunrpc: Fix possibly uninitialized variable warnings 2016-10-29 23:12:09 +08:00
tc_act
tc_ematch
unaligned
usb driver: usb: otg: Add a wakelock for the usb cable and otg cable detected. 2013-11-08 23:37:09 +00:00
uwb
wimax
8250_pci.h
a.out.h
ac97_codec.h
acct.h
acpi.h
acpi_io.h
acpi_pmtmr.h
adb.h
adfs_fs.h
adv7520.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
aer.h
affs_hardblocks.h
agp_backend.h
agpgart.h
ahci_platform.h
aio.h
aio_abi.h
akm8975.h
alarmtimer.h rtc: alarm: Change wake-up source 2017-08-25 20:00:08 +03:00
altera_jtaguart.h
altera_uart.h
amd-iommu.h
amifd.h
amifdreg.h
amigaffs.h
android_aid.h
android_alarm.h
android_pmem.h
android_vibrator.h android_vibrator: warmup delay for vibration sensitivity 2013-03-04 12:45:54 -08:00
anon_inodes.h
apm-emulation.h
apm_bios.h
apple_bl.h
arcdevice.h
arcfb.h
ashmem.h
async.h
async_tx.h
ata.h
ata_platform.h
atalk.h
ath9k_platform.h
atm.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_suni.h
atm_tcp.h
atm_zatm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmel-mci.h
atmel-pwm-bl.h
atmel-ssc.h
atmel_maxtouch.h
atmel_pdc.h
atmel_pwm.h
atmel_serial.h
atmel_tc.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
atomic.h
attribute_container.h
audit.h seccomp: remove duplicated failure logging 2014-10-31 19:46:13 -07:00
auto_dev-ioctl.h
auto_fs.h
auto_fs4.h
auxvec.h
average.h
ax25.h
b1lli.h
b1pcmcia.h
backing-dev.h
backlight.h
basic_mmio_gpio.h
baycom.h
bcd.h
bch.h
bfin_mac.h
bfs_fs.h
binfmts.h
bio.h
bit_spinlock.h
bitmap.h
bitops.h
bitrev.h
blk-iopoll.h
blk_types.h
blkdev.h block: Expose kblock_schedule_delayed_work() 2013-03-07 15:19:02 -08:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
bootmem.h
bottom_half.h
bpqether.h
brcmphy.h
bsearch.h
bsg-lib.h
bsg.h
btree-128.h
btree-type.h
btree.h
buffer_head.h
bug.h
c2port.h
cache.h
can.h
capability.h
capi.h
cb710.h
cciss_defs.h
cciss_ioctl.h
cd1400.h
cdev.h
cdk.h
cdrom.h
cfag12864b.h
cgroup.h
cgroup_subsys.h block: cgroups, kconfig, build bits for BFQ-v7r8-3.4 2016-10-29 23:12:09 +08:00
cgroupstats.h
chio.h
circ_buf.h
cleancache.h
clk-private.h
clk-provider.h
clk.h
clkdev.h
clksrc-dbx500-prcmu.h
clockchips.h tick: Dynamically set broadcast irq affinity 2017-08-25 16:04:02 +03:00
clocksource.h clocksource: Add new feature flag CLOCK_SOURCE_SUSPEND_NONSTOP 2017-08-25 20:00:23 +03:00
cm4000_cs.h
cn_proc.h
cnt32_to_63.h
coda.h
coda_psdev.h
coff.h
com20020.h
compaction.h
compat.h
compiler-gcc.h
compiler-gcc3.h
compiler-gcc4.h
compiler-intel.h
compiler.h
completion.h
comstats.h
concap.h
configfs.h
connector.h
console.h panic: resume console if panic after console suspend. 2013-09-09 17:16:14 -07:00
console_struct.h
consolemap.h
const.h
cordic.h
coredump.h
coresight-stm.h coresight: add qview entity id for supporting qview traffic 2013-03-15 17:06:11 -07:00
coresight.h coresight: 9625: Modify ETM driver to support ETMv3.5 2013-03-15 17:06:12 -07:00
cper.h
cpu.h cpu: Defer smpboot kthread unparking until CPU known to scheduler 2016-10-29 23:12:40 +08:00
cpu_pm.h
cpu_rmap.h
cpufreq.h cpufreq: Create DVFS stress test function. 2013-04-18 16:07:52 -07:00
cpuidle.h
cpumask.h
cpuset.h
cramfs_fs.h
cramfs_fs_sb.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 UPSTREAM: capabilities: ambient capabilities 2017-09-01 13:38:08 +03:00
crypto.h
cryptohash.h
cryptouser.h
cs5535.h
csdio.h
ctype.h
cuda.h
cyclades.h
cyclomx.h
cycx_cfm.h
cycx_drv.h
cycx_x25.h
cyttsp-qc.h Revert "touchscreen: cyttsp-i2c-qc: Add low power mode functionality" 2013-03-07 15:21:14 -08:00
davinci_emac.h
dca.h
dcache.h constify d_lookup() arguments 2017-09-22 19:12:14 +03:00
dcbnl.h
dccp.h
dcookies.h
debug_locks.h lockdep: remove task argument from debug_check_no_locks_held 2013-07-12 14:22:56 -07:00
debugfs.h
debugobjects.h
delay.h
delayacct.h
devfreq.h
device-mapper.h
device.h
device_cgroup.h
devpts_fs.h
diagchar.h diag: Update Message SSID Limit and Buildtime masks 2013-03-15 17:07:21 -07:00
digsig.h
dio.h
dirent.h
dlm.h
dlm_device.h
dlm_netlink.h
dlm_plock.h
dlmconstants.h
dm-dirty-log.h
dm-io.h
dm-ioctl.h
dm-kcopyd.h
dm-log-userspace.h
dm-region-hash.h
dm9000.h
dma-attrs.h common: DMA-mapping: Add strongly ordered memory attribute 2013-03-07 15:23:21 -08:00
dma-buf.h
dma-contiguous.h
dma-debug.h
dma-direction.h
dma-mapping.h
dma_remapping.h
dmaengine.h
dmapool.h
dmar.h
dmi.h
dn.h
dnotify.h
dns_resolver.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
dqblk_xfs.h
drbd.h
drbd_limits.h
drbd_nl.h
drbd_tag_magic.h
ds1286.h
ds2782_battery.h
ds17287rtc.h
dtlk.h
dw_apb_timer.h
dw_dmac.h
dynamic_debug.h
dynamic_queue_limits.h
earlysuspend.h
ecryptfs.h
edac.h
edd.h
eeprom_93cx6.h
eeprom_93xx46.h
efi.h
efs_fs_sb.h
efs_vh.h
eisa.h
elevator.h
elf-em.h
elf-fdpic.h
elf.h
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
epm_adc.h hwmon: epm: Update type for trepn usage 2013-03-15 17:06:46 -07:00
err.h PTR_RET is now PTR_ERR_OR_ZERO 2016-10-29 23:12:41 +08:00
errno.h
errqueue.h
etherdevice.h
ethtool.h
eventfd.h
eventpoll.h
evm.h
export.h
exportfs.h
ext2_fs.h
f2fs_fs.h f2fs: sanity check segment count 2017-08-07 18:11:13 -06:00
f75375s.h
fadvise.h
falloc.h
fanotify.h
fault-inject.h
fb.h msm: mdp: Fix reserved field usage 2013-03-04 12:44:09 -08:00
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdreg.h
fdtable.h
fec.h
fib_rules.h net: core: add UID to flows, rules, and routes 2017-09-01 13:38:07 +03:00
fiemap.h
file.h
filter.h net/compat.c,linux/filter.h: share compat_sock_fprog 2014-10-31 19:46:10 -07:00
fips.h
firewire-cdev.h
firewire-constants.h
firewire.h
firmware-map.h
firmware.h
flat.h
flex_array.h
fmem.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
font.h
freezer.h freezer: add new freezable helpers using freezer_do_not_count() 2013-07-12 14:22:57 -07:00
fs.h BACKPORT: fs: limit filesystem stacking depth 2017-09-22 19:12:37 +03:00
fs_enet_pd.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fscache-cache.h
fscache.h
fscrypto.h fscrypto: don't let data integrity writebacks fail with ENOMEM 2016-10-29 23:12:37 +08:00
fsl-diu-fb.h
fsl_devices.h
fsl_hypervisor.h
fsm_dfe_hh.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
fsm_rfic_ftr.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
fsnotify.h
fsnotify_backend.h
ftrace.h
ftrace_event.h
ftrace_irq.h
fuse.h fuse: Add support for d_canonical_path 2017-09-22 19:12:00 +03:00
futex.h
gameport.h
gcd.h
gen_stats.h
genalloc.h
generic_acl.h
generic_serial.h
genetlink.h
genhd.h
genlock.h
getcpu.h
gfp.h mm: Increase number of GFP masks 2014-10-03 16:20:45 -07:00
gfs2_ondisk.h
gigaset_dev.h
gpio-fan.h
gpio-i2cmux.h
gpio-pm8xxx-rpc.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
gpio-pxa.h
gpio.h
gpio_event.h
gpio_keys.h keys: notify system preparing to force reset if resetkey is defined 2015-05-07 17:17:45 +00:00
gpio_mouse.h
gsmmux.h
hardirq.h
hash.h
hashtable.h sdcardfs: Backport and use some 3.10 hlist/hash macros 2017-10-06 10:28:58 +03:00
hdlc.h
hdlcdrv.h
hdreg.h
hid-debug.h
hid-roccat.h
hid.h
hiddev.h
hidraw.h
highmem.h cma: redirect page allocation to CMA 2013-03-15 17:08:42 -07:00
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hp_sdc.h
hpet.h
hrtimer.h hrtimer: Provide clock_was_set_delayed() 2017-08-25 20:00:23 +03:00
htcpld.h
htirq.h
huge_mm.h
hugetlb.h
hugetlb_inline.h
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h
hysdn_if.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-dev.h
i2c-gpio.h
i2c-mux.h
i2c-ocores.h
i2c-omap.h
i2c-pca-platform.h
i2c-pnx.h
i2c-pxa.h
i2c-smbus.h
i2c-tegra.h
i2c-xiic.h
i2c.h
i2o-dev.h
i2o.h
i8k.h
i7300_idle.h
i8042.h
i8253.h
i82593.h
ibmtr.h
icmp.h
icmpv6.h
ide.h
idle_stats_device.h
idr.h
ieee80211.h ieee80211: Rename VHT cap struct 2013-09-04 12:43:32 -07:00
if.h
if_addr.h
if_addrlabel.h
if_alg.h
if_arcnet.h
if_arp.h
if_bonding.h
if_bridge.h
if_cablemodem.h
if_ec.h
if_eql.h
if_ether.h
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_link.h
if_ltalk.h
if_macvlan.h
if_packet.h
if_phonet.h
if_plip.h
if_ppp.h
if_pppol2tp.h
if_pppolac.h
if_pppopns.h
if_pppox.h
if_slip.h
if_strip.h
if_team.h
if_tr.h
if_tun.h
if_tunnel.h
if_vlan.h
if_x25.h
igmp.h
ihex.h
ima.h
in.h
in6.h
in_route.h
inet.h
inet_diag.h
inet_lro.h
inetdevice.h
init.h
init_ohci1394_dma.h
init_task.h introduce for_each_thread() to replace the buggy while_each_thread() 2014-10-31 19:46:30 -07:00
initrd.h
inotify.h
input-polldev.h
input.h
integrity.h
intel-iommu.h
intel_mid_dma.h
intel_pmic_gpio.h
interrupt.h
io-mapping.h
io.h
ioc3.h
ioc4.h
iocontext.h
ioctl.h
iommu-helper.h
iommu.h iommu/core: pass a user-provided token to fault handlers 2013-09-06 16:20:47 -07:00
ion.h REVERT THIS BEFORE UPDATE ion: Rename heap_mask when used in userspace 2016-10-29 23:12:09 +08:00
iopoll.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
ioport.h
ioprio.h
iova.h
ip.h
ip6_tunnel.h
ip_vs.h
ipc.h
ipc_namespace.h proc: Usable inode numbers for the namespace file descriptors. 2015-07-13 11:18:01 -07:00
ipmi.h
ipmi_msgdefs.h
ipmi_smi.h
ipsec.h
ipv6.h ipv6: add complete rcu protection around np->opt 2016-06-17 02:54:32 +00:00
ipv6_route.h
ipx.h
irda.h
irq.h irq_flow_handler_t now returns bool 2017-10-15 17:05:07 +03:00
irq_cpustat.h
irq_work.h
irqdesc.h irq_flow_handler_t now returns bool 2017-10-15 17:05:07 +03:00
irqdomain.h
irqflags.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
iso_fs.h
istallion.h
ivtv.h
ivtvfb.h
ixjuser.h
jbd.h
jbd2.h
jbd_common.h
jffs2.h
jhash.h
jiffies.h jiffies: Fix timeval conversion to jiffies 2016-10-29 23:12:15 +08:00
journal-head.h
joystick.h
jump_label.h
jz4740-adc.h
kallsyms.h
kbd_diacr.h
kbd_kern.h
Kbuild seccomp: add system call filtering using BPF 2014-10-31 19:46:13 -07:00
kbuild.h
kconfig.h
kd.h
kdb.h
kdebug.h
kdev_t.h
kernel-page-flags.h
kernel.h kernel.h: define u8, s8, u32, etc. limits 2017-05-02 17:12:11 -06:00
kernel_stat.h
kernelcapi.h
kexec.h
key-type.h
key.h KEYS: Add invalidation support 2016-10-29 23:12:12 +08:00
keyboard.h
keychord.h
keyctl.h KEYS: Add invalidation support 2016-10-29 23:12:12 +08:00
keyreset.h input: keyreset: add support for reset after timeout 2013-03-04 12:47:30 -08:00
kfifo.h
kgdb.h
khugepaged.h
klist.h
kmalloc_sizes.h
kmemcheck.h
kmemleak.h
kmod.h
kmsg_dump.h
kobj_map.h
kobject.h
kobject_ns.h
kprobes.h
kref.h kref: Implement kref_get_unless_zero v3 2013-09-06 16:15:39 -07:00
ks0108.h
ks8842.h
ks8851.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
ksm.h
kthread.h kthread: Implement park/unpark facility 2016-10-29 23:12:39 +08:00
ktime.h time: Improve sanity checking of timekeeping inputs 2017-08-25 20:00:18 +03:00
kvm.h
kvm_host.h
kvm_para.h
kvm_types.h
l2tp.h
lapb.h
latencytop.h
lcd.h
lcm.h
led-lm3530.h
leds-bd2802.h
leds-lp3944.h
leds-lp5521.h
leds-lp5523.h
leds-msm-tricolor.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
leds-pca9532.h
leds-pm8xxx.h display: JDI: config backlight level when kernel init 2013-04-18 16:09:22 -07:00
leds-pmic8058.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
leds-regulator.h
leds-tca6507.h
leds.h
leds_pwm.h
lglock.h brlocks/lglocks: turn into functions 2015-07-13 11:17:40 -07:00
lguest.h
lguest_launcher.h
libata.h
libps2.h
libra_sdioif.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
license.h
limits.h
linkage.h
linux_logo.h
lis3lv02d.h
list.h sdcardfs: Backport and use some 3.10 hlist/hash macros 2017-10-06 10:28:58 +03:00
list_bl.h
list_nulls.h
list_sort.h
llc.h
llist.h
lockdep.h lockdep: Silence warning if CONFIG_LOCKDEP isn't set 2017-07-04 17:30:25 +03:00
log2.h
loop.h
lp.h
lp855x.h
lp8727.h
lru_cache.h
lsm_audit.h security: lsm_audit: add ioctl specific auditing 2015-04-20 09:42:31 -07:00
lzo.h
m48t86.h
m_adcproc.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
magic.h sdcardfs: Change magic value 2017-09-22 19:12:09 +03:00
major.h
map_to_7segment.h
maple.h
marvell_phy.h
math64.h
matroxfb.h
max17040_battery.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mca-legacy.h
mca.h
mdio-bitbang.h
mdio-gpio.h
mdio.h
media.h
memblock.h
memcontrol.h
memory.h
memory_alloc.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
memory_hotplug.h
mempolicy.h
mempool.h
memstick.h
meye.h
mg_disk.h
mhl_8334.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
mhl_defs.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
mhl_devcap.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
micrel_phy.h
migrate.h
migrate_mode.h
mii.h
minix_fs.h
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm.h mm: larger stack guard gap, between vmas 2017-07-02 13:03:27 +03:00
mm_inline.h
mm_types.h mm: add a field to store names for private anonymous memory 2013-10-11 10:02:06 -07:00
mman.h
mmdebug.h
mmiotrace.h
mmtimer.h
mmu_context.h
mmu_notifier.h
mmzone.h memory hotplug: fix invalid memory access caused by stale kswapd pointer 2016-10-29 23:12:33 +08:00
mnt_namespace.h vfs: Add a user namespace reference from struct mnt_namespace 2015-07-13 11:17:54 -07:00
mod_devicetable.h USB: allow match on bInterfaceNumber 2013-03-15 17:07:24 -07:00
module.h
moduleloader.h
moduleparam.h
mount.h BACKPORT: smarter propagate_mnt() 2017-09-22 19:12:10 +03:00
mpage.h
mpi.h
mqueue.h
mroute.h
mroute6.h
msdos_fs.h
msg.h
msi.h
msm-charger.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
msm_adc.h
msm_adsp.h
msm_audio.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
msm_audio_aac.h msm: audio: qdsp6v2: Add support to configure ISO and ARIB coefficients 2013-03-15 17:09:04 -07:00
msm_audio_ac3.h msm: audio: qdsp5: Add Support for AC3/EAC3 driver 2013-02-27 18:21:34 -08:00
msm_audio_acdb.h
msm_audio_amrnb.h
msm_audio_amrwb.h
msm_audio_amrwbplus.h msm: Add support for amr-wb+ non-tunnel driver 2013-03-07 15:25:01 -08:00
msm_audio_mvs.h
msm_audio_qcp.h
msm_audio_sbc.h
msm_audio_voicememo.h
msm_audio_wma.h
msm_audio_wmapro.h
msm_charm.h msm: mdm: Add shutdown ioctl and send poweroff request to the mdm 2013-03-04 12:46:28 -08:00
msm_dsps.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
msm_ion.h msm_ion: convert enum to #defines 2013-03-15 17:24:49 -07:00
msm_ipc.h msm: ipc: Security updates to IPC Router 2013-04-23 19:31:34 -07:00
msm_kgsl.h msm: kgsl: Add a power constraints interface 2014-06-24 10:38:36 -06:00
msm_mdp.h msm: mdp: Update sync pt. behaviour 2013-06-26 16:28:49 -07:00
msm_q6vdec.h
msm_q6venc.h
msm_rmnet.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
msm_rotator.h msm: rotator: non-blocking rotate 2013-04-18 16:09:21 -07:00
msm_rpcrouter.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
msm_smd_pkt.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
msm_ssbi.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
msm_thermal.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
msm_tsens.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
msm_vidc_dec.h msm: vidc: Add a check for separate metadata buffers 2013-03-15 17:07:16 -07:00
msm_vidc_enc.h msm: vidc: Initialize kernel space stack variables 2016-10-29 23:12:16 +08:00
mtio.h
mutex-debug.h
mutex.h
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
mxm-wmi.h
n_r3964.h
namei.h vfs: Add permission2 for filesystems with per mount permissions 2017-09-22 19:12:07 +03:00
nbd.h
ncp.h
ncp_fs.h
ncp_mount.h
ncp_no.h
neighbour.h
net.h
net_dropmon.h
net_tstamp.h
netdev_features.h
netdevice.h
netfilter.h
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h
netpoll.h
netrom.h
nfc.h
nfs.h
nfs2.h
nfs3.h
nfs4.h
nfs4_mount.h
nfs_fs.h
nfs_fs_i.h
nfs_fs_sb.h
nfs_idmap.h
nfs_iostat.h
nfs_mount.h
nfs_page.h
nfs_xdr.h
nfsacl.h
nilfs2_fs.h
nl80211.h BACKPORT: {nl,cfg}80211: support high bitrates 2017-09-01 13:38:08 +03:00
nl802154.h
nls.h
nmi.h
node.h
nodemask.h
notifier.h
nsc_gpio.h
nsproxy.h
nubus.h
numa.h
nvme.h
nvram.h
nwpserial.h
of.h
of_address.h
of_coresight.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
of_device.h
of_fdt.h
of_gpio.h
of_i2c.h
of_irq.h
of_mdio.h
of_mtd.h
of_net.h
of_pci.h
of_pdt.h
of_platform.h
of_slimbus.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
of_spi.h
of_spmi.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
ofn_atlab.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
omap3isp.h
omapfb.h
oom.h mm, oom: make dump_tasks public 2014-11-18 15:13:25 -08:00
openvswitch.h
opp.h
oprofile.h
oxu210hp.h
padata.h
page-debug-flags.h
page-flags.h
page-isolation.h
page_cgroup.h
pageblock-flags.h
pagemap.h
pagevec.h
param.h
parport.h
parport_pc.h
parser.h
partialresume.h power: add partial-resume framework 2017-10-15 17:05:08 +03:00
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci-acpi.h
pci-aspm.h
pci-ats.h
pci-dma.h
pci.h
pci_hotplug.h
pci_ids.h
pci_regs.h
pcieport_if.h
pda_power.h
percpu-defs.h
percpu.h
percpu_counter.h
perf_event.h perf: Tighten (and fix) the grouping condition 2017-05-01 19:11:56 -06:00
persistent_ram.h
personality.h
pfkeyv2.h
pfn.h
pg.h
phantom.h
phonedev.h
phonet.h
phy.h
phy_fixed.h
pid.h
pid_namespace.h proc: Usable inode numbers for the namespace file descriptors. 2015-07-13 11:18:01 -07:00
pim.h
pipe_fs_i.h pipe: limit the per-user amount of pages allocated in pipes 2016-10-29 23:12:35 +08:00
pkt_cls.h
pkt_sched.h
pktcdvd.h
platform_device.h
plist.h
pm.h
pm_clock.h
pm_domain.h
pm_qos.h
pm_runtime.h
pm_wakeup.h PM / Wakeup: Use rcu callbacks for better performance 2017-10-15 16:17:13 +03:00
pmic8058-charger.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
pmic8058-othc.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
pmic8058-pwm.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
pmic8058-xoadc.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h include/linux/poison.h: fix LIST_POISON{1,2} offset 2016-01-08 14:33:04 -05:00
poll.h
posix-clock.h
posix-timers.h
posix_acl.h BACKPORT: posix_acl: Clear SGID bit when setting file permissions 2017-06-26 20:26:17 +03:00
posix_acl_xattr.h
posix_types.h
power_supply.h charger: smb345: support wireless charging 2013-04-18 16:08:47 -07:00
ppdev.h
ppp-comp.h
ppp-ioctl.h
ppp_channel.h
ppp_defs.h
pps-gpio.h
pps.h
pps_kernel.h
prctl.h UPSTREAM: capabilities: ambient capabilities 2017-09-01 13:38:08 +03:00
preempt.h
prefetch.h
printk.h
prio_heap.h
prio_tree.h
proc_fs.h proc: Usable inode numbers for the namespace file descriptors. 2015-07-13 11:18:01 -07:00
profile.h
proportions.h
pstore.h
pti.h
ptp_classify.h
ptp_clock.h
ptp_clock_kernel.h
ptrace.h ptrace,seccomp: Add PTRACE_SECCOMP support 2014-10-31 19:46:16 -07:00
pwm.h
pwm_backlight.h
pxa2xx_ssp.h
pxa168_eth.h
qcedev.h
qcomwlan7x27a_pwrif.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
qcomwlan_pwrif.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
qcomwlan_secif.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
qcota.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
qfp_fuse.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
qnx4_fs.h
qnx6_fs.h
qnxtypes.h
qseecom.h
quicklist.h
quota.h
quotaops.h
radeonfb.h
radix-tree.h
raid_class.h
ramfs.h
ramoops.h
random.h BACKPORT: random: introduce getrandom(2) system call 2017-10-27 21:48:02 +03:00
range.h
ratelimit.h
rational.h
raw.h
rbtree.h
rculist.h sdcardfs: Backport and use some 3.10 hlist/hash macros 2017-10-06 10:28:58 +03:00
rculist_bl.h
rculist_nulls.h
rcupdate.h rcu: Make exit_rcu() more precise and consolidate 2016-10-29 23:12:17 +08:00
rcutiny.h rcu: Precompute RCU_FAST_NO_HZ timer offsets 2016-10-29 23:12:18 +08:00
rcutree.h rcu: Precompute RCU_FAST_NO_HZ timer offsets 2016-10-29 23:12:18 +08:00
rds.h
reboot.h
reciprocal_div.h
regmap.h
regset.h
reiserfs_fs.h
reiserfs_xattr.h
relay.h
remote_spinlock.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
remoteproc.h
res_counter.h
resource.h
resume-trace.h
rfkill-gpio.h
rfkill-regulator.h
rfkill.h
ring_buffer.h
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h
rmt_storage_client.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
romfs_fs.h
root_dev.h
rose.h
rotary_encoder.h
route.h
rpmsg.h
rq_stats.h msm:rq_stats: Add hotplug disable attribute 2013-06-03 16:22:04 +00:00
rslib.h
rtc-msm.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
rtc-v3020.h
rtc.h
rtmutex.h
rtnetlink.h net: core: add UID to flows, rules, and routes 2017-09-01 13:38:07 +03:00
rwlock.h
rwlock_api_smp.h
rwlock_types.h
rwsem-spinlock.h
rwsem.h
rxrpc.h
s3c_adc_battery.h
sa11x0-dma.h
sc26198.h
scatterlist.h
scc.h
sched.h unix: properly account for FDs passed over unix sockets 2017-06-26 16:09:52 +03:00
screen_info.h
sctp.h
scx200.h
scx200_gpio.h
sdla.h
seccomp.h seccomp: implement SECCOMP_FILTER_FLAG_TSYNC 2014-10-31 19:46:31 -07:00
securebits.h
security.h BACKPORT: security: fix typo in security_task_prctl 2017-08-24 20:56:21 +03:00
selection.h
selinux.h
selinux_netlink.h
sem.h
semaphore.h
seq_file.h
seq_file_net.h
seqlock.h
serial.h
serial167.h
serial_8250.h
serial_core.h
serial_max3100.h
serial_mfd.h
serial_pnx8xxx.h
serial_reg.h
serial_sci.h
serio.h
sfi.h
sfi_acpi.h
sh_clk.h
sh_dma.h
sh_eth.h
sh_intc.h
sh_pfc.h
sh_timer.h
shm.h
shmem_fs.h
shrinker.h
sht15.h
signal.h
signalfd.h
sirfsoc_dma.h
skbuff.h net: add length argument to skb_copy_and_csum_datagram_iovec 2016-10-31 22:26:43 +11:00
slab.h
slab_def.h
slimport.h display: slimport: update phy register values for flo 2013-06-05 15:26:15 +00:00
slob_def.h
slub_def.h
sm501-regs.h
sm501.h
smb345-charger.h charger: smb345: setup wireless charging current limit orderly 2013-05-09 16:41:50 +00:00
smc91x.h
smc911x.h
smp.h smp: Add task_struct argument to __cpu_up() 2016-10-29 23:12:38 +08:00
smpboot.h stop_machine: Mark per cpu stopper enabled early 2016-10-29 23:12:39 +08:00
smsc911x.h
smsc3503.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
smscphy.h
smux.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
snmp.h
sock_diag.h
socket.h
sockios.h
som.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 Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
srcu.h
stackprotector.h
stacktrace.h
stallion.h
start_kernel.h
stat.h
statfs.h
static_key.h
stddef.h
stmmac.h
stop_machine.h
string.h
string_helpers.h
stringify.h
sungem_phy.h
sunserialcore.h
superhyway.h
suspend.h power: log the last suspend abort reason. 2017-10-15 16:23:56 +03:00
suspend_ioctls.h
svga.h
sw_sync.h
swab.h
swap.h
swapops.h
swiotlb.h
switch.h
synaptics_i2c_rmi.h
sync.h base: sync: Include seq_file.h in sync.h 2013-03-15 17:13:08 -07:00
synclink.h
sys.h
sys_soc.h
syscalls.h BACKPORT: random: introduce getrandom(2) system call 2017-10-27 21:48:02 +03:00
syscore_ops.h
sysctl.h
sysdev.h
sysfs.h
sysinfo.h
syslog.h printk: fix buffer overflow when calling log_prefix function from call_console_drivers 2013-04-18 16:09:23 -07:00
sysrq.h
sysv_fs.h
task_io_accounting.h
task_io_accounting_ops.h
taskstats.h
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h
telephony.h
termios.h
test-iosched.h Update copyright to The Linux Foundation 2013-03-15 17:07:39 -07:00
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h
thread_info.h
threads.h
ti_wilink_st.h
tick.h tick: Dynamically set broadcast irq affinity 2017-08-25 16:04:02 +03:00
tifm.h
timb_dma.h
timb_gpio.h
time.h time: Move ktime_t overflow checking into timespec_valid_strict 2017-08-25 20:00:19 +03:00
timecompare.h
timer.h time: Remove CONFIG_TIMER_STATS 2017-07-02 13:03:26 +03:00
timerfd.h
timeriomem-rng.h
timerqueue.h
times.h
timex.h
tiocl.h
tipc.h
tipc_config.h
topology.h sched: Set MC (multi-core) sched domain's busy_factor attribute to 1 2016-10-29 23:12:19 +08:00
toshiba.h
tpm.h
tpm_command.h
trace_clock.h
trace_seq.h
tracehook.h
tracepoint.h
transport_class.h
trdevice.h
tsacct_kern.h
tsif_api.h tsif: Add option to read TSIF clock reference counter 2013-03-15 17:06:27 -07:00
tspp.h tspp: Add option to inverse tsif signals 2013-03-07 15:24:00 -08:00
tty.h Revert "msm: tty: update receive room just before writing data to the ldisc" 2013-03-04 12:44:26 -08:00
tty_driver.h
tty_flip.h
tty_ldisc.h
typecheck.h
types.h
u64_stats_sync.h
uaccess.h
ucb1400.h
udf_fs_i.h
udp.h
uhid.h HID: uhid: implement feature requests 2013-03-04 12:45:08 -08:00
uid_stat.h
uidgid.h userns: Add kuid_t and kgid_t and associated infrastructure in uidgid.h 2017-09-01 13:38:06 +03:00
uinput.h
uio.h
uio_driver.h
ultrasound.h
un.h
unistd.h
unix_diag.h
usb.h USB: allow match on bInterfaceNumber 2013-03-15 17:07:24 -07:00
usb_usual.h
usbdevice_fs.h
user-return-notifier.h
user.h
user_namespace.h proc: Usable inode numbers for the namespace file descriptors. 2015-07-13 11:18:01 -07:00
utime.h
uts.h
utsname.h proc: Usable inode numbers for the namespace file descriptors. 2015-07-13 11:18:01 -07:00
uuid.h
uvcvideo.h
uwb.h
v4l2-mediabus.h
v4l2-subdev.h
vermagic.h
veth.h
vfs.h
vga_switcheroo.h
vgaarb.h
vhost.h
via-core.h
via-gpio.h
via.h
via_i2c.h
video_output.h
videodev2.h msm: vidc: Adds VUI timing info support for AVC encoding. 2013-03-07 15:22:35 -08:00
virtio.h
virtio_9p.h
virtio_balloon.h
virtio_blk.h
virtio_config.h
virtio_console.h
virtio_ids.h
virtio_mmio.h
virtio_net.h
virtio_pci.h
virtio_ring.h
virtio_rng.h
virtio_scsi.h
vlynq.h
vm_event_item.h
vmalloc.h
vmstat.h mm: make counts of CMA free pages correct 2013-03-07 15:23:58 -08:00
vt.h
vt_buffer.h
vt_kern.h
w1-gpio.h
wait.h
wakelock.h PM / Sleep: Add wake lock api wrapper on top of wakeup sources 2017-10-15 15:46:56 +03:00
wakeup_reason.h PM: wakeup_reasons: disable wakeup-reason deduction by default 2017-10-15 17:05:11 +03:00
wanrouter.h
watchdog.h
wcnss_wlan.h wcnss: Add API to expose the IRIS XO mode set 2013-09-04 12:44:28 -07:00
wifi_tiwlan.h
wimax.h
wireless.h
wl12xx.h
wl127x-rfkill.h
wlan_plat.h
wm97xx.h
workqueue.h
wpce775x.h
writeback.h sync: don't block the flusher thread waiting on IO 2016-10-29 23:12:18 +08:00
x25.h
xattr.h
xfrm.h
xilinxfb.h
xz.h
yam.h
z2_battery.h
zconf.h
zlib.h
zorro.h
zorro_ids.h
zutil.h