android_kernel_samsung_msm8976/include/linux
Nick Piggin d00806b183 mm: fix fault vs invalidate race for linear mappings
Fix the race between invalidate_inode_pages and do_no_page.

Andrea Arcangeli identified a subtle race between invalidation of pages from
pagecache with userspace mappings, and do_no_page.

The issue is that invalidation has to shoot down all mappings to the page,
before it can be discarded from the pagecache.  Between shooting down ptes to
a particular page, and actually dropping the struct page from the pagecache,
do_no_page from any process might fault on that page and establish a new
mapping to the page just before it gets discarded from the pagecache.

The most common case where such invalidation is used is in file truncation.
This case was catered for by doing a sort of open-coded seqlock between the
file's i_size, and its truncate_count.

Truncation will decrease i_size, then increment truncate_count before
unmapping userspace pages; do_no_page will read truncate_count, then find the
page if it is within i_size, and then check truncate_count under the page
table lock and back out and retry if it had subsequently been changed (ptl
will serialise against unmapping, and ensure a potentially updated
truncate_count is actually visible).

Complexity and documentation issues aside, the locking protocol fails in the
case where we would like to invalidate pagecache inside i_size.  do_no_page
can come in anytime and filemap_nopage is not aware of the invalidation in
progress (as it is when it is outside i_size).  The end result is that
dangling (->mapping == NULL) pages that appear to be from a particular file
may be mapped into userspace with nonsense data.  Valid mappings to the same
place will see a different page.

Andrea implemented two working fixes, one using a real seqlock, another using
a page->flags bit.  He also proposed using the page lock in do_no_page, but
that was initially considered too heavyweight.  However, it is not a global or
per-file lock, and the page cacheline is modified in do_no_page to increment
_count and _mapcount anyway, so a further modification should not be a large
performance hit.  Scalability is not an issue.

This patch implements this latter approach.  ->nopage implementations return
with the page locked if it is possible for their underlying file to be
invalidated (in that case, they must set a special vm_flags bit to indicate
so).  do_no_page only unlocks the page after setting up the mapping
completely.  invalidation is excluded because it holds the page lock during
invalidation of each page (and ensures that the page is not mapped while
holding the lock).

This also allows significant simplifications in do_no_page, because we have
the page locked in the right place in the pagecache from the start.

Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-19 10:04:41 -07:00
..
amba
byteorder Fix compilation of drivers with -O0 2007-05-08 11:15:00 -07:00
dvb
hdlc
isdn make drivers/isdn/capi/capiutil.c:cdebbuf_alloc() static 2007-05-08 11:15:16 -07:00
lockd knfsd: lockd: nfsd4: use same grace period for lockd and nfsd4 2007-07-17 10:23:07 -07:00
mlx4 IB/mlx4: Implement query SRQ 2007-07-12 15:41:24 -07:00
mmc mmc: remove old card states 2007-05-01 16:11:57 +02:00
mtd [MTD] generalise the handling of MTD-specific superblocks 2007-05-11 12:14:15 +01:00
netfilter [NETFILTER]: x_tables: add connlimit match 2007-07-14 20:47:26 -07:00
netfilter_arp [NETFILTER]: Clean up table initialization 2007-05-10 23:47:43 -07:00
netfilter_bridge
netfilter_ipv4 [NETFILTER]: ipt_iprange.h must #include <linux/types.h> 2007-07-18 02:21:50 -07:00
netfilter_ipv6 [NETFILTER]: ip6_tables: fix explanation of valid upper protocol number 2007-07-10 22:16:55 -07:00
nfsd knfsd: nfsd: enforce per-flavor id squashing 2007-07-17 10:23:08 -07:00
raid md: change bitmap_unplug and others to void functions 2007-07-17 10:23:15 -07:00
rtc rtc: add support for the ST M48T59 RTC 2007-07-17 10:23:09 -07:00
spi SPI: tle620x power switch driver 2007-07-17 10:23:05 -07:00
sunrpc knfsd: nfsd4: secinfo handling without secinfo= option 2007-07-17 10:23:08 -07:00
tc_act
tc_ematch
usb USB: export <linux/usb_gadgetfs> as <linux/usb/gadgetfs.h> 2007-07-12 16:29:50 -07:00
8250_pci.h
a.out.h
ac97_codec.h
acct.h
acpi.h acpi,msi-laptop: Fall back to EC polling mode for MSI laptop specific EC commands 2007-05-10 03:52:22 -04:00
acpi_pmtmr.h
adb.h
adfs_fs.h
adfs_fs_i.h
adfs_fs_sb.h
aer.h PCI aer: add pci_cleanup_aer_correct_aer_status 2007-07-11 16:02:08 -07:00
affs_hardblocks.h
agp_backend.h
agpgart.h
aio.h signal/timer/event: KAIO eventfd support example 2007-05-11 08:29:37 -07:00
aio_abi.h signal/timer/event: KAIO eventfd support example 2007-05-11 08:29:37 -07:00
amifd.h
amifdreg.h
amigaffs.h
anon_inodes.h signal/timer/event fds: anonymous inode source 2007-05-11 08:29:36 -07:00
apm-emulation.h
apm_bios.h
arcdevice.h
arcfb.h
async_tx.h async_tx: add the async_tx api 2007-07-13 08:06:14 -07:00
ata.h libata-link: add PMP related ATA constants 2007-07-10 21:46:03 -04:00
atalk.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_pdc.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
attribute_container.h Remove unnecessary includes of spinlock.h under include/linux 2007-07-16 09:05:42 -07:00
audit.h Audit: add TTY input auditing 2007-07-16 09:05:47 -07:00
auto_fs.h
auto_fs4.h
auxvec.h
ax25.h
b1lli.h
b1pcmcia.h
backing-dev.h remove mm/backing-dev.c:congestion_wait_interruptible() 2007-07-16 09:05:52 -07:00
backlight.h
baycom.h
bcd.h
bfs_fs.h
binfmts.h make sysctl/kernel/core_pattern and fs/exec.c agree on maximum core filename size 2007-05-17 05:23:05 -07:00
bio.h [BLOCK] Don't pin lots of memory in mempools 2007-04-30 09:08:17 +02:00
bit_spinlock.h
bitmap.h
bitops.h
bitrev.h
blkdev.h CONFIG_BOUNCE to avoid useless inclusion of bounce buffer logic 2007-07-17 10:23:02 -07:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bootmem.h x86_64: allocate sparsemem memmap above 4G 2007-06-01 08:18:27 -07:00
bottom_half.h
bpqether.h
bsg.h Don't define empty struct bsg_class_device if !CONFIG_BLK_DEV_BSG 2007-07-17 14:18:47 +02:00
buffer_head.h mm: optimize kill_bdev() 2007-05-07 12:12:55 -07:00
bug.h generic bug: use show_regs() instead of dump_stack() 2007-07-16 09:05:51 -07:00
cache.h
calc64.h
capability.h Remove unnecessary includes of spinlock.h under include/linux 2007-07-16 09:05:42 -07:00
capi.h
cciss_ioctl.h
cd1400.h
cdev.h
cdk.h
cdrom.h cdrom: replace hard-coded constants by kernel.h macro. 2007-07-16 09:05:48 -07:00
cfag12864b.h
chio.h
circ_buf.h
clk.h
clockchips.h clockchips.h: kernel-doc fix 2007-05-08 11:15:15 -07:00
clocksource.h clocksource: fix resume logic 2007-05-09 12:30:56 -07:00
cm4000_cs.h
cn_proc.h
coda.h
coda_cache.h
coda_fs_i.h
coda_linux.h
coda_proc.h
coda_psdev.h
coff.h
com20020.h
compat.h Declare another couple of compat syscalls. 2007-05-14 12:16:01 -07:00
compiler-gcc.h compiler: introduce __used and __maybe_unused 2007-05-09 12:30:56 -07:00
compiler-gcc3.h compiler: introduce __used and __maybe_unused 2007-05-09 12:30:56 -07:00
compiler-gcc4.h compiler: introduce __used and __maybe_unused 2007-05-09 12:30:56 -07:00
compiler-intel.h ARRAY_SIZE: check for type 2007-05-07 12:13:00 -07:00
compiler.h x86_64: Support gcc 5 properly 2007-05-21 09:56:57 -07:00
completion.h
comstats.h
concap.h
configfs.h configfs: config item dependancies. 2007-07-10 17:18:59 -07:00
connector.h
console.h Remove unnecessary includes of spinlock.h under include/linux 2007-07-16 09:05:42 -07:00
console_struct.h Protect <linux/console_struct.h> from multiple inclusion 2007-06-08 17:23:34 -07:00
consolemap.h Kernel utf-8 handling 2007-07-16 09:05:46 -07:00
const.h consolidate asm/const.h to linux/const.h 2007-05-08 11:15:13 -07:00
cpu.h remove unused lock_cpu_hotplug_interruptible definition 2007-07-16 09:05:48 -07:00
cpufreq.h Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 2007-05-05 14:55:20 -07:00
cpumask.h
cpuset.h
cramfs_fs.h
cramfs_fs_sb.h
crash_dump.h [PATCH] i386: Allow i386 crash kernels to handle x86_64 dumps 2007-05-02 19:27:09 +02:00
crc-ccitt.h
crc-itu-t.h CRC ITU-T V.41 2007-05-10 18:24:13 +02:00
crc7.h CRC7 support 2007-07-17 10:23:04 -07:00
crc16.h
crc32.h
crc32c.h
crypto.h [CRYPTO] cipher: Remove obsolete fields from cipher_tfm 2007-07-11 20:58:54 +08:00
cryptohash.h
ctype.h
cuda.h
cyclades.h Char: cyclades, dynamic ports 2007-05-08 11:15:25 -07:00
cyclomx.h
cycx_cfm.h
cycx_drv.h
cycx_x25.h
dcache.h VFS: delay the dentry name generation on sockets and pipes 2007-05-08 11:15:03 -07:00
dccp.h
dcookies.h
debug_locks.h
debugfs.h debugfs: add rename for debugfs files 2007-07-11 16:09:00 -07:00
delay.h
delayacct.h
device-mapper.h
device.h dev_vdbg(), available with -DVERBOSE_DEBUG 2007-07-18 15:49:50 -07:00
devpts_fs.h
dio.h
dirent.h
display.h fbdev: display class 2007-05-08 11:15:26 -07:00
dlm.h [DLM] variable allocation 2007-07-09 08:23:17 +01:00
dlm_device.h [DLM] canceling deadlocked lock 2007-07-09 08:22:54 +01:00
dlm_netlink.h [DLM] add lock timeouts and warnings [2/6] 2007-07-09 08:22:33 +01:00
dm-ioctl.h
dm9000.h
dma-mapping.h dma-mapping: prevent dma dependent code from linking on !HAS_DMA archs 2007-07-16 09:05:45 -07:00
dmaengine.h dmaengine: make clients responsible for managing channels 2007-07-13 08:06:13 -07:00
dmapool.h
dmi.h DMI-based module autoloading 2007-07-11 16:09:00 -07:00
dn.h
dnotify.h
dqblk_v1.h
dqblk_v2.h
dqblk_xfs.h
ds1wm.h Driver for the Maxim DS1WM, a 1-wire bus master ASIC core 2007-05-08 11:15:14 -07:00
ds1286.h
ds17287rtc.h Remove unnecessary includes of spinlock.h under include/linux 2007-07-16 09:05:42 -07:00
dtlk.h
edd.h Remove old i386 setup code 2007-07-12 10:55:56 -07:00
eeprom_93cx6.h [PATCH] Add 93cx6 eeprom library 2007-07-08 22:16:36 -04:00
efi.h EFI: warn only for pre-1.00 system tables 2007-05-08 11:15:10 -07:00
efs_dir.h
efs_fs.h knfsd: exportfs: remove iget abuse 2007-07-17 10:23:06 -07:00
efs_fs_i.h
efs_fs_sb.h
efs_vh.h
eisa.h
elevator.h
elf-em.h blackfin architecture 2007-05-07 12:12:58 -07:00
elf-fdpic.h
elf.h [PATCH] i386: Relocate VDSO ELF headers to match mapped location with COMPAT_VDSO 2007-05-02 19:27:12 +02:00
elfcore.h
elfnote.h use elfnote.h to generate vsyscall notes. 2007-07-18 08:47:40 -07:00
err.h
errno.h Better documentation for ERESTARTSYS 2007-06-01 08:18:29 -07:00
errqueue.h
etherdevice.h [CORE] Stack changes to add multiqueue hardware support API 2007-07-10 22:16:21 -07:00
ethtool.h [NET]: Add ethtool support for NETIF_F_IPV6_CSUM devices. 2007-07-14 19:07:52 -07:00
eventfd.h eventfd: clean compile when CONFIG_EVENTFD=n 2007-06-28 11:34:53 -07:00
eventpoll.h
exportfs.h knfsd: exportfs: add procedural interface for NFSD 2007-07-17 10:23:06 -07:00
ext2_fs.h
ext2_fs_sb.h ext2: statfs speed up 2007-07-16 09:05:52 -07:00
ext3_fs.h ext3: copy i_flags to inode flags on write 2007-05-08 11:15:12 -07:00
ext3_fs_i.h Fix occurrences of "the the " 2007-05-09 08:57:56 +02:00
ext3_fs_sb.h ext3: statfs speed up 2007-07-16 09:05:52 -07:00
ext3_jbd.h
ext4_fs.h ext4: Expand extra_inodes space per the s_{want,min}_extra_isize fields 2007-07-18 09:19:57 -04:00
ext4_fs_extents.h Change on-disk format to support 2^15 uninitialized extents 2007-07-18 09:02:56 -04:00
ext4_fs_i.h ext4: Add nanosecond timestamps 2007-07-18 09:15:20 -04:00
ext4_fs_sb.h ext4: Add nanosecond timestamps 2007-07-18 09:15:20 -04:00
ext4_jbd2.h
fadvise.h
falloc.h sys_fallocate() implementation on i386, x86_64 and powerpc 2007-07-17 21:42:44 -04:00
fault-inject.h
fb.h OMAP: add TI OMAP1610 accelerator entry. 2007-07-17 10:23:13 -07:00
fcdevice.h
fcntl.h locks: add lock cancel command 2007-05-06 20:38:28 -04:00
fd.h
fd1772.h
fddidevice.h
fdreg.h
fib_rules.h
file.h O_CLOEXEC for SCM_RIGHTS 2007-07-16 09:05:45 -07:00
filter.h
firewire-cdev.h firewire: Document userspace ioctl interface. 2007-07-10 00:07:45 +02:00
firewire-constants.h firewire: Break out shared IEEE1394 constant to separate header file. 2007-05-10 18:24:13 +02:00
firmware.h
flat.h
font.h fbcon: font setting should check limitation of driver 2007-05-08 11:15:31 -07:00
freezer.h Freezer: make kernel threads nonfreezable by default 2007-07-17 10:23:02 -07:00
fs.h Merge branch 'for-linus' of git://linux-nfs.org/~bfields/linux 2007-07-18 18:27:00 -07:00
fs_enet_pd.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fsl_devices.h Fix RGMII-ID handling in gianfar 2007-07-18 18:29:37 -04:00
fsnotify.h
fuse.h fuse warning fix 2007-07-16 09:05:41 -07:00
futex.h Revert "futex_requeue_pi optimization" 2007-06-18 09:48:41 -07:00
gameport.h
gen_stats.h
genalloc.h
generic_acl.h fix file specification in comments 2007-05-09 08:58:16 +02:00
generic_serial.h
genetlink.h
genhd.h bsg: bind bsg to request_queue instead of gendisk 2007-07-16 08:52:46 +02:00
getcpu.h
gfp.h Create the ZONE_MOVABLE zone 2007-07-17 10:22:59 -07:00
gfs2_ondisk.h [GFS2] Add nanosecond timestamp feature 2007-07-09 08:23:12 +01:00
gigaset_dev.h
gpio_keys.h Input: gpio_keys - add support for switches (EV_SW) 2007-05-01 00:39:13 -04:00
gpio_mouse.h Input: add gpio-mouse driver 2007-07-10 00:35:17 -04:00
hardirq.h sched: add in_atomic_preempt_off() 2007-07-09 18:51:58 +02:00
harrier_defs.h
hash.h
hayesesp.h
hdlc.h
hdlcdrv.h
hdpu_features.h
hdreg.h
hdsmart.h
hid-debug.h
hid.h Merge branches 'debug-module-param' and 'upstream' into for-linus 2007-07-09 14:23:37 +02:00
hiddev.h
highmem.h Add __GFP_MOVABLE for callers to flag allocations from high memory that may be migrated 2007-07-17 10:22:59 -07:00
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hp_sdc.h
hpet.h
hrtimer.h Add a flag to indicate deferrable timers in /proc/timer_stats 2007-07-16 09:05:45 -07:00
htirq.h
hugetlb.h Allow huge page allocations to use GFP_HIGH_MOVABLE 2007-07-17 10:22:59 -07:00
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hysdn_if.h
i2c-algo-bit.h include files: convert "include" subdirectory to UTF-8 2007-05-09 08:58:21 +02:00
i2c-algo-pca.h
i2c-algo-pcf.h include files: convert "include" subdirectory to UTF-8 2007-05-09 08:58:21 +02:00
i2c-algo-sgi.h
i2c-dev.h
i2c-gpio.h i2c: Bitbanging I2C bus driver using the GPIO API 2007-05-01 23:26:34 +02:00
i2c-id.h [ALSA] SoC WM8753 codec support 2007-05-11 16:56:02 +02:00
i2c-isa.h
i2c-ocores.h
i2c-pnx.h
i2c-pxa.h
i2c.h i2c: Fix the i2c_smbus_read_i2c_block_data() prototype 2007-07-12 14:12:29 +02:00
i2o-dev.h
i2o.h Use mutexes instead of semaphores in I2O driver 2007-07-16 09:05:41 -07:00
i8k.h
ibmtr.h
icmp.h
icmpv6.h
ide.h ide: add short cables support 2007-07-09 23:17:58 +02:00
idr.h lib: add idr_remove_all 2007-07-16 09:05:34 -07:00
ieee80211.h [PATCH] mac80211: ERP IE handling improvements 2007-07-12 16:07:26 -04:00
if.h
if_addr.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 Add constant for FCS/CRC length (frame check sequence) 2007-05-21 19:41:19 -04:00
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_link.h [VLAN]: Use rtnl_link API 2007-07-10 22:15:03 -07:00
if_ltalk.h
if_macvlan.h [NET]: Add macvlan driver 2007-07-14 18:55:06 -07:00
if_packet.h
if_plip.h
if_ppp.h [L2TP]: Changes to existing ppp and socket kernel headers for L2TP 2007-07-10 22:15:58 -07:00
if_pppol2tp.h [L2TP]: Changes to existing ppp and socket kernel headers for L2TP 2007-07-10 22:15:58 -07:00
if_pppox.h [L2TP]: Changes to existing ppp and socket kernel headers for L2TP 2007-07-10 22:15:58 -07:00
if_shaper.h
if_slip.h
if_strip.h
if_tr.h
if_tun.h [NET]: Allow group ownership of TUN/TAP devices. 2007-07-10 22:16:42 -07:00
if_tunnel.h
if_vlan.h [VLAN]: Use multicast list synchronization helpers 2007-07-14 18:53:28 -07:00
if_wanpipe.h
igmp.h
in.h
in6.h
in_route.h
inet.h
inet_diag.h
inetdevice.h [IPV4]: include sysctl.h from inetdevice.h 2007-06-22 17:04:27 -07:00
init.h Remove final two references to "__obsolete_setup" macro 2007-07-16 09:05:48 -07:00
init_task.h user namespace: add the framework 2007-07-16 09:05:47 -07:00
initrd.h
inotify.h
input-polldev.h
input.h Input: convert from class devices to standard devices 2007-07-10 00:35:17 -04:00
interrupt.h Add hard_irq_disable() 2007-05-11 08:29:34 -07:00
io.h uninline check_signature() 2007-07-16 09:05:50 -07:00
ioc3.h
ioc4.h
ioctl.h
ioport.h
ioprio.h cfq-iosched: fix async queue behaviour 2007-07-10 13:43:25 +02:00
ip.h
ip6_tunnel.h
ipc.h remove CONFIG_UTS_NS and CONFIG_IPC_NS 2007-07-16 09:05:47 -07:00
ipmi.h
ipmi_msgdefs.h
ipmi_smi.h
ipsec.h
ipv6.h [IPV6]: Make IPV6_{RECV,2292}RTHDR boolean options. 2007-07-10 22:56:31 -07:00
ipv6_route.h
ipx.h
irda.h [IrDA]: Monitor mode. 2007-07-10 22:16:44 -07:00
irq.h Improve behaviour of spurious IRQ detect 2007-07-16 09:05:46 -07:00
irq_cpustat.h
irqflags.h
irqreturn.h
isa.h
isapnp.h
isdn.h
isdn_divertif.h sanitize linux/isdn_divertif.h for userspace 2007-05-08 11:15:16 -07:00
isdn_ppp.h
isdnif.h
isicom.h
iso_fs.h
istallion.h
ixjuser.h
jbd.h
jbd2.h jbd2: Fix CONFIG_JBD_DEBUG ifdef to be CONFIG_JBD2_DEBUG 2007-07-18 08:57:06 -04:00
jffs2.h
jhash.h
jiffies.h
journal-head.h
joystick.h
kallsyms.h kallsyms: make KSYM_NAME_LEN include space for trailing '\0' 2007-07-17 10:23:03 -07:00
kbd_diacr.h
kbd_kern.h
Kbuild Drop an empty isicom.h from being exported to user space. 2007-07-16 09:05:46 -07:00
kd.h
kdebug.h move die notifier handling to common code 2007-05-08 11:15:04 -07:00
kdev_t.h
kernel.h Report that kernel is tainted if there was an OOPS 2007-07-17 10:23:02 -07:00
kernel_stat.h
kernelcapi.h Use mutex instead of semaphore in CAPI 2.0 driver 2007-07-17 10:23:05 -07:00
kexec.h kdump/kexec: calculate note size at compile time 2007-05-08 11:15:07 -07:00
key-ui.h
key.h
keyboard.h
keyctl.h
kfifo.h
klist.h
kmalloc_sizes.h Slab allocators: define common size limitations 2007-05-17 05:23:04 -07:00
kmod.h usermodehelper: Tidy up waiting 2007-07-18 08:47:40 -07:00
kobj_map.h
kobject.h Driver core: accept all valid action-strings in uevent-trigger 2007-07-18 15:49:49 -07:00
kprobes.h Kprobes: The ON/OFF knob thru debugfs 2007-05-08 11:15:19 -07:00
kref.h
ks0108.h
kthread.h kthread: don't depend on work queues 2007-05-09 12:30:53 -07:00
ktime.h [KTIME]: Introduce ktime_add_us 2007-07-10 22:15:26 -07:00
kvm.h KVM: Remove unused 'instruction_length' 2007-05-03 10:52:32 +03:00
kvm_para.h
lapb.h
latency.h
lcd.h
leds.h Remove unnecessary includes of spinlock.h under include/linux 2007-07-16 09:05:42 -07:00
libata.h libata: clean up horkage handling 2007-07-10 21:30:33 -04:00
libps2.h
license.h
limits.h Remove CHILD_MAX 2007-07-17 10:23:03 -07:00
linkage.h
linux_logo.h fbdev: Add fb_append_extra_logo() 2007-07-17 10:23:13 -07:00
list.h include/linux: trivial repair whitespace damage 2007-05-12 18:11:06 -07:00
llc.h
lm_interface.h
lock_dlm_plock.h
lockdep.h
log2.h Fix roundup_pow_of_two(1) 2007-05-18 20:46:30 -07:00
loop.h remove artificial software max_loop limit 2007-05-08 11:15:07 -07:00
lp.h
lzo.h LZO1X: fix lzo1x_worst_compress 2007-07-16 09:05:34 -07:00
m41t00.h
m48t86.h
magic.h KVM: Remove kvmfs in favor of the anonymous inodes source 2007-07-16 12:05:49 +03:00
major.h xen: add virtual block device driver. 2007-07-18 08:47:45 -07:00
matroxfb.h
mbcache.h
mc6821.h
mc146818rtc.h rtc-cmos wakeup interface 2007-05-08 11:15:18 -07:00
mca-legacy.h
mca.h mca: add integrated device bus matching 2007-05-09 12:30:49 -07:00
memory.h
memory_hotplug.h
mempolicy.h Allow huge page allocations to use GFP_HIGH_MOVABLE 2007-07-17 10:22:59 -07:00
mempool.h
meye.h include files: convert "include" subdirectory to UTF-8 2007-05-09 08:58:21 +02:00
migrate.h page migration: Only migrate pages if allocation in the highest zone is possible 2007-05-07 12:12:57 -07:00
mii.h [NET]: Fix BMSR_100{HALF,FULL}2 defines in linux/mii.h 2007-05-17 14:20:29 -07:00
minix_fs.h
miscdevice.h KVM: Use own minor number 2007-05-03 10:52:22 +03:00
mm.h mm: fix fault vs invalidate race for linear mappings 2007-07-19 10:04:41 -07:00
mm_inline.h
mm_types.h slub: support concurrent local and remote frees and allocs on a slab 2007-05-10 09:26:52 -07:00
mman.h
mmtimer.h
mmzone.h Lumpy Reclaim V4 2007-07-17 10:22:59 -07:00
mnt_namespace.h namespace: ensure clone_flags are always stored in an unsigned long 2007-07-16 09:05:48 -07:00
mod_devicetable.h kbuild: remove dependency on input.h from file2alias 2007-05-02 20:58:08 +02:00
module.h Remove unnecessary includes of spinlock.h under include/linux 2007-07-16 09:05:42 -07:00
moduleloader.h
moduleparam.h
mount.h Fix misspellings collected by members of KJ list. 2007-05-09 07:14:03 +02:00
mpage.h consolidate generic_writepages and mpage_writepages 2007-05-11 08:29:35 -07:00
mqueue.h
mroute.h
msdos_fs.h fat: gcc 4.3 warning fix 2007-07-16 09:05:42 -07:00
msg.h
msi.h MSI: Give archs the option to free all MSI/Xs at once. 2007-05-02 19:02:38 -07:00
mtio.h
mutex-debug.h
mutex.h mutex_lock_interruptible(): add __must_check 2007-05-09 12:30:49 -07:00
mv643xx.h [MIPS] Delete Ocelot 3 support. 2007-07-10 17:33:05 +01:00
n_r3964.h
namei.h
nbd.h
ncp.h
ncp_fs.h Remove the last few UMSDOS leftovers 2007-07-16 09:05:51 -07:00
ncp_fs_i.h
ncp_fs_sb.h
ncp_mount.h
ncp_no.h
neighbour.h
net.h
netdevice.h [NET]: move dev_mc_discard from dev_mcast.c to dev.c 2007-07-18 02:10:54 -07:00
netfilter.h [NETFILTER]: nfnetlink_queue: don't unregister handler of other subsystem 2007-07-10 22:18:21 -07:00
netfilter_arp.h
netfilter_bridge.h [NETFILTER]: bridge netfilter: consolidate header pushing/pulling code 2007-05-03 03:36:16 -07:00
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h [NETLINK]: Remove references to process ID 2007-05-05 11:42:03 -07:00
netpoll.h
netrom.h
nfs.h
nfs2.h
nfs3.h
nfs4.h NFS4: on a O_EXCL OPEN make sure SETATTR sets the fields holding the verifier 2007-07-10 23:40:25 -04:00
nfs4_acl.h remove nfs4_acl_add_ace() 2007-05-09 12:30:54 -07:00
nfs4_mount.h NFS: Add the mount option "nosharecache" 2007-07-10 23:40:48 -04:00
nfs_fs.h NFS: Remake nfsroot_mount as a permanent part of NFS client 2007-07-10 23:40:46 -04:00
nfs_fs_i.h
nfs_fs_sb.h NFSv4: Reduce the chances of an open_owner identifier collision 2007-07-10 23:40:39 -04:00
nfs_idmap.h
nfs_mount.h NFS: Add the mount option "nosharecache" 2007-07-10 23:40:48 -04:00
nfs_page.h NFS: Remove the redundant 'dirty' and 'commit' lists from nfs_inode 2007-07-10 23:40:26 -04:00
nfs_xdr.h NFSv4: Reduce the chances of an open_owner identifier collision 2007-07-10 23:40:39 -04:00
nfsacl.h
nfsd_idmap.h
nl80211.h
nls.h
nmi.h
node.h
nodemask.h
notifier.h HOTPLUG: Add CPU_DYING notifier 2007-07-16 12:05:49 +03:00
nsc_gpio.h
nsproxy.h namespace: ensure clone_flags are always stored in an unsigned long 2007-07-16 09:05:48 -07:00
nubus.h NuBus header update 2007-05-04 17:59:07 -07:00
numa.h
nvram.h
oom.h
oprofile.h
page-flags.h xen: add pinned page flag 2007-07-18 08:47:43 -07:00
pagemap.h Factor outstanding I/O error handling 2007-05-08 11:14:57 -07:00
pagevec.h
param.h
parport.h parport->dev driver model support 2007-05-08 11:15:05 -07:00
parport_pc.h parport->dev driver model support 2007-05-08 11:15:05 -07:00
parser.h Fix nfsroot build 2007-05-05 14:15:32 -07:00
pata_platform.h Add irq_flags to struct pata_platform_info 2007-07-09 12:17:34 -04:00
patchkey.h
pci-acpi.h
pci.h fix jvc cdrom drive lockup 2007-07-16 09:05:40 -07:00
pci_hotplug.h remove "struct subsystem" as it is no longer needed 2007-05-02 18:57:59 -07:00
pci_ids.h Merge branch 'ioat-md-accel-for-linus' of git://lost.foo-projects.org/~dwillia2/git/iop 2007-07-13 10:52:27 -07:00
pci_regs.h
pcieport_if.h
pda_power.h [BATTERY] pda_power platform driver 2007-07-10 11:25:59 +01:00
percpu.h Remove unnecessary includes of spinlock.h under include/linux 2007-07-16 09:05:42 -07:00
percpu_counter.h percpu_counters(): use cpu notifiers 2007-07-16 09:05:41 -07:00
personality.h
pfkeyv2.h
pfn.h
pg.h
phantom.h Misc: add sensable phantom driver 2007-05-08 11:15:14 -07:00
phonedev.h
phy.h
pid.h statically initialize struct pid for swapper 2007-05-11 08:29:35 -07:00
pid_namespace.h namespace: ensure clone_flags are always stored in an unsigned long 2007-07-16 09:05:48 -07:00
pipe_fs_i.h pipe: add documentation and comments 2007-07-10 08:04:16 +02:00
pkt_cls.h [NET_SCHED]: ematch: module autoloading 2007-07-11 19:46:26 -07:00
pkt_sched.h [SCHED]: Qdisc changes and sch_rr added for multiqueue 2007-07-10 22:16:22 -07:00
pktcdvd.h
platform_device.h
plist.h
pm.h PM: remove deprecated dpm_runtime_* routines 2007-07-18 15:49:49 -07:00
pm_legacy.h
pmu.h [POWERPC] pmu_sys_suspended is only defined for PPC32 2007-05-10 21:28:13 +10:00
pnp.h PNP: notice whether we have PNP devices (PNPBIOS or PNPACPI) 2007-05-08 11:15:23 -07:00
pnpbios.h
poison.h Increase slab redzone to 64bits 2007-05-08 11:14:57 -07:00
poll.h
posix-timers.h
posix_acl.h
posix_acl_xattr.h
posix_types.h
power_supply.h [BATTERY] Universal power supply class (was: battery class) 2007-07-10 11:25:44 +01:00
ppdev.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
prctl.h move seccomp from /proc to a prctl 2007-07-16 09:05:50 -07:00
preempt.h
prefetch.h fix typo in prefetch.h 2007-07-16 09:05:46 -07:00
prio_tree.h
proc_fs.h Fix rmmod/read/write races in /proc entries 2007-07-16 09:05:39 -07:00
profile.h
ps2esdi.h
ptrace.h PTRACE_POKEDATA consolidation 2007-07-17 10:23:03 -07:00
qnx4_fs.h
qnxtypes.h
quicklist.h Quicklists for page table pages 2007-05-07 12:12:54 -07:00
quota.h hide spinlock in linux/quota.h behind __KERNEL__ 2007-05-08 11:15:15 -07:00
quotaio_v1.h
quotaio_v2.h
quotaops.h make remove_inode_dquot_ref() static 2007-05-08 11:15:05 -07:00
radeonfb.h
radix-tree.h Fix occurrences of "the the " 2007-05-09 08:57:56 +02:00
raid_class.h
ramfs.h
random.h
raw.h
rbtree.h
rcupdate.h
reboot.h Add common orderly_poweroff() 2007-07-18 08:47:40 -07:00
reciprocal_div.h
reiserfs_acl.h
reiserfs_fs.h
reiserfs_fs_i.h
reiserfs_fs_sb.h reiserfs: shrink superblock if no xattrs 2007-05-08 11:15:00 -07:00
reiserfs_xattr.h
relay.h relay: use plain timer instead of delayed work 2007-05-09 12:30:51 -07:00
resource.h
resume-trace.h
rfkill.h [RFKILL]: Make rfkill->name const 2007-06-07 13:39:34 -07:00
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h mm: more rmap checking 2007-05-17 05:23:06 -07:00
romfs_fs.h
root_dev.h
rose.h
route.h
rslib.h [RSLIB] Support non-canonical GF representations 2007-05-02 11:56:33 +01:00
rtc-v3020.h
rtc.h revert "rtc: Add rtc_merge_alarm()" 2007-05-08 11:15:18 -07:00
rtmutex.h
rtnetlink.h [RTNETLINK]: Fix rtnetlink compat attribute patch 2007-07-10 22:15:40 -07:00
rwsem-spinlock.h
rwsem.h
rxrpc.h
sc26198.h
scatterlist.h
scc.h
sched.h user namespace: add unshare 2007-07-16 09:05:47 -07:00
screen_info.h Clean up struct screen_info (<linux/screen_info.h>) 2007-07-12 10:55:54 -07:00
sctp.h
scx200.h
scx200_gpio.h Remove unnecessary includes of spinlock.h under include/linux 2007-07-16 09:05:42 -07:00
sdla.h
seccomp.h make seccomp zerocost in schedule 2007-07-16 09:05:50 -07:00
securebits.h
security.h security: Protection for exploiting null dereference using mmap 2007-07-11 22:52:29 -04:00
selection.h
selinux.h
selinux_netlink.h
sem.h
seq_file.h Make common helpers for seq_files that work with list_heads 2007-07-10 17:51:13 -07:00
seqlock.h
serial.h serial: convert early_uart to earlycon for 8250 2007-07-16 09:05:35 -07:00
serial167.h
serial_8250.h serial: add early_serial_setup() back to header file 2007-07-18 08:38:22 -07:00
serial_core.h zs: move to the serial subsystem 2007-07-18 08:38:22 -07:00
serial_pnx8xxx.h
serial_reg.h serial driver PMC MSP71xx 2007-05-07 12:12:50 -07:00
serialP.h
serio.h i2c: New bus driver for the TAOS evaluation modules 2007-07-12 14:12:31 +02:00
shm.h
shmem_fs.h
signal.h Remove unnecessary includes of spinlock.h under include/linux 2007-07-16 09:05:42 -07:00
signalfd.h signal/timer/event: signalfd core 2007-05-11 08:29:36 -07:00
skbuff.h fix return type of skb_checksum_complete() 2007-07-15 16:40:51 -07:00
slab.h Slab allocators: Cleanup zeroing allocations 2007-07-17 10:23:01 -07:00
slab_def.h Slab allocators: Cleanup zeroing allocations 2007-07-17 10:23:01 -07:00
slob_def.h slob: Kill off duplicate kzalloc() definition. 2007-07-17 17:26:43 -07:00
slub_def.h Slab allocators: Cleanup zeroing allocations 2007-07-17 10:23:01 -07:00
sm501-regs.h SM501: Check SM501 ID register on initialisation 2007-06-24 08:59:11 -07:00
sm501.h
smb.h
smb_fs.h Fix headers check fallout 2007-05-21 21:47:27 -07:00
smb_fs_i.h
smb_fs_sb.h
smb_mount.h
smbno.h
smp.h smp_call_function_single() should be a macro on UP 2007-07-17 14:39:19 -07:00
smp_lock.h Remove unnecessary includes of spinlock.h under include/linux 2007-07-16 09:05:42 -07:00
snmp.h [SNMP]: Add definitions for {In,Out}BcastPkts 2007-04-30 00:58:19 -07:00
socket.h O_CLOEXEC for SCM_RIGHTS 2007-07-16 09:05:45 -07:00
sockios.h
som.h
sonet.h
sony-laptop.h
sonypi.h remove sonypi_camera_command() 2007-07-16 09:05:46 -07:00
sort.h
sound.h
soundcard.h
spinlock.h introduce write_trylock_irqsave() 2007-07-16 09:05:40 -07:00
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types.h Document SPIN_LOCK_UNLOCKED/RW_LOCK_UNLOCKED deprecation 2007-05-08 11:15:11 -07:00
spinlock_types_up.h
spinlock_up.h
splice.h pipe: allow passing around of ops private pointer 2007-07-10 08:04:14 +02:00
srcu.h
stacktrace.h simplify the stacktrace code 2007-05-08 11:14:58 -07:00
stallion.h
start_kernel.h
stat.h utimensat implementation 2007-05-08 11:15:18 -07:00
statfs.h
stddef.h
stop_machine.h
string.h add argv_split() 2007-07-18 08:47:40 -07:00
stringify.h
superhyway.h
suspend.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2007-05-09 12:56:01 -07:00
svga.h svgalib: move fb_get_caps to svgalib 2007-05-09 12:30:57 -07:00
swap.h Lumpy Reclaim V4 2007-07-17 10:22:59 -07:00
swapops.h
synclink.h synclink_gt: add compat_ioctl 2007-05-11 08:29:34 -07:00
sys.h
syscalls.h sys_fallocate() implementation on i386, x86_64 and powerpc 2007-07-17 21:42:44 -04:00
sysctl.h
sysdev.h sysfs: kill unnecessary attribute->owner 2007-07-11 16:09:06 -07:00
sysfs.h sysfs: add parameter "struct bin_attribute *" in .read/.write methods for sysfs binary attributes 2007-07-11 16:09:09 -07:00
sysrq.h
sysv_fs.h
task_io_accounting.h
task_io_accounting_ops.h Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
taskstats.h taskstats: add context-switch counters 2007-07-16 09:05:46 -07:00
taskstats_kern.h
tc.h
tcp.h
telephony.h
termios.h
textsearch.h
textsearch_fsm.h
tfrc.h
thread_info.h
threads.h
ticable.h
tick.h
tifm.h disable socket power in adapter driver instead of media one 2007-05-08 22:41:47 +02:00
time.h make timespec_equal() take const arguments 2007-07-17 10:23:03 -07:00
timer.h Add a flag to indicate deferrable timers in /proc/timer_stats 2007-07-16 09:05:45 -07:00
timerfd.h signal/timer/event: timerfd core 2007-05-11 08:29:36 -07:00
times.h
timex.h
tiocl.h
tipc.h
tipc_config.h
topology.h [PATCH] sched: small topology.h cleanup 2007-07-13 10:11:52 -07:00
toshiba.h
transport_class.h
trdevice.h
tsacct_kern.h
tty.h Audit: add TTY input auditing 2007-07-16 09:05:47 -07:00
tty_driver.h tty: add compat_ioctl 2007-05-11 08:29:35 -07:00
tty_flip.h
tty_ldisc.h tty: add compat_ioctl 2007-05-11 08:29:35 -07:00
types.h
uaccess.h
udf_fs.h
udf_fs_i.h
udf_fs_sb.h
udp.h [UDP]: Introduce UDP encapsulation type for L2TP 2007-07-10 22:15:57 -07:00
ufs_fs.h
ufs_fs_i.h
ufs_fs_sb.h
uinput.h Input: pull input.h into uinpit.h 2007-05-03 00:55:34 -04:00
uio.h remove odd and misleading comments from uio.h 2007-07-16 09:05:45 -07:00
uio_driver.h UIO: Add the User IO core code 2007-07-18 15:57:15 -07:00
ultrasound.h
umem.h
un.h
unistd.h
unwind.h
usb.h USB: add IAD support to usbfs and sysfs 2007-07-12 16:34:40 -07:00
usb_gadget.h usb gadget stack: remove usb_ep_*_buffer(), part 2 2007-07-12 16:34:42 -07:00
usb_sl811.h blackfin architecture 2007-05-07 12:12:58 -07:00
usb_usual.h
usbdevice_fs.h
user.h
user_namespace.h user namespace: add unshare 2007-07-16 09:05:47 -07:00
utime.h
uts.h
utsname.h namespace: ensure clone_flags are always stored in an unsigned long 2007-07-16 09:05:48 -07:00
vermagic.h
vfs.h
via.h
video_decoder.h
video_encoder.h
video_output.h
videodev.h
videodev2.h V4L/DVB (5736): Add V4L2_FBUF_CAP/FLAG_LOCAL/GLOBAL_INV_ALPHA 2007-06-08 08:21:15 -03:00
videotext.h
vmalloc.h Allocate and free vmalloc areas 2007-07-18 08:47:41 -07:00
vmstat.h Create the ZONE_MOVABLE zone 2007-07-17 10:22:59 -07:00
vt.h
vt_buffer.h
vt_kern.h vt: add comment for unbind_con_driver() 2007-07-17 10:23:11 -07:00
wait.h sched: clean up sleep_on() APIs 2007-07-09 18:52:01 +02:00
wanrouter.h
watchdog.h
wireless.h
workqueue.h make cancel_xxx_work_sync() return a boolean 2007-07-16 09:05:51 -07:00
writeback.h Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
x25.h
xattr.h
xfrm.h [XFRM] SPD info TLV aggregation 2007-05-04 12:55:39 -07:00
yam.h
zconf.h
zlib.h
zorro.h
zorro_ids.h
zutil.h