android_kernel_xiaomi_sm8350/include/linux
Anton Altaparmakov 88bd5121d6 [PATCH] Fix soft lockup due to NTFS: VFS part and explanation
Something has changed in the core kernel such that we now get concurrent
inode write outs, one e.g via pdflush and one via sys_sync or whatever.
This causes a nasty deadlock in ntfs.  The only clean solution
unfortunately requires a minor vfs api extension.

First the deadlock analysis:

Prerequisive knowledge: NTFS has a file $MFT (inode 0) loaded at mount
time.  The NTFS driver uses the page cache for storing the file contents as
usual.  More interestingly this file contains the table of on-disk inodes
as a sequence of MFT_RECORDs.  Thus NTFS driver accesses the on-disk inodes
by accessing the MFT_RECORDs in the page cache pages of the loaded inode
$MFT.

The situation: VFS inode X on a mounted ntfs volume is dirty.  For same
inode X, the ntfs_inode is dirty and thus corresponding on-disk inode,
which is as explained above in a dirty PAGE_CACHE_PAGE belonging to the
table of inodes ($MFT, inode 0).

What happens:

Process 1: sys_sync()/umount()/whatever...  calls __sync_single_inode() for
$MFT -> do_writepages() -> write_page for the dirty page containing the
on-disk inode X, the page is now locked -> ntfs_write_mst_block() which
clears PageUptodate() on the page to prevent anyone else getting hold of it
whilst it does the write out (this is necessary as the on-disk inode needs
"fixups" applied before the write to disk which are removed again after the
write and PageUptodate is then set again).  It then analyses the page
looking for dirty on-disk inodes and when it finds one it calls
ntfs_may_write_mft_record() to see if it is safe to write this on-disk
inode.  This then calls ilookup5() to check if the corresponding VFS inode
is in icache().  This in turn calls ifind() which waits on the inode lock
via wait_on_inode whilst holding the global inode_lock.

Process 2: pdflush results in a call to __sync_single_inode for the same
VFS inode X on the ntfs volume.  This locks the inode (I_LOCK) then calls
write-inode -> ntfs_write_inode -> map_mft_record() -> read_cache_page() of
the page (in page cache of table of inodes $MFT, inode 0) containing the
on-disk inode.  This page has PageUptodate() clear because of Process 1
(see above) so read_cache_page() blocks when tries to take the page lock
for the page so it can call ntfs_read_page().

Thus Process 1 is holding the page lock on the page containing the on-disk
inode X and it is waiting on the inode X to be unlocked in ifind() so it
can write the page out and then unlock the page.

And Process 2 is holding the inode lock on inode X and is waiting for the
page to be unlocked so it can call ntfs_readpage() or discover that
Process 1 set PageUptodate() again and use the page.

Thus we have a deadlock due to ifind() waiting on the inode lock.

The only sensible solution: NTFS does not care whether the VFS inode is
locked or not when it calls ilookup5() (it doesn't use the VFS inode at
all, it just uses it to find the corresponding ntfs_inode which is of
course attached to the VFS inode (both are one single struct); and it uses
the ntfs_inode which is subject to its own locking so I_LOCK is irrelevant)
hence we want a modified ilookup5_nowait() which is the same as ilookup5()
but it does not wait on the inode lock.

Without such functionality I would have to keep my own ntfs_inode cache in
the NTFS driver just so I can find ntfs_inodes independent of their VFS
inodes which would be slow, memory and cpu cycle wasting, and incredibly
stupid given the icache already exists in the VFS.

Below is a patch that does the ilookup5_nowait() implementation in
fs/inode.c and exports it.

ilookup5_nowait.diff:

Introduce ilookup5_nowait() which is basically the same as ilookup5() but
it does not wait on the inode's lock (i.e. it omits the wait_on_inode()
done in ifind()).

This is needed to avoid a nasty deadlock in NTFS.

Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-13 11:25:24 -07:00
..
byteorder [PATCH] swabb.h warning fixes 2005-06-28 21:20:31 -07:00
dvb
hdlc
isdn
lockd [PATCH] NLM: fix a client-side race on blocking locks. 2005-06-22 16:07:42 -04:00
mmc [PATCH] MMC: Proper MMC command classes support 2005-05-21 10:27:02 +01:00
mtd [MTD] XIP cleanup 2005-07-07 16:50:16 +02:00
netfilter_arp
netfilter_bridge
netfilter_ipv4 [NETFILTER]: Fix "iptables -D" rule deletion with ipt_CLUSTERIP target. 2005-06-22 12:38:33 -07:00
netfilter_ipv6
nfsd [PATCH] nfsd4: check lock type against openmode. 2005-07-07 18:24:11 -07:00
raid [PATCH] Two small fixes for md verion-1 superblocks. 2005-06-21 19:07:47 -07:00
sunrpc [PATCH] NFSD: Add server support for NFSv3 ACLs. 2005-06-22 16:07:23 -04:00
tc_act
tc_ematch [NET]: Remove unused security member in sk_buff 2005-07-05 14:12:44 -07:00
8250_pci.h
a.out.h [PATCH] Use ALIGN to remove duplicate code 2005-06-25 16:25:02 -07:00
ac97_codec.h
acct.h
acpi.h [ACPI] merge acpi-2.6.12 branch into latest Linux 2.6.13-rc... 2005-07-12 17:21:56 -04:00
adb.h
adfs_fs_i.h
adfs_fs_sb.h
adfs_fs.h
affs_fs.h
affs_hardblocks.h
agp_backend.h
agpgart.h
aio_abi.h
aio.h
amifd.h
amifdreg.h
amigaffs.h
apm_bios.h
arcdevice.h
arcfb.h [PATCH] Framebuffer driver for Arc LCD board 2005-06-21 19:07:41 -07:00
ata.h [PATCH] libata basic detection and errata for PATA->SATA bridges 2005-05-12 15:07:47 -04:00
atalk.h [ATALK]: Include asm/byteorder.h in linux/atalk.h 2005-06-26 15:28:10 -07:00
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_suni.h
atm_tcp.h
atm_zatm.h
atm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
attribute_container.h
audit.h [SPARC64]: Add syscall auditing support. 2005-07-10 19:29:45 -07:00
auto_fs4.h [PATCH] autofs4: subversion bump to identify these changes 2005-06-21 19:07:36 -07:00
auto_fs.h
awe_voice.h [PATCH] include/linux/soundcard.h: endianness fix 2005-05-05 16:36:31 -07:00
ax25.h
b1lli.h
b1pcmcia.h
backing-dev.h
backlight.h
baycom.h
bcd.h
bfs_fs.h
binfmts.h [PATCH] setuid core dump 2005-06-23 09:45:26 -07:00
bio.h [PATCH] Update cfq io scheduler to time sliced design 2005-06-27 14:33:29 -07:00
bitmap.h
bitops.h
blkdev.h [PATCH] blk: light iocontext ops 2005-06-28 21:20:35 -07:00
blkpg.h
blockgroup_lock.h
bootmem.h [PATCH] kdump: Retrieve saved max pfn 2005-06-25 16:24:52 -07:00
bpqether.h
buffer_head.h [PATCH] page_uptodate locking scalability 2005-07-07 18:23:45 -07:00
cache.h [SPARC64]: Add __read_mostly support. 2005-07-10 15:45:11 -07:00
capability.h
capi.h
cciss_ioctl.h [PATCH] cciss: pci domain info pass 2 2005-06-27 15:11:48 -07:00
cd1400.h
cdev.h
cdk.h
cdrom.h
chio.h [SCSI] add scsi changer driver 2005-05-20 12:53:50 -05:00
circ_buf.h
cobalt-nvram.h
coda_cache.h
coda_fs_i.h
coda_linux.h
coda_proc.h
coda_psdev.h
coda.h
coff.h
com20020.h
compat_ioctl.h [SPARC64/COMPAT]: Add some compat ioctl for ppdev 2005-07-04 13:23:45 -07:00
compat.h
compiler-gcc2.h [PATCH] uml: move va_copy conditional def 2005-05-01 08:58:54 -07:00
compiler-gcc3.h
compiler-gcc4.h
compiler-gcc.h
compiler-intel.h
compiler.h [PATCH] Add deprecated_for_modules 2005-05-01 08:59:03 -07:00
completion.h
comstats.h
concap.h
config.h
console_struct.h
console.h
consolemap.h
cpu.h [PATCH] make smp_prepare_cpu to a weak function 2005-06-25 16:24:30 -07:00
cpufreq.h [PATCH] pm: fix u32 vs. pm_message_t confusion in cpufreq 2005-07-07 18:23:43 -07:00
cpumask.h
cpuset.h
cramfs_fs_sb.h
cramfs_fs.h
crash_dump.h [PATCH] kdump: Access dump file in elf format (/proc/vmcore) 2005-06-25 16:24:53 -07:00
crc32.h
crc32c.h
crc-ccitt.h
crypto.h [CRYPTO] Ensure cit_iv is aligned correctly 2005-07-06 13:53:29 -07:00
cryptohash.h
ctype.h
cuda.h
cyclades.h
cyclomx.h
cycx_cfm.h
cycx_drv.h
cycx_x25.h
dcache.h
dcookies.h
debugfs.h
delay.h
devfs_fs_kernel.h
devfs_fs.h
device-mapper.h
device.h [ACPI] merge acpi-2.6.12 branch into latest Linux 2.6.13-rc... 2005-07-12 17:21:56 -04:00
devpts_fs.h
dio.h
dirent.h
divert.h
dm9000.h [PATCH] DM9000 network driver 2005-05-15 18:31:07 -04:00
dm-ioctl.h
dma-mapping.h [SCSI] Add DMA mask constants other than 32 and 64 bit 2005-06-17 20:37:11 -05:00
dmapool.h
dmi.h [PATCH] I8K: use standard DMI interface 2005-06-25 16:24:24 -07:00
dn.h
dnotify.h
dqblk_v1.h [PATCH] quota: improve credits estimates 2005-06-24 00:05:19 -07:00
dqblk_v2.h [PATCH] quota: improve credits estimates 2005-06-24 00:05:19 -07:00
dqblk_xfs.h
ds1286.h
dtlk.h
edd.h [PATCH] Increase number of e820 entries hard limit from 32 to 128 2005-05-01 08:58:51 -07:00
eeprom.h
efi.h [PATCH] avoid signed vs unsigned comparison in efi_range_is_wc() 2005-06-16 16:27:14 -07:00
efs_dir.h
efs_fs_i.h
efs_fs_sb.h
efs_fs.h
efs_vh.h
eisa.h
elevator.h [PATCH] Update cfq io scheduler to time sliced design 2005-06-27 14:33:29 -07:00
elf-fdpic.h
elf.h
elfcore.h
err.h Fix get_unmapped_area sanity tests 2005-05-19 22:43:37 -07:00
errno.h
errqueue.h
etherdevice.h [NET]: __be'ify *_type_trans() 2005-07-12 12:08:43 -07:00
ethtool.h [NET]: Add ethtool support for NETIF_F_HW_CSUM. 2005-05-29 20:27:24 -07:00
eventpoll.h
ext2_fs_sb.h
ext2_fs.h [PATCH] xip: ext2: execute in place 2005-06-24 00:06:41 -07:00
ext3_fs_i.h
ext3_fs_sb.h
ext3_fs.h [PATCH] ext3: fix options parsing 2005-07-12 16:01:01 -07:00
ext3_jbd.h [PATCH] quota: ext3: Improve quota credit estimates 2005-06-24 00:05:20 -07:00
fadvise.h
fb.h [PATCH] fbdev: stack reduction 2005-06-21 19:07:41 -07:00
fcdevice.h
fcntl.h [PATCH] Don't force O_LARGEFILE for 32 bit processes on ia64 2005-06-23 09:45:28 -07:00
fd1772.h
fd.h
fddidevice.h [NET]: __be'ify *_type_trans() 2005-07-12 12:08:43 -07:00
fdreg.h
file.h
filter.h
firmware.h
flat.h
font.h [PATCH] New framebuffer fonts + updated 12x22 font available 2005-06-21 19:07:41 -07:00
fs_struct.h
fs.h [PATCH] Fix soft lockup due to NTFS: VFS part and explanation 2005-07-13 11:25:24 -07:00
fsl_devices.h [PATCH] ppc32: Added support for new MPC8548 family of PowerQUICC III processors 2005-06-21 18:46:23 -07:00
fsnotify.h [PATCH] inotify: event ordering 2005-07-13 11:09:31 -07:00
ftape-header-segment.h
ftape-vendors.h
ftape.h
futex.h
gameport.h Input: 2005-05-28 02:11:12 -05:00
gen_stats.h
genalloc.h [PATCH] ia64 uncached alloc 2005-06-21 18:46:18 -07:00
generic_serial.h
genhd.h [PATCH] add check to /proc/devices read routines 2005-06-23 09:45:19 -07:00
gfp.h [PATCH] propagate __nocast annotations 2005-07-07 18:23:46 -07:00
hardirq.h [PATCH] hardirq uses preempt 2005-07-12 16:01:03 -07:00
harrier_defs.h
hash.h
hayesesp.h
hdlc.h [NET]: __be'ify *_type_trans() 2005-07-12 12:08:43 -07:00
hdlcdrv.h
hdpu_features.h
hdreg.h
hdsmart.h
hiddev.h
highmem.h [PATCH] kdump: Routines for copying dump pages 2005-06-25 16:24:53 -07:00
highuid.h
hippidevice.h [PATCH] update Ross Biro bouncing email address 2005-05-05 16:36:49 -07:00
hpet.h
hpfs_fs.h
hugetlb.h [PATCH] Hugepage consolidation 2005-06-21 18:46:15 -07:00
hwmon-sysfs.h [PATCH] I2C: rename i2c-sysfs.h to hwmon-sysfs.h 2005-06-21 21:52:05 -07:00
hysdn_if.h
i2c-algo-bit.h
i2c-algo-ite.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-algo-sgi.h
i2c-algo-sibyte.h
i2c-dev.h [PATCH] headers: include linux/compiler.h for __user 2005-06-28 21:20:32 -07:00
i2c-id.h [PATCH] I2C: Add support for Maxim/Dallas DS1374 Real-Time Clock Chip (1/2) 2005-06-21 21:52:06 -07:00
i2c-sensor.h
i2c-vid.h [PATCH] I2C: i2c-vid.h: Support for VID to reg conversion 2005-06-21 21:51:49 -07:00
i2c.h [PATCH] I2C: Kill address ranges in non-sensors i2c chip drivers 2005-06-21 21:51:48 -07:00
i2o-dev.h [PATCH] I2O: second code cleanup of sparse warnings and unneeded syncronization 2005-06-24 00:05:29 -07:00
i2o.h [PATCH] I2O: Lindent run and replacement of printk through osm printing functions 2005-06-24 00:05:29 -07:00
i8k.h
ibmtr.h
icmp.h
icmpv6.h
ide.h [PATCH] NUMA aware block device control structure allocation 2005-06-23 09:45:09 -07:00
idr.h
if_arcnet.h
if_arp.h [PATCH] update Ross Biro bouncing email address 2005-05-05 16:36:49 -07:00
if_bonding.h bonding: xor/802.3ad improved slave hash 2005-06-26 17:54:11 -04:00
if_bridge.h
if_cablemodem.h
if_ec.h
if_eql.h
if_ether.h
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_ltalk.h [ATALK]: Add alloc_ltalkdev(). 2005-05-05 14:25:59 -07:00
if_packet.h
if_plip.h
if_ppp.h
if_pppox.h
if_shaper.h [SHAPER]: Switch to spinlocks. 2005-07-05 15:03:46 -07:00
if_slip.h
if_strip.h
if_tr.h [NET]: linux/if_tr.h needs asm/byteorder.h 2005-06-13 13:57:10 -07:00
if_tun.h
if_tunnel.h
if_vlan.h
if_wanpipe_common.h
if_wanpipe.h
if.h [netdrvrs] Use netif_carrier_* instead of IFF_RUNNING 2005-05-12 19:45:25 -04:00
igmp.h [IPV4]: multicast API "join" issues 2005-07-08 17:38:07 -07:00
in6.h [IPV6]: remove more unused IPV6_AUTHHDR things. 2005-06-28 15:46:24 -07:00
in_route.h
in.h
inet.h
inetdevice.h [IPV4]: Primary and secondary addresses 2005-05-29 20:23:46 -07:00
init_task.h [PATCH] Update cfq io scheduler to time sliced design 2005-06-27 14:33:29 -07:00
init.h [PATCH] x86_64: Change init sections for CPU hotplug support 2005-06-25 16:24:30 -07:00
initrd.h
inotify.h [PATCH] inotify 2005-07-12 20:38:38 -07:00
input.h Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/dtor/input.git manually 2005-06-27 14:47:31 -07:00
interrupt.h
ioc4.h [PATCH] ioc4: PCI bus speed detection 2005-06-21 18:46:32 -07:00
ioctl32.h
ioctl.h
ioport.h
ioprio.h [PATCH] move ioprio syscalls into syscalls.h 2005-07-07 18:23:37 -07:00
ip6_tunnel.h
ip_mp_alg.h
ip.h [NET] Rename open_request to request_sock 2005-06-18 22:47:21 -07:00
ipc.h
ipmi_msgdefs.h
ipmi_smi.h
ipmi.h [PATCH] ipmi: add power cycle capability 2005-06-24 00:05:23 -07:00
ipsec.h
ipv6_route.h
ipv6.h [NET] Rename open_request to request_sock 2005-06-18 22:47:21 -07:00
ipx.h
irda.h
irq_cpustat.h
irq.h [PATCH] irqpoll 2005-06-28 21:20:35 -07:00
isapnp.h
isdn_divertif.h
isdn_ppp.h
isdn.h
isdnif.h
isicom.h
iso_fs.h
istallion.h
ite_gpio.h
ixjuser.h [PATCH] ixj* - compile warning cleanup 2005-05-05 16:36:48 -07:00
jbd.h
jffs2_fs_i.h
jffs2_fs_sb.h [JFFS2] Convert thread start semaphore to completion 2005-05-23 13:21:14 +02:00
jffs2.h
jffs.h
jhash.h
jiffies.h
journal-head.h
joystick.h Input: This patch implements compat_ioctl for joydev. 2005-05-29 02:26:31 -05:00
kallsyms.h
kbd_diacr.h
kbd_kern.h
kd.h
kdev_t.h
kernel_stat.h
kernel.h [PATCH] sched: voluntary kernel preemption 2005-06-25 16:24:45 -07:00
kernelcapi.h
kexec.h [PATCH] kexec code cleanup 2005-06-25 16:24:55 -07:00
key-ui.h [PATCH] Keys: Make request-key create an authorisation key 2005-06-24 00:05:19 -07:00
key.h [PATCH] Keys: Make request-key create an authorisation key 2005-06-24 00:05:19 -07:00
keyboard.h
keyctl.h [PATCH] Keys: Make request-key create an authorisation key 2005-06-24 00:05:19 -07:00
kfifo.h
klist.h [PATCH] add klist_node_attached() to determine if a node is on a list or not. 2005-06-20 15:15:17 -07:00
kmalloc_sizes.h
kmod.h [PATCH] Keys: Pass session keyring to call_usermodehelper() 2005-06-24 00:05:18 -07:00
kobj_map.h
kobject_uevent.h
kobject.h [PATCH] kset_hotplug_ops->name shoudl return const char * 2005-06-20 15:15:01 -07:00
kprobes.h [PATCH] kprobes: fix namespace problem and sparc64 build 2005-07-05 19:19:00 -07:00
kref.h
kthread.h
lapb.h
lcd.h
libata.h Automatic merge of /spare/repo/linux-2.6/.git branch HEAD 2005-06-03 23:54:56 -04:00
libps2.h Input: add ps2_drain() to libps2 to allow reading and discarding 2005-06-01 02:39:51 -05:00
limits.h
linkage.h
linux_logo.h
list.h [PATCH] RCU: clean up a few remaining synchronize_kernel() calls 2005-06-25 16:24:38 -07:00
llc.h
loop.h [PATCH] optimise loop driver a bit 2005-06-23 09:45:18 -07:00
lp.h
major.h [SCSI] add scsi changer driver 2005-05-20 12:53:50 -05:00
matroxfb.h
mbcache.h
mc6821.h
mc146818rtc.h
mca-legacy.h
mca.h
mempolicy.h
mempool.h [PATCH] NUMA aware block device control structure allocation 2005-06-23 09:45:09 -07:00
meye.h
mii.h [BNX2]: New Broadcom gigabit network driver. 2005-05-26 13:03:09 -07:00
minix_fs.h
miscdevice.h
mm_inline.h
mm.h [PATCH] sparsemem memory model 2005-06-23 09:45:04 -07:00
mman.h
mmtimer.h
mmzone.h [PATCH] sparsemem hotplug base 2005-06-23 09:45:05 -07:00
mod_devicetable.h [PATCH] openfirmware: generate device table for userspace 2005-07-06 12:55:20 -07:00
module.h [PATCH] modules: add version and srcversion to sysfs 2005-06-24 00:06:40 -07:00
moduleloader.h
moduleparam.h
mount.h [PATCH] name_to_dev_t warning fix 2005-07-12 16:00:58 -07:00
mpage.h [PATCH] revert ext3-writepages-support-for-writeback-mode 2005-05-05 16:36:44 -07:00
mqueue.h
mroute.h
msdos_fs.h
msg.h
mtio.h
mv643xx.h
n_r3964.h
namei.h
namespace.h [PATCH] namespace.c: fix race in mark_mounts_for_expiry() 2005-07-07 18:23:51 -07:00
nbd.h
ncp_fs_i.h
ncp_fs_sb.h
ncp_fs.h
ncp_mount.h
ncp_no.h
ncp.h
net.h [NET]: Kill stray reference to sock->passcred. 2005-05-23 12:45:26 -07:00
netdevice.h [NET]: Eliminate netif_rx massive packet drops. 2005-06-23 20:12:48 -07:00
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h [NETFILTER]: Kill nf_debug 2005-06-21 14:01:57 -07:00
netfilter_ipv6.h
netfilter_logging.h
netfilter.h
netlink.h [NETLINK]: Reserve NETLINK_NETFILTER. 2005-07-11 14:29:11 -07:00
netpoll.h [NETPOLL]: allow multiple netpoll_clients to register against one interface 2005-06-22 22:05:59 -07:00
netrom.h
nfs2.h
nfs3.h
nfs4_acl.h
nfs4_mount.h
nfs4.h [PATCH] nfsd4: fix fh_expire_type 2005-06-24 00:06:28 -07:00
nfs_fs_i.h [PATCH] NFSv4: Clean up nfs4 lock state accounting 2005-06-22 16:07:42 -04:00
nfs_fs_sb.h [PATCH] NFS: Add support for NFSv3 ACLs 2005-06-22 16:07:24 -04:00
nfs_fs.h [PATCH] NFS: Replace nfs_page insertion sort with a radix sort 2005-06-22 16:07:39 -04:00
nfs_idmap.h
nfs_mount.h [PATCH] NFS: Add support for NFSv3 ACLs 2005-06-22 16:07:24 -04:00
nfs_page.h [PATCH] NFS: Replace nfs_page insertion sort with a radix sort 2005-06-22 16:07:39 -04:00
nfs_xdr.h [PATCH] NFS: Add support for NFSv3 ACLs 2005-06-22 16:07:24 -04:00
nfs.h
nfsacl.h [PATCH] NFSD: Add server support for NFSv3 ACLs. 2005-06-22 16:07:23 -04:00
nfsd_idmap.h [PATCH] knfsd: nfsd4: idmap initialization 2005-06-24 00:06:32 -07:00
nls.h
nmi.h
node.h [PATCH] Driver core: unregister_node() for hotplug use 2005-06-20 15:15:29 -07:00
nodemask.h
notifier.h [BRIDGE]: features change notification 2005-05-29 14:13:47 -07:00
nubus.h
numa.h [PATCH] sparsemem memory model 2005-06-23 09:45:04 -07:00
nvram.h [PATCH] drivers/char/nvram.c: possible cleanups 2005-06-25 16:25:03 -07:00
openprom_fs.h
oprofile.h
page-flags.h [PATCH] __read_page_state(): pass unsigned long instead of unsigned 2005-06-21 18:46:17 -07:00
pagemap.h [PATCH] VM: add __GFP_NORECLAIM 2005-06-21 18:46:14 -07:00
pagevec.h
param.h
parport_pc.h
parport.h
parser.h
patchkey.h [PATCH] include/linux/soundcard.h: endianness fix 2005-05-05 16:36:31 -07:00
pci_ids.h [PATCH] amd74xx: support MCP55 device IDs 2005-07-03 17:37:18 +02:00
pci-acpi.h
pci.h [PATCH] PCI: clean up dynamic pci id logic 2005-07-01 13:35:50 -07:00
pcieport_if.h
percpu_counter.h
percpu.h
personality.h
pfkeyv2.h [IPSEC]: Add XFRM_STATE_NOPMTUDISC flag 2005-06-20 13:21:43 -07:00
pg.h
phonedev.h
pid.h
pipe_fs_i.h
pkt_cls.h [NETLINK]: Missing padding fields in dumped structures 2005-06-28 12:56:45 -07:00
pkt_sched.h [NETLINK]: Missing padding fields in dumped structures 2005-06-28 12:56:45 -07:00
pktcdvd.h [PATCH] Improve CD/DVD packet driver write performance 2005-06-23 09:45:30 -07:00
platform.h
pm.h [ACPI] merge acpi-2.6.12 branch into latest Linux 2.6.13-rc... 2005-07-12 17:21:56 -04:00
pmu.h [PATCH] ppc32: Remove CONFIG_PMAC_PBOOK 2005-06-27 15:11:43 -07:00
pnp.h
pnpbios.h
poll.h
posix_acl_xattr.h [PATCH] remove <linux/xattr_acl.h> 2005-06-23 09:45:33 -07:00
posix_acl.h
posix_types.h
posix-timers.h
ppdev.h
ppp_channel.h
ppp_defs.h
ppp-comp.h
prctl.h
preempt.h
prefetch.h
prio_tree.h
proc_fs.h [PATCH] kdump: Access dump file in elf format (/proc/vmcore) 2005-06-25 16:24:53 -07:00
profile.h
ps2esdi.h
ptrace.h
qic117.h
qnx4_fs.h [PATCH] fs/qnx4/*: fix sparse warnings 2005-06-24 14:14:24 -07:00
qnxtypes.h [PATCH] fs/qnx4/*: fix sparse warnings 2005-06-24 14:14:24 -07:00
quota.h [PATCH] quota: improve credits estimates 2005-06-24 00:05:19 -07:00
quotaio_v1.h
quotaio_v2.h
quotaops.h [PATCH] quota: consolidate code surrounding vfs_quota_on_mount 2005-06-23 09:45:20 -07:00
radeonfb.h
radix-tree.h
ramfs.h
random.h
raw.h
rbtree.h
rcupdate.h [PATCH] Deprecate synchronize_kernel, GPL replacement 2005-05-01 08:59:04 -07:00
reboot_fixups.h
reboot.h [PATCH] kdump: Use real pt_regs from exception 2005-06-25 16:24:54 -07:00
reiserfs_acl.h reiserfs: run scripts/Lindent on reiserfs code 2005-07-12 20:21:28 -07:00
reiserfs_fs_i.h reiserfs: run scripts/Lindent on reiserfs code 2005-07-12 20:21:28 -07:00
reiserfs_fs_sb.h reiserfs: run scripts/Lindent on reiserfs code 2005-07-12 20:21:28 -07:00
reiserfs_fs.h reiserfs: run scripts/Lindent on reiserfs code 2005-07-12 20:21:28 -07:00
reiserfs_xattr.h reiserfs: run scripts/Lindent on reiserfs code 2005-07-12 20:21:28 -07:00
resource.h
rmap.h [PATCH] xip: fs/mm: execute in place 2005-06-24 00:06:41 -07:00
romfs_fs.h
root_dev.h
rose.h
route.h
rslib.h
rtc.h
rtnetlink.h [NETLINK]: Missing padding fields in dumped structures 2005-06-28 12:56:45 -07:00
rwsem-spinlock.h
rwsem.h
sc26198.h
scatterlist.h
scc.h
sched.h [PATCH] inotify 2005-07-12 20:38:38 -07:00
sctp.h
scx200_gpio.h
scx200.h
sdla_asy.h
sdla_chdlc.h
sdla_fr.h
sdla_ppp.h
sdla_x25.h
sdla.h
sdladrv.h
sdlapci.h
sdlasfm.h
seccomp.h [PATCH] seccomp: tsc disable 2005-06-27 15:11:44 -07:00
securebits.h
security.h
selection.h
selinux_netlink.h
sem.h
seq_file.h
seqlock.h
serial167.h
serial_8250.h [PATCH] Serial: Split 8250 port table 2005-06-27 11:12:54 +01:00
serial_core.h [PATCH] Serial: Add uart_insert_char() 2005-05-09 23:21:59 +01:00
serial_reg.h
serial.h
serialP.h
serio.h Input: psmouse - export protocol as a sysfs per-device attribute 2005-06-01 02:40:01 -05:00
shm.h
shmem_fs.h
signal.h [PATCH] Remove obsolete HAVE_ARCH_GET_SIGNAL_TO_DELIVER? 2005-06-12 20:43:21 -07:00
skbuff.h [NET]: Fix sparse warnings 2005-07-08 14:57:47 -07:00
slab.h [PATCH] propagate __nocast annotations 2005-07-07 18:23:46 -07:00
smb_fs_i.h
smb_fs_sb.h
smb_fs.h
smb_mount.h
smb.h
smbno.h
smp_lock.h
smp.h [PATCH] smp_processor_id() cleanup 2005-06-21 18:46:13 -07:00
snmp.h
socket.h
sockios.h [PATCH] update Ross Biro bouncing email address 2005-05-05 16:36:49 -07:00
som.h
sonet.h
sonypi.h
sort.h
sound.h
soundcard.h [PATCH] include/linux/soundcard.h: endianness fix 2005-05-05 16:36:31 -07:00
spinlock.h [PATCH] spin_unlock_bh() and preempt_check_resched() 2005-05-21 10:46:48 -07:00
stallion.h
stat.h
statfs.h
stddef.h
stop_machine.h
string.h [PATCH] propagate __nocast annotations 2005-07-07 18:23:46 -07:00
stringify.h
superhyway.h
suspend.h [PATCH] suspend/resume SMP support 2005-06-25 16:24:32 -07:00
swap.h [PATCH] tlb.h warning fix 2005-07-12 16:01:02 -07:00
swapops.h
synclink.h
sys.h
syscalls.h [PATCH] move ioprio syscalls into syscalls.h 2005-07-07 18:23:37 -07:00
sysctl.h [PATCH] inotify: move sysctl 2005-07-13 11:09:31 -07:00
sysdev.h
sysfs.h [PATCH] sysfs-iattr: add sysfs_setattr 2005-06-20 15:15:37 -07:00
sysrq.h
sysv_fs.h
tcp_diag.h [TCP]: Report congestion control algorithm in tcp_diag. 2005-06-23 12:21:28 -07:00
tcp.h [TCP]: Move to new TSO segmenting scheme. 2005-07-05 15:24:38 -07:00
telephony.h
termios.h
textsearch_fsm.h [LIB]: Naive finite state machine based textsearch 2005-06-23 20:59:16 -07:00
textsearch.h [LIB]: Textsearch infrastructure. 2005-06-23 20:49:30 -07:00
thread_info.h
threads.h
ticable.h
time.h
timer.h [PATCH] timers: introduce try_to_del_timer_sync() 2005-06-23 09:45:16 -07:00
times.h
timex.h
tiocl.h
topology.h [PATCH] sched: sched tuning 2005-06-25 16:24:42 -07:00
toshiba.h
transport_class.h
trdevice.h [PATCH] update Ross Biro bouncing email address 2005-05-05 16:36:49 -07:00
tty_driver.h
tty_flip.h
tty_ldisc.h
tty.h [PATCH] Introduce tty_unregister_ldisc() 2005-06-23 09:45:35 -07:00
types.h
udf_fs_i.h
udf_fs_sb.h
udf_fs.h
udp.h
ufs_fs_i.h
ufs_fs_sb.h
ufs_fs.h
uinput.h
uio.h
ultrasound.h
umem.h
un.h
unistd.h
usb_cdc.h [PATCH] USB: another cdc descriptor 2005-07-12 11:52:57 -07:00
usb_ch9.h [PATCH] headers: include linux/types.h for usb_ch9.h 2005-06-28 21:20:32 -07:00
usb_gadget.h [PATCH] USB: Fix kmalloc's flags type in USB 2005-07-12 11:52:56 -07:00
usb_gadgetfs.h
usb_isp116x.h [PATCH] USB: Add isp116x-hcd USB host controller driver 2005-06-27 14:43:42 -07:00
usb_otg.h
usb_sl811.h
usb.h [PATCH] USB: Fix kmalloc's flags type in USB 2005-07-12 11:52:56 -07:00
usbdevice_fs.h
user.h
utime.h
uts.h
utsname.h
vermagic.h
vfs.h
via.h
video_decoder.h
video_encoder.h
videodev2.h [PATCH] V4L: API new webcam formats included 2005-06-28 21:20:36 -07:00
videodev.h
videotext.h
vmalloc.h [PATCH] x86_64: Fixed guard page handling again in iounmap 2005-05-20 15:48:20 -07:00
vt_buffer.h
vt_kern.h
vt.h
wait.h [PATCH] aio: make wait_queue ->task ->private 2005-06-23 09:45:34 -07:00
wanpipe.h
wanrouter.h [NET]: __be'ify *_type_trans() 2005-07-12 12:08:43 -07:00
watchdog.h
wavefront.h
wireless.h [PATCH] Wireless Extensions 18 (aka WPA) 2005-05-12 20:24:19 -04:00
workqueue.h
writeback.h [PATCH] rename wakeup_bdflush to wakeup_pdflush 2005-06-28 21:20:31 -07:00
x25.h [X25]: Fast select with no restriction on response 2005-06-22 22:16:17 -07:00
xattr.h
xfrm.h [IPSEC]: Add XFRM_STATE_NOPMTUDISC flag 2005-06-20 13:21:43 -07:00
yam.h
zconf.h
zftape.h
zlib.h
zorro_ids.h
zorro.h
zutil.h