linux-stable/include/linux
Hugh Dickins 9ba6929480 ksm: fix oom deadlock
There's a now-obvious deadlock in KSM's out-of-memory handling:
imagine ksmd or KSM_RUN_UNMERGE handling, holding ksm_thread_mutex,
trying to allocate a page to break KSM in an mm which becomes the
OOM victim (quite likely in the unmerge case): it's killed and goes
to exit, and hangs there waiting to acquire ksm_thread_mutex.

Clearly we must not require ksm_thread_mutex in __ksm_exit, simple
though that made everything else: perhaps use mmap_sem somehow?
And part of the answer lies in the comments on unmerge_ksm_pages:
__ksm_exit should also leave all the rmap_item removal to ksmd.

But there's a fundamental problem, that KSM relies upon mmap_sem to
guarantee the consistency of the mm it's dealing with, yet exit_mmap
tears down an mm without taking mmap_sem.  And bumping mm_users won't
help at all, that just ensures that the pages the OOM killer assumes
are on their way to being freed will not be freed.

The best answer seems to be, to move the ksm_exit callout from just
before exit_mmap, to the middle of exit_mmap: after the mm's pages
have been freed (if the mmu_gather is flushed), but before its page
tables and vma structures have been freed; and down_write,up_write
mmap_sem there to serialize with KSM's own reliance on mmap_sem.

But KSM then needs to be careful, whenever it downs mmap_sem, to
check that the mm is not already exiting: there's a danger of using
find_vma on a layout that's being torn apart, or writing into page
tables which have been freed for reuse; and even do_anonymous_page
and __do_fault need to check they're not being called by break_ksm
to reinstate a pte after zap_pte_range has zapped that page table.

Though it might be clearer to add an exiting flag, set while holding
mmap_sem in __ksm_exit, that wouldn't cover the issue of reinstating
a zapped pte.  All we need is to check whether mm_users is 0 - but
must remember that ksmd may detect that before __ksm_exit is reached.
So, ksm_test_exit(mm) added to comment such checks on mm->mm_users.

__ksm_exit now has to leave clearing up the rmap_items to ksmd,
that needs ksm_thread_mutex; but shift the exiting mm just after the
ksm_scan cursor so that it will soon be dealt with.  __ksm_enter raise
mm_count to hold the mm_struct, ksmd's exit processing (exactly like
its processing when it finds all VM_MERGEABLEs unmapped) mmdrop it,
similar procedure for KSM_RUN_UNMERGE (which has stopped ksmd).

But also give __ksm_exit a fast path: when there's no complication
(no rmap_items attached to mm and it's not at the ksm_scan cursor),
it can safely do all the exiting work itself.  This is not just an
optimization: when ksmd is not running, the raised mm_count would
otherwise leak mm_structs.

Signed-off-by: Hugh Dickins <hugh.dickins@tiscali.co.uk>
Acked-by: Izik Eidus <ieidus@redhat.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-09-22 07:17:32 -07:00
..
amba ARM: 5636/1: Move vendor enum to AMBA include 2009-09-12 11:51:14 +01:00
byteorder
can can: add can_free_echo_skb() for upcoming drivers 2009-09-04 02:16:14 -07:00
decompress bzip2/lzma/gzip: fix comments describing decompressor API 2009-08-07 10:39:56 -07:00
dvb V4L/DVB (12997): Add the DTV_ISDB_TS_ID property for ISDB_S 2009-09-19 00:51:34 -03:00
hdlc
i2c mfd: Add support for TWL4030/5030 dynamic power switching 2009-09-17 09:47:22 +02:00
input Input: matrix-keypad - add function to build device keymap 2009-08-27 22:05:39 -07:00
isdn ISDN: Add support for none reverse bitstreams to isdnhdc 2009-07-25 20:16:01 +02:00
lockd const: make lock_manager_operations const 2009-09-22 07:17:25 -07:00
mfd Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog 2009-09-18 09:47:25 -07:00
mlx4
mmc imwc3200: move iwmc3200 SDIO ids to sdio_ids.h 2009-07-26 19:25:47 -07:00
mtd Nicolas Pitre has a new email address 2009-09-15 09:37:12 -07:00
netfilter netfilter: nfnetlink: constify message attributes and headers 2009-08-25 16:07:58 +02:00
netfilter_arp netfilter: xtables: mark initial tables constant 2009-08-24 14:56:30 +02:00
netfilter_bridge netfilter: xtables: mark initial tables constant 2009-08-24 14:56:30 +02:00
netfilter_ipv4 netfilter: xtables: mark initial tables constant 2009-08-24 14:56:30 +02:00
netfilter_ipv6 netfilter: xtables: mark initial tables constant 2009-08-24 14:56:30 +02:00
nfsd Merge branch 'for-2.6.31' of git://fieldses.org/git/linux-nfsd 2009-06-22 12:55:50 -07:00
raid
regulator regulator: Provide mode to status conversion function 2009-09-17 09:47:05 +02:00
rtc
spi spi: add spi_master flag word 2009-06-30 18:56:00 -07:00
ssb ssb: Implement SDIO host bus support 2009-09-09 11:19:00 -04:00
sunrpc nfs: fix compile error in rpc_pipefs.h 2009-08-20 18:20:25 -04:00
tc_act
tc_ematch
unaligned
usb tty: USB serial termios bits 2009-09-19 13:13:33 -07:00
uwb
wimax
8250_pci.h
a.out.h
ac97_codec.h
acct.h
acpi.h Merge branches 'acerhdf', 'acpi-pci-bind', 'bjorn-pci-root', 'bugzilla-12904', 'bugzilla-13121', 'bugzilla-13396', 'bugzilla-13533', 'bugzilla-13612', 'c3_lock', 'hid-cleanups', 'misc-2.6.31', 'pdc-leak-fix', 'pnpacpi', 'power_nocheck', 'thinkpad_acpi', 'video' and 'wmi' into release 2009-06-24 01:19:50 -04:00
acpi_pmtmr.h
adb.h
adfs_fs.h
aer.h
affs_hardblocks.h
agp_backend.h intel-agp: fix sglist allocation to avoid vmalloc() 2009-08-03 09:04:57 +01:00
agpgart.h
aio.h includecheck fix: include/linux, aio.h 2009-09-20 16:09:20 +05:30
aio_abi.h
amifd.h
amifdreg.h
amigaffs.h
anon_inodes.h
apm-emulation.h
apm_bios.h
arcdevice.h netdev: convert bulk of drivers to netdev_tx_t 2009-09-01 01:14:07 -07:00
arcfb.h
async.h
async_tx.h
ata.h libata: add command name parsing for error output 2009-09-01 19:47:20 -04:00
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_pdc.h
atmel_pwm.h
atmel_serial.h
atmel_tc.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
attribute_container.h driver model: constify attribute groups 2009-09-15 09:50:47 -07:00
audit.h Audit: clean up all op= output to include string quoting 2009-06-24 00:00:52 -04:00
auto_dev-ioctl.h
auto_fs.h
auto_fs4.h
auxvec.h
ax25.h
b1lli.h
b1pcmcia.h
backing-dev.h writeback: separate starting of sync vs opportunistic writeback 2009-09-16 15:18:52 +02:00
backlight.h
baycom.h
bcd.h
bfs_fs.h
binfmts.h exec: do not sleep in TASK_TRACED under ->cred_guard_mutex 2009-09-05 11:30:42 -07:00
bio.h bio: first step in sanitizing the bio->bi_rw flag testing 2009-09-11 14:33:31 +02:00
bit_spinlock.h
bitmap.h Make bitmask 'and' operators return a result code 2009-08-21 09:26:15 -07:00
bitops.h
bitrev.h
blk-iopoll.h block: make blk_iopoll_prep_sched() follow normal 0/1 return convention 2009-09-11 14:33:32 +02:00
blkdev.h block: use blkdev_issue_discard in blk_ioctl_discard 2009-09-14 08:24:53 +02:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bootmem.h
bottom_half.h
bpqether.h
brcmphy.h
bsg.h
buffer_head.h
bug.h
c2port.h
cache.h
can.h
capability.h
capi.h
cb710.h cb710: use SG_MITER_TO_SG/SG_MITER_FROM_SG 2009-07-31 12:28:46 +02:00
cciss_ioctl.h
cd1400.h
cdev.h
cdk.h
cdrom.h
cfag12864b.h
cgroup.h cgroup avoid permanent sleep at rmdir 2009-07-29 19:10:35 -07:00
cgroup_subsys.h
cgroupstats.h
chio.h
circ_buf.h
clk.h
clockchips.h hrtimer: Fix migration expiry check 2009-07-10 17:32:55 +02:00
clocksource.h clocksource: Resolve cpu hotplug dead lock with TSC unstable 2009-08-28 20:25:24 +02:00
cm4000_cs.h
cn_proc.h
cnt32_to_63.h
coda.h
coda_cache.h
coda_fs_i.h
coda_linux.h
coda_psdev.h
coff.h
com20020.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 connector: make callback argument type explicit 2009-07-17 10:13:21 -07:00
console.h
console_struct.h vt: drop bootmem/slab memory distinction 2009-07-16 09:19:16 -07:00
consolemap.h
const.h
cpu.h cpu hotplug: Introduce cpu_notifier() to handle !HOTPLUG_CPU case 2009-08-15 19:02:07 +02:00
cpufreq.h [CPUFREQ] Introduce global, not per core: /sys/devices/system/cpu/cpufreq 2009-09-01 12:45:14 -04:00
cpuidle.h
cpumask.h Make bitmask 'and' operators return a result code 2009-08-21 09:26:15 -07:00
cpuset.h
cramfs_fs.h
cramfs_fs_sb.h
crash_dump.h headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc7.h
crc16.h
crc32.h
crc32c.h
cred.h Creds: creds->security can be NULL is selinux is disabled 2009-09-14 12:34:07 +10:00
crypto.h crypto: ahash - Remove old_ahash_alg 2009-07-14 20:29:57 +08:00
cryptohash.h
ctype.h
cuda.h
cyclades.h serial: move delta_msr_wait into the tty_port 2009-09-19 13:13:31 -07:00
cyclomx.h
cycx_cfm.h
cycx_drv.h
cycx_x25.h
dca.h
dcache.h
dcbnl.h dcbnl: Add support for setapp/getapp commands to dcbnl 2009-09-01 01:24:30 -07:00
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h headers: taskstats_kern.h trim 2009-09-18 09:48:52 -07:00
device-mapper.h dm stripe: expose correct io hints 2009-09-04 20:40:25 +01:00
device.h Driver-Core: extend devnode callbacks to provide permissions 2009-09-19 12:50:38 -07:00
device_cgroup.h
devpts_fs.h
dio.h
dirent.h
display.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 ioctl: support cookies for udev 2009-06-22 10:12:30 +01:00
dm-kcopyd.h
dm-log-userspace.h dm log: userspace add luid to distinguish between concurrent log instances 2009-09-04 20:40:34 +01:00
dm-region-hash.h
dm9000.h
dma-attrs.h
dma-debug.h
dma-mapping.h dma: Add set_dma_mask hook to struct dma_map_ops 2009-08-28 14:24:10 +10:00
dma_remapping.h
dmaengine.h
dmapool.h
dmar.h Intel-IOMMU, intr-remap: source-id checking 2009-06-23 22:09:17 +01:00
dmi.h dmi: extend dmi_get_year() to dmi_get_date() 2009-09-08 21:17:48 -04:00
dn.h
dnotify.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
dqblk_xfs.h
ds1286.h
ds17287rtc.h
dst.h
dtlk.h cleanup console_print() 2009-09-14 17:41:42 -07:00
dw_dmac.h
dynamic_debug.h
edac.h
edd.h
eeprom_93cx6.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 elfcore.h : Fix UML build breakage 2009-07-08 09:18:05 -07:00
elfnote.h
enclosure.h [SCSI] ses: add support for enclosure component hot removal 2009-08-22 17:52:13 -05:00
err.h
errno.h
errqueue.h
etherdevice.h
ethtool.h net/ethtool: Add support for the ethtool feature to flash firmware image from a specified file. 2009-09-02 23:07:39 -07:00
eventfd.h eventfd: revised interface and cleanups 2009-06-30 18:55:58 -07:00
eventpoll.h
exportfs.h
ext2_fs.h
ext2_fs_sb.h
ext3_fs.h ext3: Get rid of extenddisksize parameter of ext3_get_blocks_handle() 2009-07-15 21:30:46 +02:00
ext3_fs_i.h switch ext3 to inode->i_acl 2009-06-24 08:17:04 -04:00
ext3_fs_sb.h
ext3_jbd.h
f75375s.h
fadvise.h
falloc.h fs: Add new pre-allocation ioctls to vfs for compatibility with legacy xfs ioctls 2009-06-24 08:15:27 -04:00
fault-inject.h
fb.h fbdev: add mutex for fb_mmap locking 2009-06-30 18:56:00 -07:00
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdreg.h
fdtable.h
fib_rules.h
fiemap.h
file.h
filter.h
fips.h
firewire-cdev.h
firewire-constants.h
firewire.h firewire: core: do not DMA-map stack addresses 2009-06-25 19:42:36 +02:00
firmware-map.h
firmware.h
flat.h
flex_array.h flex_array: convert element_nr formals to unsigned 2009-08-26 20:06:52 -07:00
font.h
freezer.h
fs.h const: make lock_manager_operations const 2009-09-22 07:17:25 -07:00
fs_enet_pd.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fscache-cache.h
fscache.h
fsl_devices.h
fsnotify.h
fsnotify_backend.h inotify: use GFP_NOFS under potential memory pressure 2009-07-21 15:26:27 -04:00
ftrace.h includecheck fix: include/linux, ftrace.h 2009-09-20 16:58:35 +05:30
ftrace_event.h tracing: Allocate the ftrace event profile buffer dynamically 2009-09-18 07:25:44 +02:00
ftrace_irq.h
fuse.h fuse: document protocol version negotiation 2009-07-08 18:17:58 +02:00
futex.h
gameport.h
gcd.h
gen_stats.h net: restore gnet_stats_basic to previous definition 2009-08-17 21:33:49 -07:00
genalloc.h
generic_acl.h
generic_serial.h
genetlink.h
genhd.h const: make block_device_operations const 2009-09-22 07:17:25 -07:00
getcpu.h
gfp.h
gfs2_ondisk.h GFS2: Add explanation of extended attr on-disk format 2009-08-25 13:44:04 +01:00
gigaset_dev.h
gpio.h
gpio_keys.h
gpio_mouse.h
hardirq.h Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-09-11 13:23:18 -07:00
hash.h
hayesesp.h serial: move delta_msr_wait into the tty_port 2009-09-19 13:13:31 -07:00
hdlc.h hdlc: convert to netdev_tx_t 2009-09-01 01:13:31 -07:00
hdlcdrv.h
hdpu_features.h
hdreg.h
hid-debug.h HID: fix debugfs build with !CONFIG_DEBUG_FS 2009-06-26 10:48:34 +02:00
hid.h Merge branches 'upstream', 'upstream-fixes' and 'debugfs' into for-linus 2009-09-13 20:09:41 +02:00
hiddev.h
hidraw.h
highmem.h
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hp_sdc.h
hpet.h
hrtimer.h Merge branch 'linus' into timers/core 2009-08-14 15:59:30 +02:00
htirq.h
hugetlb.h hugetlb: balance freeing of huge pages across nodes 2009-09-22 07:17:26 -07:00
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hysdn_if.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-dev.h
i2c-gpio.h
i2c-id.h V4L/DVB (12974): SAA7164: Remove the SAA7164 bus id, no longer required. 2009-09-19 00:16:14 -03:00
i2c-ocores.h
i2c-pca-platform.h
i2c-pnx.h
i2c-pxa.h
i2c.h i2c: New macro to initialize i2c address lists on the fly 2009-06-19 16:58:21 +02:00
i2o-dev.h
i2o.h
i8k.h
i7300_idle.h
i8042.h
ibmtr.h
icmp.h
icmpv6.h net: include/linux/icmpv6: includecheck fix for icmpv6.h 2009-08-12 22:13:15 -07:00
ide.h ide: convert to ->proc_fops 2009-09-01 17:52:57 -07:00
idr.h
ieee80211.h mac80211: Update mesh config IE to 11s draft 3.02 2009-08-28 14:40:24 -04:00
if.h
if_addr.h ipv6: Add IFA_F_DADFAILED flag 2009-09-11 12:54:58 -07:00
if_addrlabel.h
if_arcnet.h
if_arp.h Drop ARPHRD_IEEE802154_PHY 2009-08-19 23:08:24 +04:00
if_bonding.h
if_bridge.h
if_cablemodem.h
if_ec.h
if_eql.h
if_ether.h net: deprecate print_mac 2009-07-26 19:25:44 -07:00
if_fc.h
if_fddi.h
if_frad.h wan: dlci/sdla transmit return dehacking 2009-09-07 01:56:33 -07:00
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_pppox.h
if_slip.h
if_strip.h
if_tr.h
if_tun.h tun: Allow tap device to send/receive UFO packets. 2009-07-17 10:11:00 -07:00
if_tunnel.h
if_vlan.h
igmp.h bonding: remap muticast addresses without using dev_close() and dev_open() 2009-09-15 02:37:40 -07:00
ihex.h
ima.h integrity: add ima_counts_put (updated) 2009-06-29 08:59:10 +10:00
in.h
in6.h
in_route.h
inet.h
inet_diag.h
inet_lro.h
inetdevice.h ip: fix logic of reverse path filter sysctl 2009-07-27 18:39:45 -07:00
init.h x86: properly annotate alternatives.c 2009-08-21 15:30:12 -07:00
init_ohci1394_dma.h
init_task.h perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
initrd.h
inotify.h
input-polldev.h
input.h Input: synaptics - add support for reporting x/y resolution 2009-06-19 22:55:17 -07:00
intel-iommu.h
interrupt.h Merge branch 'for-2.6.32' of git://git.kernel.dk/linux-2.6-block 2009-09-14 17:55:15 -07:00
io-mapping.h x86, pat: Add PAT reserve free to io_mapping* APIs 2009-08-26 15:41:16 -07:00
io.h
ioc3.h
ioc4.h
iocontext.h io context: fix ref counting 2009-07-31 08:55:48 +02:00
ioctl.h
iommu-helper.h
iommu.h
ioport.h
ioprio.h
iova.h
ip.h
ip6_tunnel.h
ip_vs.h
ipc.h
ipc_namespace.h
ipmi.h
ipmi_msgdefs.h
ipmi_smi.h
ipsec.h
ipv6.h
ipv6_route.h
ipx.h
irda.h
irq.h Merge branch 'irq-threaded-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-09-11 13:21:31 -07:00
irq_cpustat.h
irqflags.h
irqnr.h irq: Add irq_node() primitive 2009-08-29 15:53:00 +02:00
irqreturn.h
isa.h
isapnp.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 jbd: Journal block numbers can ever be only 32-bit use unsigned int for them 2009-09-16 17:44:10 +02:00
jbd2.h jbd2: bitfields should be unsigned 2009-08-17 22:38:04 -04:00
jffs2.h
jhash.h
jiffies.h
journal-head.h
joystick.h
kallsyms.h
kbd_diacr.h
kbd_kern.h
Kbuild KVM: export kvm_para.h 2009-09-10 10:46:47 +03:00
kbuild.h
kd.h
kdebug.h
kdev_t.h
kernel.h sched: Add a preempt count base offset to __might_sleep() 2009-07-18 15:51:42 +02:00
kernel_stat.h
kernelcapi.h
kexec.h
key-type.h
key.h KEYS: Add a keyctl to install a process's session keyring on its parent [try #6] 2009-09-02 21:29:22 +10:00
keyboard.h
keyctl.h KEYS: Add a keyctl to install a process's session keyring on its parent [try #6] 2009-09-02 21:29:22 +10:00
kfifo.h kfifo: Use "const" definitions 2009-09-19 13:13:17 -07:00
kgdb.h
klist.h
kmalloc_sizes.h
kmemcheck.h kmemleak: Don't scan uninitialized memory when kmemcheck is enabled 2009-09-04 16:05:55 +01:00
kmemleak.h kmemleak: Mark the early log buffer as __initdata 2009-08-27 14:29:16 +01:00
kmemtrace.h
kmod.h
kobj_map.h
kobject.h
kprobes.h tracing: remove notrace from __kprobes annotation 2009-09-15 23:51:31 -04:00
kref.h
ks0108.h
ksm.h ksm: fix oom deadlock 2009-09-22 07:17:32 -07:00
kthread.h
ktime.h
kvm.h KVM: VMX: Introduce KVM_SET_IDENTITY_MAP_ADDR ioctl 2009-09-10 08:33:16 +03:00
kvm_host.h tracing: Remove markers 2009-09-18 21:22:08 +02:00
kvm_para.h KVM: x86: Disallow hypercalls for guest callers in rings > 0 2009-09-10 08:33:20 +03:00
kvm_types.h
lapb.h
latencytop.h
lcd.h
leds-bd2802.h
leds-lp3944.h leds: LED driver for National Semiconductor LP3944 Funlight Chip 2009-06-23 20:21:38 +01:00
leds-pca9532.h
leds.h leds: Futher document blink_set 2009-06-23 20:21:39 +01:00
leds_pwm.h
lguest.h lguest and virtio: cleanup struct definitions to Linux style. 2009-07-30 16:03:46 +09:30
lguest_launcher.h lguest: fix comment style 2009-07-30 16:03:45 +09:30
libata.h libata: remove spindown skipping and warning 2009-09-01 19:47:20 -04:00
libps2.h Input: add new driver for Sentelic Finger Sensing Pad 2009-08-19 21:46:09 -07:00
license.h
limits.h
linkage.h Add new macros for page-aligned data and bss sections. 2009-06-26 23:58:39 +02:00
linux_logo.h
lis3lv02d.h
list.h
list_nulls.h
llc.h
lmb.h lmb: Also remove __init from lmb_end_of_RAM() declaration in lmb.h 2009-08-31 17:30:14 -10:00
lockdep.h lockdep: Reintroduce generation count to make BFS faster 2009-08-02 15:41:37 +02:00
log2.h
loop.h
lp.h
lsm_audit.h SELinux: Convert avc_audit to use lsm_audit.h 2009-08-17 08:37:18 +10:00
lzo.h
m48t86.h
magic.h
major.h
map_to_7segment.h
maple.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 mdio: mdio_if_info::mmds should not be __bitwise 2009-08-18 20:13:03 -07:00
memcontrol.h
memory.h
memory_hotplug.h
mempolicy.h
mempool.h
memstick.h
meye.h
mg_disk.h
migrate.h
mii.h
minix_fs.h
miscdevice.h Driver-Core: extend devnode callbacks to provide permissions 2009-09-19 12:50:38 -07:00
mISDNdsp.h
mISDNhw.h mISDN: Make clearing B-channel a common function 2009-07-25 20:18:16 +02:00
mISDNif.h mISDN: Add support for Speedfax+ cards 2009-07-25 20:19:25 +02:00
mm.h ksm: the mm interface to ksm 2009-09-22 07:17:31 -07:00
mm_inline.h
mm_types.h mm: revert "oom: move oom_adj value" 2009-08-18 16:31:13 -07:00
mman.h
mmdebug.h
mmiotrace.h
mmtimer.h
mmu_notifier.h ksm: add mmu_notifier set_pte_at_notify() 2009-09-22 07:17:31 -07:00
mmzone.h mm: vmstat: add isolate pages 2009-09-22 07:17:29 -07:00
mnt_namespace.h headers: mnt_namespace.h redux 2009-07-08 09:31:56 -07:00
mod_devicetable.h
module.h tracing: Remove markers 2009-09-18 21:22:08 +02:00
moduleloader.h
moduleparam.h
mount.h
mpage.h
mqueue.h
mroute.h
mroute6.h
msdos_fs.h
msg.h
msi.h
mtio.h
mutex-debug.h
mutex.h
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
n_r3964.h
namei.h
nbd.h
ncp.h
ncp_fs.h
ncp_fs_i.h
ncp_fs_sb.h
ncp_mount.h
ncp_no.h
neighbour.h
net.h [PATCH] net: kmemcheck annotation in struct socket 2009-09-15 02:39:20 -07:00
net_dropmon.h dropmon: remove duplicated #include 2009-07-12 20:11:17 -07:00
net_tstamp.h
netdevice.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2009-09-17 20:53:52 -07:00
netfilter.h
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h genetlink: fix netns vs. netlink table locking 2009-09-14 17:02:50 -07:00
netpoll.h
netrom.h
nfs.h
nfs2.h
nfs3.h
nfs4.h NFS: Allow the "nfs" file system type to support NFSv4 2009-09-08 19:50:03 -04:00
nfs4_acl.h
nfs4_mount.h
nfs_fs.h NFS: Fix an O_DIRECT Oops... 2009-08-12 08:21:39 -07:00
nfs_fs_i.h
nfs_fs_sb.h NFSv4: Add 'server capability' flags for NFSv4 recommended attributes 2009-08-09 15:06:19 -04:00
nfs_idmap.h
nfs_iostat.h
nfs_mount.h
nfs_page.h
nfs_xdr.h
nfsacl.h
nfsd_idmap.h
nilfs2_fs.h
nl80211.h nl80211: add generation number to all dumps 2009-08-14 09:13:43 -04:00
nl802154.h ieee802154: add support for channel pages from IEEE 802.15.4-2006 2009-08-19 23:08:22 +04:00
nls.h
nmi.h debug lockups: Improve lockup detection, fix generic arch fallback 2009-08-03 09:56:52 +02:00
node.h
nodemask.h mm: make set_mempolicy(MPOL_INTERLEAV) N_HIGH_MEMORY aware 2009-08-07 10:39:55 -07:00
notifier.h bonding: remap muticast addresses without using dev_close() and dev_open() 2009-09-15 02:37:40 -07:00
nsc_gpio.h
nsproxy.h
nubus.h
numa.h
nvram.h
nwpserial.h
of.h
of_device.h
of_gpio.h
of_i2c.h
of_mdio.h of/mdio: Add support function for Ethernet fixed-link property 2009-07-22 09:27:18 -07:00
of_platform.h
of_spi.h
oom.h
oprofile.h oprofile: Implement performance counter multiplexing 2009-07-20 16:33:53 +02:00
oxu210hp.h
page-debug-flags.h
page-flags.h mm: perform non-atomic test-clear of PG_mlocked on free 2009-09-22 07:17:30 -07:00
page-isolation.h
page_cgroup.h includecheck fix: include/linux, page_cgroup.h 2009-09-20 16:57:50 +05:30
pageblock-flags.h
pagemap.h rcu: Expunge lingering references to CONFIG_CLASSIC_RCU, optimize on !SMP 2009-08-22 13:07:09 +02:00
pagevec.h
param.h
parport.h
parport_pc.h
parser.h
patchkey.h
path.h
pci-acpi.h
pci-aspm.h
pci.h PCI PM: Introduce device flag wakeup_prepared 2009-09-09 14:19:11 -07:00
pci_hotplug.h PCI hotplug: acpiphp: use generic pci_configure_slot() 2009-09-14 17:39:12 -07:00
pci_ids.h libata: Add pata_atp867x driver for Artop/Acard ATP867X controllers 2009-09-17 16:47:06 -04:00
pci_regs.h uio: add generic driver for PCI 2.3 devices 2009-09-15 09:50:48 -07:00
pcieport_if.h
pda_power.h
percpu-defs.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2009-09-15 09:39:44 -07:00
percpu.h percpu: kill lpage first chunk allocator 2009-08-14 15:00:53 +09:00
percpu_counter.h
perf_counter.h perf: Tidy up after the big rename 2009-09-21 14:34:11 +02:00
perf_event.h perf: Tidy up after the big rename 2009-09-21 14:34:11 +02:00
personality.h personality handling: fix PER_CLEAR_ON_SETID for security reasons 2009-07-13 08:01:47 +10:00
pfkeyv2.h
pfn.h
pg.h
phantom.h
phonedev.h
phonet.h cdc-phonet: autoconfigure Phonet address 2009-09-11 12:55:10 -07:00
phy.h
phy_fixed.h
pid.h
pid_namespace.h
pim.h
pipe_fs_i.h
pkt_cls.h
pkt_sched.h
pktcdvd.h
platform_device.h PM: Remove platform device suspend_late()/resume_early() V2 2009-07-22 00:28:39 +02:00
plist.h
pm.h PM: Add convenience macro to make switching to dev_pm_ops less error-prone 2009-09-14 20:27:00 +02:00
pm_qos_params.h
pm_runtime.h PM: Introduce core framework for run-time PM of I/O devices (rev. 17) 2009-08-23 00:04:44 +02:00
pm_wakeup.h
pmu.h
pnp.h
poison.h
poll.h
posix-timers.h
posix_acl.h Get "no acls for this inode" right, fix shmem breakage 2009-06-24 16:58:48 -04:00
posix_acl_xattr.h
posix_types.h
power_supply.h
ppdev.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
pps.h pps.h needs <linux/types.h> 2009-07-29 19:10:36 -07:00
pps_kernel.h
prctl.h perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
preempt.h
prefetch.h
prio_heap.h
prio_tree.h
proc_fs.h
profile.h
proportions.h
ptrace.h
pwm.h
pwm_backlight.h
qnx4_fs.h
qnxtypes.h
quicklist.h
quota.h
quotaops.h const: make struct super_block::s_qcop const 2009-09-22 07:17:24 -07:00
radeonfb.h
radix-tree.h
raid_class.h
ramfs.h
random.h
ratelimit.h
rational.h
raw.h
rbtree.h
rculist.h
rculist_nulls.h rcu: Fix whitespace inconsistencies 2009-09-19 08:53:22 +02:00
rcupdate.h rcu: Fix whitespace inconsistencies 2009-09-19 08:53:22 +02:00
rcutree.h rcu: Fix whitespace inconsistencies 2009-09-19 08:53:22 +02:00
rds.h RDS: Add TCP transport to RDS 2009-08-23 19:13:02 -07:00
reboot.h
reciprocal_div.h
regset.h
reiserfs_acl.h switch reiserfs to inode->i_acl 2009-06-24 08:17:06 -04:00
reiserfs_fs.h
reiserfs_fs_i.h switch reiserfs to inode->i_acl 2009-06-24 08:17:06 -04:00
reiserfs_fs_sb.h
reiserfs_xattr.h
relay.h
res_counter.h
resource.h
resume-trace.h
rfkill.h rfkill: relicense header file 2009-09-01 12:48:21 -04:00
ring_buffer.h ring-buffer: only enable ring_buffer_swap_cpu when needed 2009-09-04 19:42:22 -04:00
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h ksm: no debug in page_dup_rmap() 2009-09-22 07:17:31 -07:00
romfs_fs.h
root_dev.h
rose.h
rotary_encoder.h
route.h
rslib.h
rtc-v3020.h
rtc.h
rtmutex.h
rtnetlink.h IPv6/addrconf: Fix minor addrlabel thinko 2009-09-09 03:42:23 -07:00
rwsem-spinlock.h
rwsem.h
rxrpc.h RxRPC: Declare the security index constants symbolically 2009-09-15 02:44:17 -07:00
sc26198.h
scatterlist.h lib/scatterlist: add a flags to signalize mapping direction 2009-07-31 12:28:45 +02:00
scc.h
sched.h ksm: the mm interface to ksm 2009-09-22 07:17:31 -07:00
screen_info.h
sctp.h
scx200.h
scx200_gpio.h
sdla.h
seccomp.h
securebits.h
security.h LSM/SELinux: inode_{get,set,notify}secctx hooks to access LSM security context information. 2009-09-10 10:11:24 +10:00
selection.h
selinux.h SELinux: inline selinux_is_enabled in !CONFIG_SECURITY_SELINUX 2009-09-15 11:37:33 +10:00
selinux_netlink.h
sem.h
semaphore.h
seq_file.h
seq_file_net.h
seqlock.h
serial.h serial: move the flags into the tty_port field 2009-09-19 13:13:30 -07:00
serial167.h
serial_8250.h serial: 8250: add IRQ trigger support 2009-09-19 13:13:19 -07:00
serial_core.h serial: kill USF_CLOSING_* definitions 2009-09-19 13:13:32 -07:00
serial_max3100.h
serial_pnx8xxx.h
serial_reg.h serial@ add OMAP wakeup-enable register 2009-06-22 11:32:24 -07:00
serial_sci.h
serialP.h
serio.h Input: serio - switch to using dev_pm_ops 2009-07-26 11:17:01 -07:00
sh_intc.h sh: Simplify "multi-evt" interrupt handling. 2009-08-24 19:52:38 +09:00
sh_timer.h
shm.h
shmem_fs.h Driver Core: devtmpfs - kernel-maintained tmpfs-based /dev 2009-09-15 09:50:49 -07:00
sht15.h
signal.h
signalfd.h
skbuff.h net: remove unused skb->do_not_encrypt 2009-07-24 15:05:31 -04:00
slab.h
slab_def.h
slob_def.h slab: remove duplicate kmem_cache_init_late() declarations 2009-08-06 11:36:25 +03:00
slow-work.h
slub_def.h Merge branches 'slab/cleanups' and 'slab/fixes' into for-linus 2009-09-14 20:19:06 +03:00
sm501-regs.h
sm501.h
smb.h
smb_fs.h
smb_fs_i.h
smb_fs_sb.h
smb_mount.h
smbno.h
smc91x.h
smc911x.h
smp.h
smp_lock.h
smsc911x.h
snmp.h
socket.h
sockios.h
som.h
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h locking: Simplify spinlock inlining 2009-08-31 18:08:51 +02:00
spinlock_api_smp.h locking: Simplify spinlock inlining 2009-08-31 18:08:51 +02:00
spinlock_api_up.h
spinlock_types.h
spinlock_types_up.h
spinlock_up.h
splice.h
srcu.h
stackprotector.h
stacktrace.h
stallion.h
start_kernel.h
stat.h
statfs.h
stddef.h
stop_machine.h
string.h
string_helpers.h
stringify.h
superhyway.h
suspend.h
suspend_ioctls.h
svga.h
swab.h
swap.h mm: make swap token dummies static inlines 2009-09-22 07:17:25 -07:00
swapops.h
swiotlb.h swiotlb: use phys_to_dma and dma_to_phys 2009-07-28 14:19:20 +09:00
synclink.h
sys.h
syscalls.h Merge branch 'perfcounters-rename-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-09-21 09:15:07 -07:00
sysctl.h
sysdev.h
sysfs.h
sysrq.h linux/sysrq.h needs linux/errno.h 2009-07-06 13:57:03 -07:00
sysv_fs.h
task_io_accounting.h
task_io_accounting_ops.h
taskstats.h
taskstats_kern.h headers: taskstats_kern.h trim 2009-09-18 09:48:52 -07:00
tboot.h x86, intel_txt: clean up the impact on generic code, unbreak non-x86 2009-09-01 18:25:07 -07:00
tc.h
tcp.h tcp: MD5 operations should be const 2009-09-02 01:03:43 -07:00
telephony.h
termios.h
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h
thread_info.h
threads.h
tick.h
tifm.h
time.h time: Prevent 32 bit overflow with set_normalized_timespec() 2009-09-15 10:17:30 +02:00
timecompare.h
timer.h timers: Drop a function prototype 2009-08-30 22:26:34 +02:00
timerfd.h
timeriomem-rng.h
times.h
timex.h
tiocl.h
tipc.h tipc: Add socket options to get number of queued messages 2009-07-05 19:16:11 -07:00
tipc_config.h
topology.h sched: Disable wakeup balancing 2009-09-16 16:44:33 +02:00
toshiba.h
tpm.h
trace_clock.h
trace_seq.h
tracehook.h
tracepoint.h Merge branch 'tracing/core' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into tracing/core 2009-08-26 08:29:02 +02:00
transport_class.h driver model: constify attribute groups 2009-09-15 09:50:47 -07:00
trdevice.h
tsacct_kern.h
tty.h tty: handle VT specific compat ioctls in vt driver 2009-09-19 13:13:35 -07:00
tty_driver.h
tty_flip.h
tty_ldisc.h tty-ldisc: make refcount be atomic_t 'users' count 2009-08-04 13:46:30 -07:00
typecheck.h
types.h block: rename CONFIG_LBD to CONFIG_LBDAF 2009-06-19 08:08:50 +02:00
uaccess.h
ucb1400.h Input: ucb1400_ts - enable ADC Filter 2009-08-21 00:53:12 -07:00
udf_fs_i.h
udp.h
uinput.h
uio.h uio: mark uio.h functions __KERNEL__ only 2009-07-29 19:10:39 -07:00
uio_driver.h
ultrasound.h
un.h
unistd.h
usb.h Driver-Core: extend devnode callbacks to provide permissions 2009-09-19 12:50:38 -07:00
usb_usual.h
usbdevice_fs.h
user.h
user_namespace.h
utime.h
uts.h
utsname.h
uwb.h uwb: avoid radio controller reset loops 2009-08-26 12:39:29 +01:00
vermagic.h
veth.h
vfs.h
vgaarb.h PCI/vgaarb: cleanup some warnings + cleanup some comments. 2009-09-09 13:29:41 -07:00
via.h
video_output.h
videodev.h
videodev2.h V4L/DVB (12511): V4L2: add a new V4L2_CID_BAND_STOP_FILTER integer control 2009-09-19 00:18:36 -03:00
videotext.h
virtio.h
virtio_9p.h
virtio_balloon.h
virtio_blk.h lguest and virtio: cleanup struct definitions to Linux style. 2009-07-30 16:03:46 +09:30
virtio_config.h lguest and virtio: cleanup struct definitions to Linux style. 2009-07-30 16:03:46 +09:30
virtio_console.h
virtio_net.h lguest and virtio: cleanup struct definitions to Linux style. 2009-07-30 16:03:46 +09:30
virtio_pci.h
virtio_ring.h lguest and virtio: cleanup struct definitions to Linux style. 2009-07-30 16:03:46 +09:30
virtio_rng.h
vlynq.h
vmalloc.h vmalloc: implement pcpu_get_vm_areas() 2009-08-14 15:00:52 +09:00
vmstat.h mm: count only reclaimable lru pages 2009-09-22 07:17:30 -07:00
vt.h vt: add an activate and lock 2009-09-19 13:13:26 -07:00
vt_buffer.h
vt_kern.h vt: move kernel stuff out of vt.h 2009-09-19 13:13:25 -07:00
w1-gpio.h
wait.h sched: Rename sync arguments 2009-09-15 16:51:30 +02:00
wanrouter.h
watchdog.h
wimax.h
wireless.h net/compat/wext: send different messages to compat tasks 2009-07-15 08:53:39 -07:00
wlp.h
wm97xx.h Input: wm97xx - add possibility to control the GPIO_STATUS shift 2009-07-20 22:30:33 -07:00
wm97xx_batt.h
workqueue.h workqueues: introduce __cancel_delayed_work() 2009-09-05 11:30:42 -07:00
writeback.h writeback: separate starting of sync vs opportunistic writeback 2009-09-16 15:18:52 +02:00
x25.h
xattr.h VFS: Factor out part of vfs_setxattr so it can be called from the SELinux hook for inode_setsecctx. 2009-09-10 10:11:22 +10:00
xfrm.h
xilinxfb.h
yam.h
zconf.h
zlib.h
zorro.h
zorro_ids.h
zutil.h