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