android_kernel_motorola_sm6375/include/linux
Repository files (latest commit first)
Filename Latest commit message Latest commit date
David Howells cc53ce53c8 Add a dentry op to allow processes to be held during pathwalk transit
Add a dentry op (d_manage) to permit a filesystem to hold a process and make it
sleep when it tries to transit away from one of that filesystem's directories
during a pathwalk.  The operation is keyed off a new dentry flag
(DCACHE_MANAGE_TRANSIT).

The filesystem is allowed to be selective about which processes it holds and
which it permits to continue on or prohibits from transiting from each flagged
directory.  This will allow autofs to hold up client processes whilst letting
its userspace daemon through to maintain the directory or the stuff behind it
or mounted upon it.

The ->d_manage() dentry operation:

	int (*d_manage)(struct path *path, bool mounting_here);

takes a pointer to the directory about to be transited away from and a flag
indicating whether the transit is undertaken by do_add_mount() or
do_move_mount() skipping through a pile of filesystems mounted on a mountpoint.

It should return 0 if successful and to let the process continue on its way;
-EISDIR to prohibit the caller from skipping to overmounted filesystems or
automounting, and to use this directory; or some other error code to return to
the user.

->d_manage() is called with namespace_sem writelocked if mounting_here is true
and no other locks held, so it may sleep.  However, if mounting_here is true,
it may not initiate or wait for a mount or unmount upon the parameter
directory, even if the act is actually performed by userspace.

Within fs/namei.c, follow_managed() is extended to check with d_manage() first
on each managed directory, before transiting away from it or attempting to
automount upon it.

follow_down() is renamed follow_down_one() and should only be used where the
filesystem deliberately intends to avoid management steps (e.g. autofs).

A new follow_down() is added that incorporates the loop done by all other
callers of follow_down() (do_add/move_mount(), autofs and NFSD; whilst AFS, NFS
and CIFS do use it, their use is removed by converting them to use
d_automount()).  The new follow_down() calls d_manage() as appropriate.  It
also takes an extra parameter to indicate if it is being called from mount code
(with namespace_sem writelocked) which it passes to d_manage().  follow_down()
ignores automount points so that it can be used to mount on them.

__follow_mount_rcu() is made to abort rcu-walk mode if it hits a directory with
DCACHE_MANAGE_TRANSIT set on the basis that we're probably going to have to
sleep.  It would be possible to enter d_manage() in rcu-walk mode too, and have
that determine whether to abort or not itself.  That would allow the autofs
daemon to continue on in rcu-walk mode.

Note that DCACHE_MANAGE_TRANSIT on a directory should be cleared when it isn't
required as every tranist from that directory will cause d_manage() to be
invoked.  It can always be set again when necessary.

==========================
WHAT THIS MEANS FOR AUTOFS
==========================

Autofs currently uses the lookup() inode op and the d_revalidate() dentry op to
trigger the automounting of indirect mounts, and both of these can be called
with i_mutex held.

autofs knows that the i_mutex will be held by the caller in lookup(), and so
can drop it before invoking the daemon - but this isn't so for d_revalidate(),
since the lock is only held on _some_ of the code paths that call it.  This
means that autofs can't risk dropping i_mutex from its d_revalidate() function
before it calls the daemon.

The bug could manifest itself as, for example, a process that's trying to
validate an automount dentry that gets made to wait because that dentry is
expired and needs cleaning up:

	mkdir         S ffffffff8014e05a     0 32580  24956
	Call Trace:
	 [<ffffffff885371fd>] :autofs4:autofs4_wait+0x674/0x897
	 [<ffffffff80127f7d>] avc_has_perm+0x46/0x58
	 [<ffffffff8009fdcf>] autoremove_wake_function+0x0/0x2e
	 [<ffffffff88537be6>] :autofs4:autofs4_expire_wait+0x41/0x6b
	 [<ffffffff88535cfc>] :autofs4:autofs4_revalidate+0x91/0x149
	 [<ffffffff80036d96>] __lookup_hash+0xa0/0x12f
	 [<ffffffff80057a2f>] lookup_create+0x46/0x80
	 [<ffffffff800e6e31>] sys_mkdirat+0x56/0xe4

versus the automount daemon which wants to remove that dentry, but can't
because the normal process is holding the i_mutex lock:

	automount     D ffffffff8014e05a     0 32581      1              32561
	Call Trace:
	 [<ffffffff80063c3f>] __mutex_lock_slowpath+0x60/0x9b
	 [<ffffffff8000ccf1>] do_path_lookup+0x2ca/0x2f1
	 [<ffffffff80063c89>] .text.lock.mutex+0xf/0x14
	 [<ffffffff800e6d55>] do_rmdir+0x77/0xde
	 [<ffffffff8005d229>] tracesys+0x71/0xe0
	 [<ffffffff8005d28d>] tracesys+0xd5/0xe0

which means that the system is deadlocked.

This patch allows autofs to hold up normal processes whilst the daemon goes
ahead and does things to the dentry tree behind the automouter point without
risking a deadlock as almost no locks are held in d_manage() and none in
d_automount().

Signed-off-by: David Howells <dhowells@redhat.com>
Was-Acked-by: Ian Kent <raven@themaw.net>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2011-01-15 20:07:31 -05:00
..
amba Merge branch 'misc' into devel 2011-01-06 22:32:52 +00:00
byteorder
caif
can
ceph net/ceph: make ceph_msgr_wq non-reentrant 2011-01-12 15:15:14 -08:00
crush
decompress decompressors: remove unused constant from inflate.h 2011-01-13 08:03:25 -08:00
dvb
hdlc
i2c hwmon: Support for Dallas Semiconductor DS620 2011-01-09 09:10:10 -08:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2011-01-13 09:58:14 -08:00
isdn
lockd lockd: Clean up nlmsvc_lookup_host() 2010-12-16 12:37:26 -05:00
mfd mfd: ab8500-core chip version cut 2.0 support 2011-01-14 12:38:18 +01:00
mlx4
mmc Merge branch 'sh/sdio' into sh-latest 2011-01-12 14:37:42 +09:00
mtd
netfilter netfilter: x_tables: dont block BH while reading counters 2011-01-10 20:11:38 +01:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
nfc NFC: Driver for NXP Semiconductors PN544 NFC chip. 2011-01-13 08:03:19 -08:00
nfsd
power power_supply: Add MAX17042 Fuel Gauge Driver 2011-01-14 18:11:59 +03:00
raid
regulator regulator: Add initial per-regulator debugfs support 2011-01-12 14:33:05 +00:00
rtc
spi Merge branch 'next-spi' of git://git.secretlab.ca/git/linux-2.6 2011-01-07 17:08:46 -08:00
ssb Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-12-26 22:37:05 -08:00
sunrpc Merge branch 'nfs-for-2.6.38' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 2011-01-11 15:11:56 -08:00
tc_act
tc_ematch
unaligned include/linux/unaligned/packed_struct.h: use __packed 2011-01-13 08:03:08 -08:00
usb Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 2011-01-07 13:16:28 -08:00
uwb
wimax
8250_pci.h
a.out.h
ac97_codec.h
acct.h
acpi.h ACPI / PM: Fix build problems for !CONFIG_ACPI related to NVS rework 2011-01-12 16:11:30 -05:00
acpi_pmtmr.h
adb.h
adfs_fs.h
aer.h
affs_hardblocks.h
agp_backend.h agp: kill agp_rebind_memory 2010-11-23 20:14:46 +00:00
agpgart.h
ahci_platform.h
aio.h
aio_abi.h
altera_jtaguart.h
altera_uart.h
amifd.h
amifdreg.h
amigaffs.h
anon_inodes.h
apm-emulation.h
apm_bios.h
arcdevice.h
arcfb.h
async.h
async_tx.h
ata.h
ata_platform.h
atalk.h
ath9k_platform.h
atm.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_suni.h
atm_tcp.h
atm_zatm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h atm: correct sysfs 'device' link creation and parent relationships 2010-12-10 15:45:05 -08:00
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
atomic.h
attribute_container.h
audit.h headers: path.h redux 2011-01-10 08:51:44 -08:00
auto_dev-ioctl.h
auto_fs.h
auto_fs4.h
auxvec.h
average.h lib: Improve EWMA efficiency by using bitshifts 2010-12-06 15:58:43 -05:00
ax25.h
b1lli.h
b1pcmcia.h
backing-dev.h
backlight.h
basic_mmio_gpio.h
baycom.h
bcd.h
bfin_mac.h netdev: bfin_mac: let boards set vlan masks 2011-01-10 13:31:14 -08:00
bfs_fs.h
binfmts.h binfmt_elf: cleanups 2011-01-13 08:03:12 -08:00
bio.h
bit_spinlock.h bit_spinlock: add required includes 2011-01-07 17:50:31 +11:00
bitmap.h
bitops.h
bitrev.h
blk-iopoll.h
blk_types.h
blkdev.h Merge branch 'for-2.6.38/core' of git://git.kernel.dk/linux-2.6-block 2011-01-13 10:45:01 -08:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bootmem.h bootmem: Add alloc_bootmem_align() 2010-12-13 16:11:13 -08:00
bottom_half.h
bpqether.h
brcmphy.h
bsg.h
btree-128.h
btree-type.h
btree.h
buffer_head.h
bug.h
c2port.h
cache.h
can.h
capability.h security: Define CAP_SYSLOG 2010-11-29 08:35:12 +11:00
capi.h
cb710.h
cciss_defs.h
cciss_ioctl.h
cd1400.h
cdev.h fs/char_dev.c: remove unused cdev_index() 2011-01-13 08:03:17 -08:00
cdk.h
cdrom.h cdrom: add ->check_events() support 2010-12-16 17:53:38 +01:00
cfag12864b.h
cgroup.h
cgroup_subsys.h
cgroupstats.h
chio.h
circ_buf.h
clk.h
clkdev.h ARM: 6483/1: arm & sh: factorised duplicated clkdev.c 2010-11-26 10:51:04 +00:00
clockchips.h
clocksource.h
cm4000_cs.h
cn_proc.h
cnt32_to_63.h clarify a usage constraint for cnt32_to_63() 2010-12-20 09:07:35 -08:00
coda.h
coda_psdev.h
coff.h
com20020.h
compaction.h thp: use compaction in kswapd for GFP_ATOMIC order > 0 2011-01-13 17:32:46 -08:00
compat.h
compiler-gcc.h
compiler-gcc3.h
compiler-gcc4.h
compiler-intel.h
compiler.h
completion.h sched: Change wait_for_completion_*_timeout() to return a signed long 2011-01-05 14:15:50 +01:00
comstats.h
concap.h
configfs.h
connector.h
console.h tty: add 'active' sysfs attribute to tty0 and console device 2010-12-16 16:15:34 -08:00
console_struct.h
consolemap.h
const.h
coredump.h
cper.h Add CPER PCIe error section structure and constants definition 2010-12-13 23:40:45 -05:00
cpu.h
cpufreq.h
cpuidle.h cpuidle: CPUIDLE_FLAG_CHECK_BM is omap3_idle specific 2011-01-12 12:47:34 -05:00
cpumask.h
cpuset.h
cramfs_fs.h cramfs: hide function prototypes behind __KERNEL__ macro 2011-01-13 08:03:22 -08:00
cramfs_fs_sb.h
crash_dump.h ARM: 6485/5: proc/vmcore - allow archs to override vmcore_elf_check_arch() 2010-11-30 13:39:55 +00:00
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc7.h
crc16.h
crc32.h
crc32c.h
cred.h
crypto.h
cryptohash.h
cs5535.h drivers/staging/olpc_dcon: convert to new cs5535 gpio API 2011-01-13 08:03:13 -08:00
ctype.h
cuda.h
cyclades.h
cyclomx.h
cycx_cfm.h
cycx_drv.h
cycx_x25.h
davinci_emac.h
dca.h
dcache.h Add a dentry op to allow processes to be held during pathwalk transit 2011-01-15 20:07:31 -05:00
dcbnl.h dcbnl: adding DCBX feature flags get-set 2010-12-31 10:50:54 -08:00
dccp.h dccp: Policy-based packet dequeueing infrastructure 2010-12-07 13:47:12 +01:00
dcookies.h headers: path.h redux 2011-01-10 08:51:44 -08:00
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
device-mapper.h dm: per target unplug callback support 2011-01-13 20:00:02 +00:00
device.h Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 2011-01-10 16:10:33 -08: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: use non reentrant workqueues if equivalent 2011-01-13 19:59:58 +00:00
dm-kcopyd.h
dm-log-userspace.h dm log userspace: add version number to comms 2011-01-13 19:59:52 +00:00
dm-region-hash.h
dm9000.h
dma-attrs.h
dma-debug.h
dma-mapping.h
dma_remapping.h
dmaengine.h dmaengine: provide dummy functions for DMA_ENGINE=n 2011-01-03 01:41:40 -08:00
dmapool.h
dmar.h dmar, x86: Use function stubs when CONFIG_INTR_REMAP is disabled 2010-11-26 09:57:36 +01:00
dmi.h
dn.h
dnotify.h
dns_resolver.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
dqblk_xfs.h
drbd.h
drbd_limits.h
drbd_nl.h
drbd_tag_magic.h
ds1286.h
ds2782_battery.h
ds17287rtc.h
dtlk.h
dw_dmac.h
dynamic_debug.h dynamic debug: Fix build issue with older gcc 2011-01-07 23:36:59 -05:00
edac.h
edac_mce.h
edd.h
eeprom_93cx6.h
efi.h
efs_fs_sb.h
efs_vh.h
eisa.h
elevator.h core: Replace __get_cpu_var with __this_cpu_read if not used for an address. 2010-12-17 15:07:19 +01:00
elf-em.h
elf-fdpic.h
elf.h
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
err.h
errno.h
errqueue.h
etherdevice.h net: Add alloc_netdev_mqs function 2011-01-10 16:05:30 -08:00
ethtool.h ethtool: Report link-down while interface is down 2010-12-10 15:55:23 -08:00
eventfd.h
eventpoll.h
exportfs.h
ext2_fs.h
ext2_fs_sb.h
ext3_fs.h ext3: speed up file creates by optimizing rec_len functions 2011-01-10 19:04:07 +01:00
ext3_fs_i.h
ext3_fs_sb.h
ext3_jbd.h
f75375s.h
fadvise.h
falloc.h fs: add hole punching to fallocate 2011-01-12 20:16:43 -05:00
fanotify.h fanotify: split version into version and metadata_len 2010-12-15 13:56:33 -05:00
fault-inject.h
fb.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2010-12-22 12:56:10 +09:00
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdreg.h
fdtable.h
fec.h net/fec: add mac field into platform data and consolidate fec_get_mac 2011-01-09 15:42:55 -08:00
fib_rules.h
fiemap.h
file.h
filter.h filter: constify sk_run_filter() 2010-12-08 10:30:34 -08:00
fips.h
firewire-cdev.h
firewire-constants.h
firewire.h firewire: use split transaction timeout only for split transactions 2011-01-04 08:48:34 +01:00
firmware-map.h headers: kobject.h redux 2011-01-10 08:51:44 -08:00
firmware.h
flat.h
flex_array.h flex_array: fix flex_array_put_ptr macro to be valid C 2010-11-30 17:28:57 -05:00
font.h
freezer.h
fs.h Add a dentry op to handle automounting rather than abusing follow_link() 2011-01-15 20:05:03 -05:00
fs_enet_pd.h
fs_stack.h
fs_struct.h fs: fs_struct use seqlock 2011-01-07 17:50:27 +11:00
fs_uart_pd.h
fscache-cache.h
fscache.h
fsl-diu-fb.h
fsl_devices.h
fsnotify.h fs: dcache remove dcache_lock 2011-01-07 17:50:23 +11:00
fsnotify_backend.h fs: dcache remove dcache_lock 2011-01-07 17:50:23 +11:00
ftrace.h
ftrace_event.h tracing/events: Show real number in array fields 2010-11-19 10:18:47 -05:00
ftrace_irq.h
fuse.h fuse: fix ioctl ABI 2010-12-07 20:16:56 +01:00
futex.h
gameport.h
gcd.h
gen_stats.h
genalloc.h
generic_acl.h fs: provide rcu-walk aware permission i_ops 2011-01-07 17:50:29 +11:00
generic_serial.h
genetlink.h
genhd.h Merge branch 'for-2.6.38/event-handling' into for-2.6.38/core 2011-01-13 14:47:54 +01:00
getcpu.h
gfp.h thp: add numa awareness to hugepage allocations 2011-01-13 17:32:45 -08:00
gfs2_ondisk.h
gigaset_dev.h
gpio-fan.h
gpio-i2cmux.h i2c: Add generic I2C multiplexer using GPIO API 2011-01-10 22:11:23 +01:00
gpio.h include/gpio.h: remove remaining __must_check-annotiations 2011-01-14 08:06:39 -08:00
gpio_keys.h Input: add input driver for polled GPIO buttons 2010-12-06 17:15:15 -08:00
gpio_mouse.h
gsmmux.h
hardirq.h hardirq.h: needs sched.h if using BKL 2010-11-18 10:56:29 -08:00
hash.h
hdlc.h
hdlcdrv.h
hdreg.h
hid-debug.h
hid.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid 2011-01-13 09:58:38 -08:00
hiddev.h
hidraw.h
highmem.h highmem: Use this_cpu_xx_return() operations 2010-12-17 15:18:04 +01:00
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hp_sdc.h
hpet.h
hrtimer.h hrtimer.h: fix kernel-doc warning 2011-01-10 07:38:53 -08:00
htcpld.h
htirq.h
huge_mm.h thp: add compound_trans_head() helper 2011-01-13 17:32:48 -08:00
hugetlb.h
hugetlb_inline.h
hw_breakpoint.h
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
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 i2c: Constify i2c_client where possible 2011-01-10 22:11:23 +01:00
i2o-dev.h
i2o.h
i8k.h
i7300_idle.h
i8042.h
i82593.h
ibmtr.h
icmp.h
icmpv6.h
ide.h
idr.h
ieee80211.h mac80211: Remove unused third address from mesh address extension header. 2010-12-20 14:49:47 -05:00
if.h
if_addr.h
if_addrlabel.h
if_alg.h crypto: af_alg - User-space interface for Crypto API 2010-11-19 17:47:57 +08:00
if_arcnet.h
if_arp.h
if_bonding.h
if_bridge.h netfilter: ebtables: make broute table work again 2011-01-11 23:55:51 +01:00
if_cablemodem.h
if_ec.h
if_eql.h
if_ether.h include/linux/if_ether.h: Add #define ETH_P_LINK_CTL for HPNA and wlan local tunnel 2011-01-06 11:10:05 -08:00
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_link.h macvlan: Introduce 'passthru' mode to takeover the underlying device 2010-11-22 08:24:29 -08:00
if_ltalk.h
if_macvlan.h macvlan: lockless tx path 2010-11-16 10:58:30 -08:00
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
if_tunnel.h
if_vlan.h
if_x25.h
igmp.h net: typos in comments in include/linux/igmp.h 2011-01-04 11:29:52 -08:00
ihex.h
ima.h
in.h
in6.h
in_route.h
inet.h
inet_diag.h
inet_lro.h
inetdevice.h __in_dev_get_rtnl() can use rtnl_dereference() 2010-12-06 12:59:05 -08:00
init.h
init_ohci1394_dma.h
init_task.h Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2011-01-06 10:23:33 -08:00
initrd.h
inotify.h
input-polldev.h
input.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2011-01-13 09:58:14 -08:00
intel-iommu.h
intel_mid_dma.h
intel_pmic_gpio.h
interrupt.h
io-mapping.h
io.h
ioc3.h
ioc4.h
iocontext.h
ioctl.h
iommu-helper.h
iommu.h
ioport.h resources: add arch hook for preventing allocation in reserved areas 2010-12-17 10:01:09 -08:00
ioprio.h
iova.h
ip.h
ip6_tunnel.h
ip_vs.h
ipc.h
ipc_namespace.h
ipmi.h IPMI: Add one interface to get more info of low-level IPMI device 2010-12-14 00:21:51 -05:00
ipmi_msgdefs.h
ipmi_smi.h IPMI: Add one interface to get more info of low-level IPMI device 2010-12-14 00:21:51 -05:00
ipsec.h
ipv6.h ipv6: mcast: RCU conversion 2010-11-24 11:16:42 -08:00
ipv6_route.h
ipx.h
irda.h
irq.h
irq_cpustat.h
irq_work.h
irqdesc.h irq: use per_cpu kstat_irqs 2011-01-13 17:32:31 -08:00
irqflags.h
irqnr.h
irqreturn.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
isdn.h
isdn_divertif.h
isdn_ppp.h
isdnif.h
isicom.h
iso_fs.h
istallion.h
ivtv.h
ivtvfb.h
ixjuser.h
jbd.h
jbd2.h ext4: dynamically allocate the jbd2_inode in ext4_inode_info as necessary 2011-01-10 12:29:43 -05:00
jffs2.h
jhash.h The new jhash implementation 2010-12-09 20:17:07 -08:00
jiffies.h
journal-head.h
joystick.h
jump_label.h
jump_label_ref.h
jz4740-adc.h
kallsyms.h
kbd_diacr.h
kbd_kern.h
Kbuild Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2011-01-13 10:25:58 -08:00
kbuild.h
kd.h
kdb.h
kdebug.h
kdev_t.h
kernel-page-flags.h
kernel.h mm: vmscan: reclaim order-0 and use compaction instead of lumpy reclaim 2011-01-13 17:32:33 -08:00
kernel_stat.h irq: use per_cpu kstat_irqs 2011-01-13 17:32:31 -08:00
kernelcapi.h
kexec.h
key-type.h
key.h
keyboard.h
keyctl.h
kfifo.h
kgdb.h
khugepaged.h thp: madvise(MADV_NOHUGEPAGE) 2011-01-13 17:32:47 -08:00
klist.h
kmalloc_sizes.h
kmemcheck.h
kmemleak.h
kmod.h
kmsg_dump.h kmsg_dump: add kmsg_dump() calls to the reboot, halt, poweroff and emergency_restart paths 2011-01-13 08:03:07 -08:00
kobj_map.h
kobject.h
kobject_ns.h
kprobes.h Merge branch 'for-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2011-01-07 17:02:58 -08:00
kref.h block: add internal hd part table references 2011-01-07 08:43:37 +01:00
ks0108.h
ks8842.h
ksm.h
kthread.h kthread_work: make lockdep happy 2010-12-22 10:27:53 +01:00
ktime.h
kvm.h KVM: Add PV MSR to enable asynchronous page faults delivery. 2011-01-12 11:23:12 +02:00
kvm_host.h KVM: Fix build error on s390 due to missing tlbs_dirty 2011-01-12 11:30:50 +02:00
kvm_para.h
kvm_types.h KVM: Add memory slot versioning and use it to provide fast guest write interface 2011-01-12 11:23:08 +02:00
l2tp.h
lapb.h
latencytop.h
lcd.h
lcm.h
leds-bd2802.h
leds-lp3944.h
leds-lp5521.h leds-lp5521: modify the way of setting led device name 2011-01-13 08:03:06 -08:00
leds-lp5523.h leds: leds-lp5523: modify the way of setting led device name 2011-01-13 08:03:05 -08:00
leds-pca9532.h
leds-regulator.h
leds.h
leds_pwm.h
lglock.h
lguest.h
lguest_launcher.h
libata.h [libata] avoid needlessly passing around ptr to SCSI completion func 2011-01-05 19:43:22 -05:00
libps2.h
license.h
limits.h
linkage.h
linux_logo.h
lis3lv02d.h
list.h
list_bl.h kernel: fix hlist_bl again 2011-01-14 13:12:45 +00:00
list_nulls.h
list_sort.h
llc.h
lockdep.h
log2.h
loop.h
lp.h
lru_cache.h
lsm_audit.h
lzo.h
m48t86.h
magic.h
major.h
map_to_7segment.h
maple.h
marvell_phy.h phylib: Add support for Marvell 88E1149R devices. 2010-11-22 08:34:23 -08:00
math64.h
matroxfb.h
max17040_battery.h
mbcache.h ext2: Resolve 'dereferencing pointer to incomplete type' when enabling EXT2_XATTR_DEBUG 2011-01-10 19:04:08 +01:00
mbus.h
mc6821.h
mc146818rtc.h
mca-legacy.h
mca.h
mdio-bitbang.h
mdio-gpio.h
mdio.h tg3: Move EEE definitions into mdio.h 2010-12-06 11:03:46 -08:00
memblock.h
memcontrol.h memcg: fix memory migration of shmem swapcache 2011-01-13 17:32:51 -08:00
memory.h
memory_hotplug.h thp: remove PG_buddy 2011-01-13 17:32:43 -08:00
mempolicy.h
mempool.h
memstick.h
meye.h
mg_disk.h
migrate.h mm: migration: cleanup migrate_pages API by matching types for offlining and sync 2011-01-13 17:32:34 -08:00
mii.h
minix_fs.h
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm.h thp: madvise(MADV_NOHUGEPAGE) 2011-01-13 17:32:47 -08:00
mm_inline.h thp: fix anon memory statistics with transparent hugepages 2011-01-13 17:32:46 -08:00
mm_types.h thp: add pmd_huge_pte to mm_struct 2011-01-13 17:32:41 -08:00
mman.h
mmdebug.h
mmiotrace.h
mmtimer.h
mmu_context.h
mmu_notifier.h thp: mmu_notifier_test_young 2011-01-13 17:32:46 -08:00
mmzone.h thp: transparent hugepage vmstat 2011-01-13 17:32:43 -08:00
mnt_namespace.h
mod_devicetable.h
module.h Merge commit 'v2.6.37-rc7' into x86/security 2010-12-23 09:48:41 +01:00
moduleloader.h
moduleparam.h
mount.h fs: scale mntget/mntput 2011-01-07 17:50:33 +11:00
mpage.h
mqueue.h
mroute.h
mroute6.h
msdos_fs.h
msg.h
msi.h
msm_mdp.h
mtio.h
mutex-debug.h
mutex.h mutexes, sched: Introduce arch_mutex_cpu_relax() 2010-11-26 15:05:34 +01:00
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
n_r3964.h
namei.h Add a dentry op to allow processes to be held during pathwalk transit 2011-01-15 20:07:31 -05:00
nbd.h
ncp.h
ncp_fs.h move internal-only parts of ncpfs headers to fs/ncpfs 2011-01-12 20:03:43 -05:00
ncp_mount.h move internal-only parts of ncpfs headers to fs/ncpfs 2011-01-12 20:03:43 -05:00
ncp_no.h
neighbour.h
net.h fs: avoid inode RCU freeing for pseudo fs 2011-01-07 17:50:26 +11:00
net_dropmon.h
net_tstamp.h
netdevice.h net: Add alloc_netdev_mqs function 2011-01-10 16:05:30 -08:00
netfilter.h netfilter: allow hooks to pass error code back up the stack 2010-11-17 10:54:34 -08:00
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h netlink: fix gcc -Wconversion compilation warning 2010-12-17 12:03:14 -08:00
netpoll.h
netrom.h
nfs.h
nfs2.h
nfs3.h NFS: Introduce new-style XDR decoding functions for NFSv2 2010-12-16 12:37:23 -05:00
nfs4.h NFS fix the setting of exchange id flag 2011-01-11 14:17:09 -05:00
nfs4_acl.h
nfs4_mount.h
nfs_fs.h fs: provide rcu-walk aware permission i_ops 2011-01-07 17:50:29 +11:00
nfs_fs_i.h
nfs_fs_sb.h NFS: Move cl_delegations to the nfs_server struct 2011-01-06 14:57:46 -05:00
nfs_idmap.h
nfs_iostat.h
nfs_mount.h
nfs_page.h nfs: remove extraneous and problematic calls to nfs_clear_request 2010-12-07 23:02:44 -05:00
nfs_xdr.h NFSv4: Ensure continued open and lockowner name uniqueness 2011-01-06 16:03:13 -05:00
nfsacl.h
nfsd_idmap.h
nilfs2_fs.h
nl80211.h nl80211: Export available antennas 2010-12-20 14:49:47 -05:00
nl802154.h
nls.h
nmi.h x86, nmi_watchdog: Remove ARCH_HAS_NMI_WATCHDOG and rely on CONFIG_HARDLOCKUP_DETECTOR 2010-12-22 22:15:32 +01:00
node.h
nodemask.h
notifier.h
nsc_gpio.h
nsproxy.h
nubus.h
numa.h
nvram.h
nwpserial.h
of.h
of_address.h of/address: use proper endianess in get_flags 2010-12-23 15:57:48 -07:00
of_device.h
of_fdt.h of/flattree: forward declare struct device_node in of_fdt.h 2011-01-08 21:42:42 -07:00
of_gpio.h
of_i2c.h
of_irq.h
of_mdio.h
of_net.h
of_pdt.h
of_platform.h
of_spi.h
omapfb.h
oom.h
opp.h
oprofile.h
oxu210hp.h
padata.h
page-debug-flags.h
page-flags.h thp: remove PG_buddy 2011-01-13 17:32:43 -08:00
page-isolation.h
page_cgroup.h Revert update for dirty_ratio for memcg. 2011-01-14 07:52:02 -08:00
pageblock-flags.h
pagemap.h mm: remove likely() from mapping_unevictable() 2011-01-13 17:32:36 -08:00
pagevec.h
param.h
parport.h
parport_pc.h
parser.h
patchkey.h
path.h fs: scale mntget/mntput 2011-01-07 17:50:33 +11:00
pch_dma.h
pci-acpi.h PCI/ACPI: Request _OSC control once for each root bridge (v3) 2011-01-14 08:55:41 -08:00
pci-aspm.h PCI: Disable ASPM if BIOS asks us to 2010-12-23 12:53:08 -08:00
pci-dma.h
pci.h PCI/PM: Use pm_wakeup_event() directly for reporting wakeup events 2011-01-14 08:55:43 -08:00
pci_hotplug.h
pci_ids.h Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2011-01-14 09:29:05 -08:00
pci_regs.h PCI/PCIe: Clear Root PME Status bits early during system resume 2010-12-23 12:54:03 -08:00
pcieport_if.h
pda_power.h
percpu-defs.h
percpu.h percpu: Generic this_cpu_cmpxchg() and this_cpu_xchg support 2010-12-18 15:54:04 +01:00
percpu_counter.h
perf_event.h perf: Sysfs enumeration 2010-12-16 11:36:43 +01:00
personality.h
pfkeyv2.h
pfn.h
pg.h
phantom.h
phonedev.h
phonet.h
phy.h
phy_fixed.h
pid.h
pid_namespace.h
pim.h
pipe_fs_i.h pipe_fs_i.h: fix kernel-doc warning 2011-01-10 07:38:54 -08:00
pkt_cls.h
pkt_sched.h
pktcdvd.h
platform_device.h
plist.h
pm.h PM: Prototype the pm_generic_ operations 2010-12-24 15:04:41 +01:00
pm_qos_params.h
pm_runtime.h PM / Runtime: Generic resume shouldn't set RPM_ACTIVE unconditionally 2010-12-24 15:04:06 +01:00
pm_wakeup.h
pmu.h
pnp.h
poison.h
poll.h poll: fix a typo in comment 2010-12-10 15:06:43 +01:00
posix-timers.h
posix_acl.h fs: provide simple rcu-walk generic_check_acl implementation 2011-01-07 17:50:29 +11: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: add kernel consumer support 2011-01-13 08:03:21 -08:00
pps_kernel.h pps: capture MONOTONIC_RAW timestamps as well 2011-01-13 08:03:21 -08:00
prctl.h
preempt.h
prefetch.h
printk.h include/linux/printk.h: use tab not spaces for indent 2011-01-13 08:03:10 -08:00
prio_heap.h
prio_tree.h
proc_fs.h
profile.h
proportions.h
ptp_classify.h
ptrace.h
pwm.h
pwm_backlight.h
pxa2xx_ssp.h spi/pxa2xx: Add chipselect support for Sodaville 2010-12-02 17:55:12 +01:00
pxa168_eth.h
qnx4_fs.h
qnxtypes.h
quicklist.h
quota.h
quotaops.h quota: Use %pV and __attribute__((format (printf in __quota_error and fix fallout 2011-01-10 19:04:05 +01:00
radeonfb.h
radix-tree.h mm: migration: use rcu_dereference_protected when dereferencing the radix tree slot during file page migration 2011-01-13 17:32:48 -08:00
raid_class.h
ramfs.h
ramoops.h
random.h
range.h
rar_register.h Staging: sep: handle the rar definition stuff in the header 2010-11-29 11:17:22 -08:00
ratelimit.h
rational.h
raw.h
rbtree.h
rculist.h rcu: remove unused __list_for_each_rcu() macro 2010-12-17 12:34:59 -08:00
rculist_bl.h fs: hlist UP debug fixup 2011-01-14 02:36:43 +00:00
rculist_nulls.h
rcupdate.h rcu: increase synchronize_sched_expedited() batching 2010-12-17 12:34:08 -08:00
rcutiny.h rcu,cleanup: move synchronize_sched_expedited() out of sched.c 2010-11-29 22:01:58 -08:00
rcutree.h rcu,cleanup: move synchronize_sched_expedited() out of sched.c 2010-11-29 22:01:58 -08:00
rds.h
reboot.h
reciprocal_div.h
regset.h
reiserfs_acl.h
reiserfs_fs.h BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
reiserfs_fs_i.h
reiserfs_fs_sb.h
reiserfs_xattr.h fs: provide rcu-walk aware permission i_ops 2011-01-07 17:50:29 +11:00
relay.h
res_counter.h
resource.h
resume-trace.h
rfkill.h
ring_buffer.h
rio.h rapidio: add definitions of Component Tag fields 2011-01-13 08:03:18 -08:00
rio_drv.h rapidio: use common destid storage for endpoints and switches 2011-01-13 08:03:17 -08:00
rio_ids.h rapidio: add new idt sRIO switches 2011-01-13 08:03:18 -08:00
rio_regs.h
rmap.h thp: transparent hugepage core 2011-01-13 17:32:42 -08:00
romfs_fs.h romfs: have romfs_fs.h pull in necessary headers 2011-01-13 08:03:23 -08:00
root_dev.h
rose.h
rotary_encoder.h
route.h
rslib.h
rtc-v3020.h
rtc.h rtc: Namespace fixup 2010-12-13 22:48:21 +01:00
rtmutex.h
rtnetlink.h
rwlock.h
rwlock_api_smp.h
rwlock_types.h
rwsem-spinlock.h
rwsem.h
rxrpc.h
s3c_adc_battery.h s3c_adc_battery: Add gpio_inverted field to pdata 2010-12-22 02:39:57 +03:00
sc26198.h
scatterlist.h
scc.h
sched.h thp: khugepaged 2011-01-13 17:32:43 -08:00
screen_info.h
sctp.h
scx200.h
scx200_gpio.h
sdla.h
seccomp.h
securebits.h
security.h Merge branch 'master' into next 2011-01-10 09:46:24 +11:00
selection.h
selinux.h
selinux_netlink.h
sem.h
semaphore.h
seq_file.h
seq_file_net.h
seqlock.h kernel: optimise seqlock 2011-01-07 17:50:27 +11:00
serial.h
serial167.h
serial_8250.h
serial_core.h pps: unify timestamp gathering 2011-01-13 08:03:19 -08:00
serial_max3100.h
serial_mfd.h
serial_pnx8xxx.h
serial_reg.h omap: Serial: Define register access modes in LCR 2010-11-30 14:11:49 -08:00
serial_sci.h Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 into common/serial-rework 2011-01-13 15:06:28 +09:00
serialP.h
serio.h
sfi.h
sfi_acpi.h
sh_clk.h
sh_dma.h
sh_intc.h
sh_pfc.h
sh_timer.h
shm.h
shmem_fs.h
sht15.h
signal.h
signalfd.h
skbuff.h net: Introduce skb_checksum_start_offset() 2010-12-16 14:43:14 -08:00
slab.h kernel: kmem_ptr_validate considered harmful 2011-01-07 17:50:16 +11:00
slab_def.h tracing/slab: Move kmalloc tracepoint out of inline code 2010-11-28 21:16:28 +02:00
slob_def.h
slub_def.h
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smp_lock.h Fix build failure due to hwirq.h needing smp_lock.h 2010-11-17 14:58:36 -08:00
smsc911x.h
snmp.h tcp: Replace time wait bucket msg by counter 2010-12-08 12:16:33 -08:00
socket.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2011-01-13 10:25:58 -08:00
sockios.h
som.h
sonet.h
sony-laptop.h
sonypi.h sony-laptop: support new hotkeys on the P, Z and EC series 2011-01-10 12:00:22 -05:00
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
srcu.h
stackprotector.h
stacktrace.h x86: Eliminate bp argument from the stack tracing routines 2010-11-18 14:37:34 +01:00
stallion.h
start_kernel.h
stat.h
statfs.h
stddef.h
stmmac.h stmmac: add init/exit callback in plat_stmmacenet_data struct 2010-11-24 11:14:24 -08:00
stop_machine.h
string.h
string_helpers.h
stringify.h
superhyway.h
suspend.h Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2011-01-13 20:15:35 -08:00
suspend_ioctls.h
svga.h
swab.h
swap.h thp: transparent hugepage core 2011-01-13 17:32:42 -08:00
swapops.h
swiotlb.h
synclink.h
sys.h
syscalls.h tracing: Remove useless syscall ftrace_event_call declaration 2010-11-18 14:37:45 +01:00
sysctl.h
sysdev.h
sysfs.h
syslog.h
sysrq.h
sysv_fs.h
task_io_accounting.h
task_io_accounting_ops.h
taskstats.h taskstats: pad taskstats netlink response for aligment issues on ia64 2010-12-22 19:43:34 -08:00
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h
telephony.h
termios.h
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h Merge branch 'misc' into release 2011-01-12 05:14:15 -05:00
thread_info.h
threads.h
ti_wilink_st.h
tick.h
tifm.h
timb_dma.h
timb_gpio.h
time.h pps: capture MONOTONIC_RAW timestamps as well 2011-01-13 08:03:21 -08:00
timecompare.h
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h timerqueue: Make timerqueue_getnext() static inline 2010-12-11 12:34:34 +01:00
times.h
timex.h ntp: add hardpps implementation 2011-01-13 08:03:20 -08:00
tiocl.h
tipc.h tipc: cleanup various cosmetic whitespace issues 2011-01-01 13:57:56 -08:00
tipc_config.h tipc: cleanup various cosmetic whitespace issues 2011-01-01 13:57:56 -08:00
topology.h
toshiba.h toshiba.h: hide a function prototypes behind __KERNEL__ macro 2011-01-13 08:03:08 -08:00
tpm.h key: add tpm_send command 2010-11-29 08:55:22 +11:00
tpm_command.h keys: add new trusted key-type 2010-11-29 08:55:25 +11:00
trace_clock.h
trace_seq.h
tracehook.h
tracepoint.h tracepoint: Add __rcu annotation 2011-01-07 20:57:22 -05:00
transport_class.h
trdevice.h
tsacct_kern.h
tty.h Merge branch 'tty-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6 2010-12-02 12:58:16 -08:00
tty_driver.h tty: fix typos/errors in tty_driver.h comments 2010-12-16 13:14:32 -08:00
tty_flip.h
tty_ldisc.h pps: timestamp is always passed to dcd_change() 2011-01-13 08:03:20 -08:00
typecheck.h
types.h
u64_stats_sync.h Kill off a bunch of warning: ‘inline’ is not at beginning of declaration 2010-11-28 23:08:04 +01:00
uaccess.h
ucb1400.h
udf_fs_i.h
udp.h
uinput.h Input: introduce device properties 2010-12-20 09:37:33 +01:00
uio.h
uio_driver.h
ultrasound.h
un.h
unistd.h
usb.h Merge branch 'usb-next' into musb-merge 2010-12-16 10:05:06 -08:00
usb_usual.h
usbdevice_fs.h
user-return-notifier.h
user.h
user_namespace.h user_ns: improve the user_ns on-the-slab packaging 2011-01-13 08:03:18 -08:00
utime.h
uts.h
utsname.h
uuid.h
uwb.h
vermagic.h
veth.h
vfs.h
vga_switcheroo.h vga_switcheroo: fix build with non switcheroo enabled path. 2011-01-06 13:05:04 +10:00
vgaarb.h
vhost.h
via-core.h
via-gpio.h
via.h
via_i2c.h
video_output.h ACPI: video: fix build for VIDEO_OUTPUT_CONTROL=n 2010-12-11 02:01:35 -05:00
videodev2.h
virtio.h
virtio_9p.h
virtio_balloon.h
virtio_blk.h
virtio_config.h
virtio_console.h
virtio_ids.h
virtio_net.h
virtio_pci.h
virtio_ring.h
virtio_rng.h
vlynq.h
vmalloc.h mm: unify module_alloc code for vmalloc 2011-01-13 17:32:34 -08:00
vmstat.h mm: vmstat: use a single setter function and callback for adjusting percpu thresholds 2011-01-13 17:32:31 -08:00
vt.h
vt_buffer.h
vt_kern.h
w1-gpio.h
wait.h
wanrouter.h
watchdog.h
wimax.h
wireless.h
wl12xx.h
wm97xx.h
workqueue.h Merge branch 'for-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq 2011-01-07 16:58:04 -08:00
writeback.h
x25.h
xattr.h Smack: Transmute labels on specified directories 2010-12-07 14:04:02 -08:00
xfrm.h xfrm: Add Traffic Flow Confidentiality padding XFRM attribute 2010-12-10 14:43:58 -08:00
xilinxfb.h
xz.h decompressors: add XZ decompressor module 2011-01-13 08:03:24 -08:00
yam.h
z2_battery.h
zconf.h
zlib.h
zorro.h
zorro_ids.h
zutil.h