Daniel Borkmann
7829fb09a2
lib: make memzero_explicit more robust against dead store elimination
...
In commit 0b053c9518 ("lib: memzero_explicit: use barrier instead
of OPTIMIZER_HIDE_VAR"), we made memzero_explicit() more robust in
case LTO would decide to inline memzero_explicit() and eventually
find out it could be elimiated as dead store.
While using barrier() works well for the case of gcc, recent efforts
from LLVMLinux people suggest to use llvm as an alternative to gcc,
and there, Stephan found in a simple stand-alone user space example
that llvm could nevertheless optimize and thus elimitate the memset().
A similar issue has been observed in the referenced llvm bug report,
which is regarded as not-a-bug.
Based on some experiments, icc is a bit special on its own, while it
doesn't seem to eliminate the memset(), it could do so with an own
implementation, and then result in similar findings as with llvm.
The fix in this patch now works for all three compilers (also tested
with more aggressive optimization levels). Arguably, in the current
kernel tree it's more of a theoretical issue, but imho, it's better
to be pedantic about it.
It's clearly visible with gcc/llvm though, with the below code: if we
would have used barrier() only here, llvm would have omitted clearing,
not so with barrier_data() variant:
static inline void memzero_explicit(void *s, size_t count)
{
memset(s, 0, count);
barrier_data(s);
}
int main(void)
{
char buff[20];
memzero_explicit(buff, sizeof(buff));
return 0;
}
$ gcc -O2 test.c
$ gdb a.out
(gdb) disassemble main
Dump of assembler code for function main:
0x0000000000400400 <+0>: lea -0x28(%rsp),%rax
0x0000000000400405 <+5>: movq $0x0,-0x28(%rsp)
0x000000000040040e <+14>: movq $0x0,-0x20(%rsp)
0x0000000000400417 <+23>: movl $0x0,-0x18(%rsp)
0x000000000040041f <+31>: xor %eax,%eax
0x0000000000400421 <+33>: retq
End of assembler dump.
$ clang -O2 test.c
$ gdb a.out
(gdb) disassemble main
Dump of assembler code for function main:
0x00000000004004f0 <+0>: xorps %xmm0,%xmm0
0x00000000004004f3 <+3>: movaps %xmm0,-0x18(%rsp)
0x00000000004004f8 <+8>: movl $0x0,-0x8(%rsp)
0x0000000000400500 <+16>: lea -0x18(%rsp),%rax
0x0000000000400505 <+21>: xor %eax,%eax
0x0000000000400507 <+23>: retq
End of assembler dump.
As gcc, clang, but also icc defines __GNUC__, it's sufficient to define
this in compiler-gcc.h only to be picked up. For a fallback or otherwise
unsupported compiler, we define it as a barrier. Similarly, for ecc which
does not support gcc inline asm.
Reference: https://llvm.org/bugs/show_bug.cgi?id=15495
Reported-by: Stephan Mueller <smueller@chronox.de>
Tested-by: Stephan Mueller <smueller@chronox.de>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Cc: Theodore Ts'o <tytso@mit.edu>
Cc: Stephan Mueller <smueller@chronox.de>
Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
Cc: mancha security <mancha1@zoho.com>
Cc: Mark Charlebois <charlebm@gmail.com>
Cc: Behan Webster <behanw@converseincode.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2015-05-04 17:49:51 +08:00
..
amba
bcma
bcma: allow disabling (not building) PCI driver
2015-03-13 16:25:50 +02:00
byteorder
can
can: add combined rx/tx LED trigger support
2015-03-22 23:50:11 +01:00
ceph
clk
crush
decompress
dma
extcon
fsl /bestcomm
gpio
hsi
i2c
iio
iio: add support for hardware fifo
2015-03-29 16:17:10 +01:00
input
irqchip
irqchip core change for v4.1 (round 3)
2015-04-11 11:17:28 +02:00
isdn
lockd
mfd
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
2015-04-14 18:25:15 -07:00
mlx4
net/mlx4_en: Add RX-ALL support
2015-04-02 16:25:04 -04:00
mlx5
net/mlx5_core: Extend struct mlx5_interface to support multiple protocols
2015-04-02 16:33:43 -04:00
mmc
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2015-04-15 09:00:47 -07:00
mtd
netfilter
netlink: implement nla_put_in_addr and nla_put_in6_addr
2015-03-31 13:58:35 -04:00
netfilter_arp
netfilter: Pass nf_hook_state through arpt_do_table().
2015-04-04 13:26:52 -04:00
netfilter_bridge
uapi: ebtables: don't include linux/if.h
2015-04-13 20:08:38 +02:00
netfilter_ipv4
netfilter: Pass nf_hook_state through ipt_do_table().
2015-04-04 12:47:04 -04:00
netfilter_ipv6
netfilter: Pass nf_hook_state through ip6t_do_table().
2015-04-04 12:52:06 -04:00
phy
pinctrl
Revert "pinctrl: consumer: use correct retval for placeholder functions"
2015-03-05 10:08:14 +01:00
platform_data
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
2015-04-15 11:08:27 -07:00
power
power: max17042_battery: Use reg type instead of chip type
2015-04-06 17:46:27 +02:00
raid
regulator
Merge remote-tracking branches 'regulator/topic/mode', 'regulator/topic/notifier', 'regulator/topic/palmas', 'regulator/topic/qcom' and 'regulator/topic/stw481x' into regulator-next
2015-04-10 19:16:03 +01:00
rtc
sched
soc /ti
spi
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2015-04-15 09:00:47 -07:00
ssb
sunrpc
sunrpc: make debugfs file creation failure non-fatal
2015-03-31 14:15:08 -04:00
unaligned
usb
Merge 4.0-rc7 into usb-next
2015-04-07 11:17:34 +02:00
uwb
uwb: Remove umc bus legacy suspend/resume support
2015-03-18 17:27:03 +01:00
wimax
8250_pci.h
a.out.h
include/linux: remove empty conditionals
2015-04-15 16:35:22 -07:00
acct.h
acpi.h
device property: Make it possible to use secondary firmware nodes
2015-04-03 23:23:37 +02:00
acpi_dma.h
acpi_pmtmr.h
adb.h
adfs_fs.h
aer.h
agp_backend.h
agpgart.h
ahci_platform.h
aio.h
fs: move struct kiocb to fs.h
2015-03-25 20:28:11 -04:00
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_bl.h
arcdevice.h
arm-cci.h
asn1.h
asn1_ber_bytecode.h
asn1_decoder.h
assoc_array.h
assoc_array_priv.h
async.h
async_tx.h
ata.h
libata: Implement support for sense data reporting
2015-03-27 11:59:22 -04:00
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.h
backlight.h
balloon_compaction.h
basic_mmio_gpio.h
bcd.h
bch.h
bcm47xx_wdt.h
bfin_mac.h
binfmts.h
bio.h
bit_spinlock.h
bitmap.h
linux/bitmap.h: improve BITMAP_{LAST,FIRST}_WORD_MASK
2015-04-15 16:35:24 -07:00
bitops.h
bitrev.h
blk-iopoll.h
blk-mq.h
blk_types.h
Defer processing of REQ_PREEMPT requests for blocked devices
2015-04-08 09:41:41 -07:00
blkdev.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bootmem.h
bottom_half.h
bpf.h
bpf: Make internal bpf API independent of CONFIG_BPF_SYSCALL #ifdefs
2015-04-02 13:25:49 +02:00
brcmphy.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2015-04-14 15:44:14 -04:00
bsearch.h
bsg-lib.h
bsg.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h
bug.h
c2port.h
cache.h
cacheinfo.h
capability.h
kernel: conditionally support non-root users, groups and capabilities
2015-04-15 16:35:22 -07:00
cb710.h
cciss_ioctl.h
ccp.h
cdev.h
cdrom.h
cfag12864b.h
cgroup.h
cgroup_subsys.h
circ_buf.h
cleancache.h
cleancache: remove limit on the number of cleancache enabled filesystems
2015-04-14 16:49:03 -07:00
clk-provider.h
clk.h
clk: introduce clk_is_match
2015-03-11 15:56:59 -07:00
clkdev.h
clksrc-dbx500-prcmu.h
clock_cooling.h
clockchips.h
clockevents: Cleanup dead cpu explicitely
2015-04-03 08:44:37 +02:00
clocksource.h
clocksource: Rename __clocksource_updatefreq_*() to __clocksource_update_freq_*()
2015-03-13 08:07:08 +01:00
cm4000_cs.h
cma.h
mm: cma: constify and use correct signness in mm/cma.c
2015-04-14 16:49:04 -07:00
cmdline-parser.h
cn_proc.h
cnt32_to_63.h
coda.h
coda_psdev.h
com20020.h
compaction.h
mm: allow compaction of unevictable pages
2015-04-15 16:35:17 -07:00
compat.h
compiler-clang.h
compiler-gcc.h
lib: make memzero_explicit more robust against dead store elimination
2015-05-04 17:49:51 +08:00
compiler-gcc3.h
compiler-gcc4.h
compiler-gcc5.h
compiler-intel.h
lib: make memzero_explicit more robust against dead store elimination
2015-05-04 17:49:51 +08:00
compiler.h
lib: make memzero_explicit more robust against dead store elimination
2015-05-04 17:49:51 +08:00
completion.h
component.h
concap.h
configfs.h
connector.h
console.h
console_struct.h
consolemap.h
container.h
context_tracking.h
kvm,rcu,nohz: use RCU extended quiescent state when running KVM guest
2015-03-09 15:43:03 +01:00
context_tracking_state.h
kvm,rcu,nohz: use RCU extended quiescent state when running KVM guest
2015-03-09 15:43:03 +01:00
cordic.h
coredump.h
coresight.h
cper.h
cpu.h
cpu: Provide smpboot_thread_init() on !CONFIG_SMP kernels as well
2015-04-13 10:19:30 +02:00
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpufeature.h
cpufreq-dt.h
cpufreq.h
cpuidle.h
cpuidle: remove state_count field from struct cpuidle_device
2015-04-03 13:15:50 +02:00
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
kernel: conditionally support non-root users, groups and capabilities
2015-04-15 16:35:22 -07:00
crypto.h
crypto: api - prevent helper ciphers from being used
2015-03-31 21:21:03 +08:00
cryptohash.h
cryptouser.h
cs5535.h
ctype.h
cuda.h
cyclades.h
davinci_emac.h
dca.h
dcache.h
VFS: Split DCACHE_FILE_TYPE into regular and special types
2015-02-22 11:38:38 -05:00
dccp.h
ipv4: dccp: handle ICMP messages on DCCP_NEW_SYN_RECV request sockets
2015-03-23 16:52:26 -04:00
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
dell-led.h
devcoredump.h
devfreq-event.h
PM / devfreq: event: Add const keyword for devfreq_event_ops structure
2015-03-30 17:09:41 +09:00
devfreq.h
device-mapper.h
dm snapshot: suspend merging snapshot when doing exception handover
2015-02-27 14:53:16 -05:00
device.h
Power management and ACPI updates for v4.1-rc1
2015-04-14 20:21:54 -07:00
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-attrs.h
dma-buf.h
dma-contiguous.h
dma-debug.h
dma-direction.h
dma-mapping.h
dma_remapping.h
dmaengine.h
dmapool.h
include/linux/dmapool.h: declare struct device
2015-04-07 16:45:33 -07:00
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
ds1286.h
ds2782_battery.h
ds17287rtc.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
x86/efi: Add a "debug" option to the efi= cmdline
2015-04-01 12:46:22 +01:00
efs_vh.h
eisa.h
elevator.h
elf-fdpic.h
elf-randomize.h
mm: fold arch_randomize_brk into ARCH_HAS_ELF_RANDOMIZE
2015-04-14 16:49:05 -07:00
elf.h
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
err.h
errno.h
errqueue.h
etherdevice.h
net: Kill dev_rebuild_header
2015-03-02 16:43:41 -05:00
ethtool.h
eventfd.h
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
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
fence.h
file.h
filter.h
filter: introduce SKF_AD_VLAN_TPID BPF extension
2015-03-24 15:25:15 -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.h
Merge branch 'akpm' (patches from Andrew)
2015-04-15 16:39:15 -07:00
fs_enet_pd.h
fs_pin.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fscache-cache.h
fscache.h
fsl-diu-fb.h
fsl_devices.h
fsl_hypervisor.h
fsl_ifc.h
fsldma.h
fsnotify.h
fsnotify_backend.h
ftrace.h
ftrace_event.h
Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2015-04-14 14:37:47 -07:00
ftrace_irq.h
futex.h
fwnode.h
device property: Introduce firmware node type for platform data
2015-04-03 23:23:51 +02:00
gameport.h
gcd.h
genalloc.h
genetlink.h
genhd.h
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h
mm: clarify __GFP_NOFAIL deprecation status
2015-04-14 16:49:04 -07:00
glob.h
goldfish.h
gpio-fan.h
gpio-pxa.h
gpio.h
gpio_keys.h
gpio_mouse.h
gsmmux.h
hardirq.h
hash.h
hashtable.h
hdlc.h
hdlcdrv.h
hdmi.h
hid-debug.h
hid-roccat.h
hid-sensor-hub.h
Merge branch 'for-4.1/sensor-hub' into for-linus
2015-04-13 23:43:34 +02:00
hid-sensor-ids.h
HID: hid-sensor-hub: Add support for application collection
2015-02-23 15:11:52 +01:00
hid.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
2015-04-14 09:25:26 -07:00
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
mm: hugetlb: cleanup using paeg_huge_active()
2015-04-15 16:35:19 -07:00
hugetlb_cgroup.h
hugetlb_inline.h
hw_breakpoint.h
hw_random.h
hwrng: add devm_* interfaces
2015-03-16 21:45:54 +11:00
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.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
Power management and ACPI updates for v4.1-rc1
2015-04-14 20:21:54 -07:00
i7300_idle.h
i8042.h
i8253.h
icmp.h
icmpv6.h
ide.h
idr.h
ieee80211.h
ieee802154.h
mac802154: correct max sifs size handling
2015-03-14 17:11:30 +01:00
if_arp.h
if_bridge.h
bridge: Extend Proxy ARP design to allow optional rules for Wi-Fi
2015-03-05 14:52:23 -05:00
if_eql.h
if_ether.h
if_fddi.h
if_frad.h
if_link.h
if_link: Add an additional parameter to ifla_vf_info for RSS querying
2015-04-10 21:57:22 -07:00
if_ltalk.h
if_macvlan.h
if_phonet.h
if_pppol2tp.h
if_pppox.h
pppoe: Use workqueue to die properly when a PADT is received
2015-03-02 00:17:31 -05:00
if_team.h
if_tun.h
if_tunnel.h
if_vlan.h
net: Move check for multiple vlans to drivers
2015-03-29 13:33:22 -07:00
igmp.h
ipv4, ipv6: kill ip_mc_{join, leave}_group and ipv6_sock_mc_{join, drop}
2015-03-18 22:05:09 -04:00
ihex.h
ima.h
in.h
in6.h
inet.h
inet_diag.h
inet_diag: add const to inet_diag_req_v2
2015-03-10 13:45:28 -04:00
inet_lro.h
inetdevice.h
init.h
init.h: Clean up the __setup()/early_param() macros
2015-03-05 09:23:12 +01:00
init_ohci1394_dma.h
init_task.h
initrd.h
inotify.h
input-polldev.h
input.h
integrity.h
intel-iommu.h
intel_pmic_gpio.h
interrupt.h
genirq: Allow the irqchip state of an IRQ to be save/restored
2015-04-08 23:28:28 +02:00
interval_tree.h
interval_tree_generic.h
io-mapping.h
io.h
lib/ioremap.c: add huge I/O map capability interfaces
2015-04-14 16:49:04 -07:00
ioc3.h
ioc4.h
iocontext.h
iommu-helper.h
iommu.h
iopoll.h
ioport.h
kernel/resource.c: remove deprecated __check_region() and friends
2015-04-15 16:35:22 -07:00
ioprio.h
iova.h
ip.h
ipack.h
ipc.h
ipc_namespace.h
ipmi-fru.h
ipmi.h
ipmi_smi.h
ipv6.h
ipv6: introduce secret_stable to ipv6_devconf
2015-03-23 22:12:08 -04:00
ipv6_route.h
irq.h
irqchip core change for v4.1 (round 3)
2015-04-11 11:17:28 +02:00
irq_cpustat.h
irq_work.h
irq_work: Fix build failure when CONFIG_IRQ_WORK is not defined
2015-03-23 10:55:21 +01:00
irqchip.h
irqdesc.h
genirq / PM: Add flag for shared NO_SUSPEND interrupt lines
2015-03-04 21:42:19 +01:00
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
jbd.h
jbd2.h
jbd_common.h
jhash.h
jhash: Update jhash_[321]words functions to use correct initval
2015-04-03 12:52:29 -04:00
jiffies.h
journal-head.h
joystick.h
jump_label.h
jump_label: Allow jump labels to be used in assembly
2015-04-09 09:40:24 +02:00
jump_label_ratelimit.h
jz4740-adc.h
kallsyms.h
kasan.h
mm/mempool.c: kasan: poison mempool elements
2015-04-15 16:35:20 -07:00
kbd_diacr.h
kbd_kern.h
kbuild.h
kconfig.h
kcore.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
mm: consolidate all page-flags helpers in <linux/page-flags.h>
2015-04-15 16:35:17 -07:00
kthread.h
ktime.h
kvm_host.h
Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2015-04-14 13:58:48 -07:00
kvm_para.h
kvm_types.h
l2tp.h
lapb.h
latencytop.h
lcd.h
lcm.h
block: fix blk_stack_limits() regression due to lcm() change
2015-03-31 09:45:50 -06:00
led-class-flash.h
leds: flash: Fix the size of sysfs_groups array
2015-03-30 11:55:48 -07:00
led-lm3530.h
leds-bd2802.h
leds-lp3944.h
leds-pca9532.h
leds-regulator.h
leds-tca6507.h
leds.h
leds: flash: Remove synchronized flash strobe feature
2015-03-09 17:16:23 -07:00
leds_pwm.h
lglock.h
lguest.h
lguest_launcher.h
libata.h
Merge branch 'for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata
2015-04-13 16:42:16 -07:00
libfdt.h
libfdt_env.h
libps2.h
license.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
rcu: Improve diagnostics for blocked critical sections in irq
2015-03-03 11:16:00 -08:00
lockref.h
log2.h
lp.h
lru_cache.h
lsm_audit.h
lz4.h
lzo.h
m48t86.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
mdio-bitbang.h
mdio-gpio.h
mdio-mux.h
mdio.h
mei_cl_bus.h
memblock.h
memtest: use phys_addr_t for physical addresses
2015-04-14 16:49:06 -07:00
memcontrol.h
memory.h
memory_hotplug.h
mm, hotplug: fix concurrent memory hot-add deadlock
2015-04-14 16:49:00 -07:00
mempolicy.h
mempool.h
mm, mempool: disallow mempools based on slab caches with constructors
2015-04-15 16:35:18 -07:00
memstick.h
mg_disk.h
mic_bus.h
micrel_phy.h
migrate.h
mm: numa: remove migrate_ratelimited
2015-04-14 16:49:05 -07:00
migrate_mode.h
mii.h
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm.h
mm: new pfn_mkwrite same as page_mkwrite for VM_PFNMAP
2015-04-15 16:35:20 -07:00
mm_inline.h
mm_types.h
mm: do not add nr_pmds into mm_struct if PMD is folded
2015-04-14 16:49:02 -07:00
mman.h
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h
mmzone.h
mm: refactor zone_movable_is_highmem()
2015-04-15 16:35:16 -07:00
mnt_namespace.h
mod_devicetable.h
mod_devicetable: fix comment for match_flags
2015-03-06 23:03:27 +01:00
module.h
Some clean ups and small fixes, but the biggest change is the addition
2015-04-14 10:49:03 -07:00
moduleloader.h
kasan, module: move MODULE_ALIGN macro into <linux/moduleloader.h>
2015-03-12 18:46:08 -07:00
moduleparam.h
mount.h
mpage.h
mpi.h
mpls.h
mroute.h
mroute6.h
msdos_fs.h
msg.h
msi.h
msm_mdp.h
mutex-debug.h
mutex.h
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
mvebu-pmsu.h
mxm-wmi.h
n_r3964.h
namei.h
nbd.h
net.h
get rid of the size argument of sock_sendmsg()
2015-04-11 15:27:37 -04:00
netdev_features.h
netdevice.h
net_device: Reorder members to fill holes
2015-04-13 13:15:14 -04:00
netfilter.h
netfilter: Pass socket pointer down through okfn().
2015-04-07 15:25:55 -04:00
netfilter_bridge.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2015-04-08 18:30:21 +02:00
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h
netlink: Fix portid type in netlink_notify
2015-04-13 16:35:16 -04:00
netpoll.h
nfs.h
nfs3.h
nfs4.h
nfs_fs.h
NFS: Fix a regression in the read() syscall
2015-03-03 13:02:29 -05:00
nfs_fs_i.h
nfs_fs_sb.h
nfs_idmap.h
nfs_iostat.h
nfs_page.h
nfs_xdr.h
nfsacl.h
nilfs2_fs.h
nl802154.h
nls.h
nmi.h
watchdog: introduce the hardlockup_detector_disable() function
2015-04-14 16:48:59 -07:00
node.h
nodemask.h
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb.h
nubus.h
numa.h
nvme.h
nvram.h
nwpserial.h
nx842.h
of.h
of: base: add function to get highest id of an alias stem
2015-03-18 13:36:46 +01:00
of_address.h
of_device.h
of: Move of_dma_configure() to device.c to help re-use
2015-03-03 14:42:56 -06:00
of_dma.h
of_fdt.h
of_gpio.h
of_graph.h
of_iommu.h
of: iommu: Add ptr to OF node arg to of_iommu_configure()
2015-03-03 14:42:55 -06:00
of_irq.h
of_mdio.h
of: mdio: export of_mdio_parse_addr
2015-03-11 17:56:28 -04:00
of_mtd.h
of_net.h
net: core: add of_find_net_device_by_node()
2015-03-09 23:50:20 -04:00
of_pci.h
of/pci: Add of_pci_dma_configure() to update DMA configuration
2015-03-03 14:42:57 -06:00
of_pdt.h
of_platform.h
of/platform: Fix sparc:allmodconfig build
2015-03-13 09:45:24 -05:00
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
oom.h
memcg: print cgroup information when system panics due to panic_on_oom
2015-04-14 16:49:05 -07:00
openvswitch.h
oprofile.h
osq_lock.h
oxu210hp.h
padata.h
page-flags-layout.h
page-flags.h
mm: hugetlb: cleanup using paeg_huge_active()
2015-04-15 16:35:19 -07:00
page-isolation.h
page_counter.h
page_ext.h
page_owner.h
pageblock-flags.h
pagemap.h
pagevec.h
parport.h
parport_pc.h
parser.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci-acpi.h
PCI/ACPI: Optimize device state transition delays
2015-04-08 16:25:25 -05:00
pci-aspm.h
PCI: Don't clear ASPM bits when the FADT declares it's unsupported
2015-04-09 14:20:11 -05:00
pci-ats.h
pci-dma.h
pci.h
Merge branch 'pci/misc' into next
2015-04-10 08:27:18 -05:00
pci_hotplug.h
pci_ids.h
usb: move definition of PCI_VENDOR_ID_SYNOPSYS to linux/pci_ids.h
2015-03-10 15:33:23 -05:00
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: Add ITRACE_START record to indicate that tracing has started
2015-04-02 17:14:17 +02:00
perf_regs.h
personality.h
Remove rest of exec domains.
2015-04-12 21:03:31 +02:00
pfn.h
phonet.h
phy.h
phy_fixed.h
add fixed_phy_update_state() - update state of fixed_phy
2015-04-03 15:08:20 -04:00
pid.h
pid_namespace.h
pim.h
pipe_fs_i.h
pktcdvd.h
pl320-ipc.h
platform_device.h
driver core / ACPI: Represent ACPI companions using fwnode_handle
2015-03-16 23:49:03 +01:00
plist.h
pm-trace.h
PM / sleep: add pm-trace support for suspending phase
2015-03-18 15:54:27 +01:00
pm.h
driver core / PM: Add PM domain callbacks for device setup/cleanup
2015-03-22 22:14:12 +01:00
pm2301_charger.h
pm_clock.h
pm_domain.h
PM / domains: factor out code to get the generic PM domain from a struct device
2015-03-22 22:19:12 +01:00
pm_opp.h
pm_qos.h
pm_runtime.h
pm_wakeup.h
pmu.h
pnfs_osd_xdr.h
pnp.h
PNP: Add helper macro for pnp_register_driver boilerplate
2015-03-18 22:39:16 +01:00
poison.h
poll.h
posix-clock.h
posix-timers.h
posix_acl.h
posix_acl_xattr.h
power_supply.h
power_supply: Add power_supply_put for decrementing device reference counter
2015-03-13 23:15:52 +01:00
powercap.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
pps-gpio.h
pps_kernel.h
preempt.h
preempt_mask.h
prefetch.h
printk.h
printk: comment pr_cont() stating it is only to continue a line
2015-04-15 16:35:23 -07:00
proc_fs.h
proc_ns.h
profile.h
projid.h
property.h
device property: Introduce firmware node type for platform data
2015-04-03 23:23:51 +02:00
proportions.h
pstore.h
pstore_ram.h
pti.h
ptp_classify.h
ptp_clock_kernel.h
ptp: remove 32 bit get/set methods.
2015-03-31 12:01:19 -04:00
ptrace.h
pvclock_gtod.h
pwm.h
pwm_backlight.h
pxa2xx_ssp.h
pxa168_eth.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
rculist.h
rculist_bl.h
rculist_nulls.h
rcupdate.h
Merge branches 'doc.2015.02.26a', 'earlycb.2015.03.03a', 'fixes.2015.03.03a', 'gpexp.2015.02.26a', 'hotplug.2015.03.20a', 'sysidle.2015.02.26b' and 'tiny.2015.02.26a' into HEAD
2015-03-20 08:31:01 -07:00
rcutiny.h
rcutree.h
reboot.h
kernel/reboot.c: add orderly_reboot for graceful reboot
2015-04-15 16:35:23 -07:00
reciprocal_div.h
regmap.h
regset.h
relay.h
remoteproc.h
reservation.h
reset-controller.h
reset.h
resource.h
resource_ext.h
rfkill-gpio.h
rfkill-regulator.h
rfkill.h
rhashtable.h
rhashtable: provide len to obj_hashfn
2015-03-25 17:18:33 +01:00
ring_buffer.h
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h
mm: uninline and cleanup page-mapping related helpers
2015-04-15 16:35:19 -07:00
rndis.h
root_dev.h
rotary_encoder.h
rpmsg.h
rslib.h
rtc-ds2404.h
rtc-v3020.h
rtc.h
drivers/rtc: Provide y2038 safe rtc_class_ops.set_mmss() replacement
2015-04-03 08:18:24 +02:00
rtmutex.h
rtnetlink.h
net: use jump label patching for ingress qdisc in __netif_receive_skb_core
2015-04-13 13:34:40 -04:00
rwlock.h
rwlock_api_smp.h
rwlock_types.h
rwsem-spinlock.h
rwsem.h
rxrpc.h
s3c_adc_battery.h
sa11x0-dma.h
scatterlist.h
scc.h
sched.h
Merge branch 'exec_domain_rip_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/misc
2015-04-15 13:53:55 -07:00
sched_clock.h
screen_info.h
sctp.h
scx200.h
scx200_gpio.h
sdb.h
sdla.h
seccomp.h
securebits.h
security.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2015-04-15 09:00:47 -07:00
selection.h
selinux.h
sem.h
semaphore.h
seq_buf.h
seq_file.h
seq_file_net.h
seqlock.h
locking: Remove ACCESS_ONCE() usage
2015-02-24 08:44:16 +01:00
seqno-fence.h
serial.h
serial_8250.h
serial_bcm63xx.h
serial_core.h
serial: uapi: Declare all userspace-visible io types
2015-03-07 03:39:55 +01:00
serial_max3100.h
serial_mfd.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
sirfsoc_dma.h
sizes.h
skbuff.h
netfilter: bridge: make BRNF_PKT_TYPE flag a bool
2015-04-08 16:49:12 +02:00
slab.h
mm, slab: correct config option in comment
2015-04-14 16:48:59 -07:00
slab_def.h
slub_def.h
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smpboot.h
smpboot.h: Remove unused function prototype
2015-03-06 23:07:20 +01:00
smsc911x.h
smscphy.h
sock_diag.h
net: add real socket cookies
2015-03-11 21:55:28 -04:00
socket.h
new helper: msg_data_left()
2015-04-11 15:53:35 -04:00
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
srcu.h
rcu: Reverse rcu_dereference_check() conditions
2015-03-03 11:16:47 -08:00
ssbi.h
stackprotector.h
stacktrace.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2015-04-14 09:50:27 -07:00
start_kernel.h
stat.h
statfs.h
static_key.h
stddef.h
include/stddef.h: Move offsetofend() from vfio.h to a generic kernel header
2015-03-17 09:25:28 +01:00
ste_modem_shm.h
stmmac.h
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string.h
string_helpers.h
lib/string_helpers.c: change semantics of string_escape_mem
2015-04-15 16:35:24 -07:00
stringify.h
sudmac.h
sungem_phy.h
sunserialcore.h
superhyway.h
suspend.h
svga.h
swab.h
swap.h
mm: rename deactivate_page to deactivate_file_page
2015-04-15 16:35:17 -07:00
swap_cgroup.h
swapfile.h
swapops.h
swiotlb.h
sxgbe_platform.h
synclink.h
sys.h
sys_soc.h
syscalls.h
syscore_ops.h
sysctl.h
sysfs.h
sysfs: Document struct attribute_group
2015-03-25 13:28:58 +01:00
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
tcp: RFC7413 option support for Fast Open client
2015-04-07 18:36:39 -04:00
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h
thermal: Introduce dummy functions when thermal is not defined
2015-02-24 14:40:42 -04:00
thinkpad_acpi.h
thread_info.h
threads.h
ti_wilink_st.h
tick.h
clockevents: Cleanup dead cpu explicitely
2015-04-03 08:44:37 +02:00
tifm.h
timb_dma.h
timb_gpio.h
time.h
time64.h
timecounter.h
timekeeper_internal.h
time: Add timerkeeper::tkr_raw
2015-03-27 09:45:07 +01:00
timekeeping.h
time, drivers/rtc: Don't bother with rtc_resume() for the nonstop clocksource
2015-04-03 08:18:34 +02:00
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h
topology.h
torture.h
toshiba.h
tpm.h
tpm_command.h
trace_clock.h
trace_seq.h
tracefs.h
tracehook.h
tracepoint.h
tracing: Add TRACE_DEFINE_ENUM() macro to map enums to their values
2015-04-08 09:39:56 -04:00
transport_class.h
tsacct_kern.h
tty.h
tty_driver.h
tty_flip.h
tty_ldisc.h
typecheck.h
types.h
include/linux: remove empty conditionals
2015-04-15 16:35:22 -07:00
u64_stats_sync.h
uaccess.h
ucb1400.h
ucs2_string.h
udp.h
netns: constify net_hash_mix() and various callers
2015-03-18 22:00:34 -04:00
uidgid.h
kernel: conditionally support non-root users, groups and capabilities
2015-04-15 16:35:22 -07:00
uinput.h
uio.h
Merge branch 'iov_iter' into for-next
2015-04-11 22:26:51 -04:00
uio_driver.h
uprobes.h
usb.h
usb: define a generic USB_RESUME_TIMEOUT macro
2015-04-07 12:58:35 -05:00
usb_usual.h
usbdevice_fs.h
user-return-notifier.h
user.h
user_namespace.h
uts.h
utsname.h
uuid.h
uwb.h
verify_pefile.h
vermagic.h
vexpress.h
vfio.h
VFIO updates for v4.1
2015-04-14 18:06:47 -07:00
vfs.h
vga_switcheroo.h
vgaarb.h
vgaarb: Stub vga_set_legacy_decoding()
2015-04-07 11:14:38 -06:00
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_ring.h
vlynq.h
vm_event_item.h
vm_sockets.h
vmacache.h
vmalloc.h
kasan, module, vmalloc: rework shadow allocation for modules
2015-03-12 18:46:08 -07:00
vme.h
staging: vme: mmap() support for vme_user
2015-03-06 17:03:22 -08:00
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
watchdog: Add watchdog enable/disable all functions
2015-04-02 17:33:15 +02:00
wireless.h
wl12xx.h
wm97xx.h
workqueue.h
workqueue: dump workqueues on sysrq-t
2015-03-09 09:22:28 -04:00
writeback.h
fs: add dirtytime_expire_seconds sysctl
2015-03-17 12:23:32 -04:00
ww_mutex.h
xattr.h
xz.h
yam.h
z2_battery.h
zbud.h
zconf.h
zlib.h
zorro.h
zpool.h
zsmalloc.h
zsmalloc: support compaction
2015-04-15 16:35:20 -07:00
zutil.h